<?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>215981</bug_id>
          
          <creation_ts>2020-08-29 17:12:20 -0700</creation_ts>
          <short_desc>Many settings in RuntimeEnabledSettings should autogenerated Settings: Part 1</short_desc>
          <delta_ts>2020-09-04 09:31:50 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>215992</dependson>
          <blocked>216182</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hta</cc>
    
    <cc>japhet</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mifenton</cc>
    
    <cc>pdr</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1683960</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-08-29 17:12:20 -0700</bug_when>
    <thetext>Many settings in RuntimeEnabledSettings should autogenerated Settings: Part 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1683963</commentid>
    <comment_count>1</comment_count>
      <attachid>407555</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-08-29 17:23:39 -0700</bug_when>
    <thetext>Created attachment 407555
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1683965</commentid>
    <comment_count>2</comment_count>
      <attachid>407556</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-08-29 17:38:14 -0700</bug_when>
    <thetext>Created attachment 407556
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1683966</commentid>
    <comment_count>3</comment_count>
      <attachid>407557</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-08-29 17:39:49 -0700</bug_when>
    <thetext>Created attachment 407557
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1683968</commentid>
    <comment_count>4</comment_count>
      <attachid>407559</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-08-29 18:08:15 -0700</bug_when>
    <thetext>Created attachment 407559
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1684050</commentid>
    <comment_count>5</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-08-30 16:18:24 -0700</bug_when>
    <thetext>One of the test failures is due to EnableBySettings extended attributes on a partial interface not merging with EnabledBySettings extended attributes on the members of that partial interface. File https://bugs.webkit.org/show_bug.cgi?id=215992 to fix that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1684073</commentid>
    <comment_count>6</comment_count>
      <attachid>407585</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-08-30 19:19:52 -0700</bug_when>
    <thetext>Created attachment 407585
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1684150</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-08-31 09:38:32 -0700</bug_when>
    <thetext>Tools/Scripts/svn-apply failed to apply attachment 407585 to trunk.
Please resolve the conflicts and upload a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1684171</commentid>
    <comment_count>8</comment_count>
      <attachid>407610</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-08-31 10:36:03 -0700</bug_when>
    <thetext>Created attachment 407610
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1684184</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-08-31 11:16:37 -0700</bug_when>
    <thetext>Committed r266360: &lt;https://trac.webkit.org/changeset/266360&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 407610.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1684185</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-08-31 11:17:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/68087637&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407555</attachid>
            <date>2020-08-29 17:23:39 -0700</date>
            <delta_ts>2020-08-29 17:38:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215981-20200829172339.patch</filename>
            <type>text/plain</type>
            <size>167798</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2NjMyNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzMCBAQAorMjAyMC0wOC0yOSAgU2FtIFdl
aW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgTWFueSBzZXR0aW5ncyBpbiBSdW50
aW1lRW5hYmxlZFNldHRpbmdzIHNob3VsZCBhdXRvZ2VuZXJhdGVkIFNldHRpbmdzOiBQYXJ0IDEK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTk4MQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgbW92
ZXMgYW4gaW5pdGlhbCBjaHVuayBvZiBSdW50aW1lRW5hYmxlZFNldHRpbmdzIHNldHRpbmdzIHRv
IFNldHRpbmdzLnlhbWwsIGZvY3VzaW5nCisgICAgICAgIG9uIHNldHRpbmdzIHRoYXQgZG9uJ3Qg
cmVxdWlyZSBzdWJzdGFudGlhbCByZWZhY3RvcmluZyBvciBuZXcgZmVhdHVyZXMgdG8gd29yayBp
biBTZXR0aW5ncy55YW1sLgorICAgICAgICAKKyAgICAgICAgVGhlIG9uZSAic3Vic3RhbnRpYWwi
IGNoYW5nZSB0byBTZXR0aW5ncyBnZW5lcmF0aW9uIHdhcyB0byBzd2l0Y2ggdGhlIGNvbmRpdGlv
bmFsIGtleSwgdG8gcmVxdWlyZQorICAgICAgICB0aGUgY29tcGxldGUgY29uZGl0aW9uYWwgZm9y
bSAoZS5nLiByZXF1aXJlIEVOQUJMRShGT08pIHJhdGhlciB0aGFuIEZPTyksIHdoaWNoIG1hdGNo
ZXMgCisgICAgICAgIFdlYlByZWZlcmVuY2VzLnlhbWwgaW4gV2ViS2l0LCBhbmQgaXMgbW9yZSB2
ZXJzaXRpbGUgYWxsb3dpbmcgbm9uLUVOQUJMRSBiYXNlZCBjb25kaXRpb25hbHMuIAorCisgICAg
ICAgICogTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9CYXNpY0NyZWRlbnRpYWwuaWRsOgor
ICAgICAgICAqIE1vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbHNDb250YWlu
ZXIuaWRsOgorICAgICAgICAqIE1vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvTmF2aWdhdG9y
Q3JlZGVudGlhbHMuaWRsOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFL
ZXlNZXNzYWdlRXZlbnQuaWRsOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVk
aWFLZXlTZXNzaW9uLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlh
S2V5U3RhdHVzTWFwLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlh
S2V5U3lzdGVtQWNjZXNzLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5cy5pZGw6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JF
TUUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1l
ZGlhS2V5TWVzc2FnZUV2ZW50LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlh
L2xlZ2FjeS9XZWJLaXRNZWRpYUtleU5lZWRlZEV2ZW50LmlkbDoKKyAgICAgICAgKiBNb2R1bGVz
L2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5cy5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWQuaWRsOgorICAgICAgICAqIE1vZHVsZXMv
Z2FtZXBhZC9HYW1lcGFkQnV0dG9uLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2dhbWVwYWQvR2Ft
ZXBhZEV2ZW50LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2dhbWVwYWQvTmF2aWdhdG9yR2FtZXBh
ZC5pZGw6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXJlY29yZGVyL0Jsb2JFdmVudC5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIuaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyRXJyb3JFdmVudC5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaWRsOgorICAgICAgICAq
IE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVN0cmVhbVRyYWNrOjp1cGRhdGVDYXB0dXJlQWNjb3JkaW5nVG9NdXRlZFN0YXRl
KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvck1lZGlhRGV2aWNlcy5p
ZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVz
cG9uc2UuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckF0dGVz
dGF0aW9uUmVzcG9uc2UuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGlj
YXRvclJlc3BvbnNlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNy
ZWRlbnRpYWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UHVibGljS2V5Q3JlZGVudGlhbDo6aXNV
c2VyVmVyaWZ5aW5nUGxhdGZvcm1BdXRoZW50aWNhdG9yQXZhaWxhYmxlKToKKyAgICAgICAgKiBN
b2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuaWRsOgorICAgICAgICAqIFNjcmlw
dHMvU2V0dGluZ3NUZW1wbGF0ZXMvSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5jcHAuZXJiOgor
ICAgICAgICAqIFNjcmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXMvSW50ZXJuYWxTZXR0aW5nc0dlbmVy
YXRlZC5oLmVyYjoKKyAgICAgICAgKiBTY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL1NldHRpbmdz
LmNwcC5lcmI6CisgICAgICAgICogU2NyaXB0cy9TZXR0aW5nc1RlbXBsYXRlcy9TZXR0aW5ncy5o
LmVyYjoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogY3NzL0RPTUNTU0N1c3RvbVByb3BlcnR5RGVzY3JpcHRvci5pZGw6CisgICAgICAgICog
Y3NzL0RPTUNTU1JlZ2lzdGVyQ3VzdG9tUHJvcGVydHkuaWRsOgorICAgICAgICAqIGRvbS9CZWZv
cmVMb2FkRXZlbnQuaWRsOgorICAgICAgICAqIGRvbS9DdXN0b21FbGVtZW50UmVnaXN0cnkuaWRs
OgorICAgICAgICAqIGRvbS9EYXRhVHJhbnNmZXIuaWRsOgorICAgICAgICAqIGRvbS9EYXRhVHJh
bnNmZXJJdGVtLmlkbDoKKyAgICAgICAgKiBkb20vRGF0YVRyYW5zZmVySXRlbUxpc3QuaWRsOgor
ICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVVcGdy
YWRlQ2FuZGlkYXRlRWxlbWVudCk6CisgICAgICAgICogZG9tL0RvY3VtZW50LmlkbDoKKyAgICAg
ICAgKiBkb20vRWxlbWVudC5pZGw6CisgICAgICAgICogZG9tL0lucHV0RXZlbnQuaWRsOgorICAg
ICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OmRpc3BhdGNoQmVm
b3JlTG9hZEV2ZW50KToKKyAgICAgICAgKiBkb20vU3RhdGljUmFuZ2UuaWRsOgorICAgICAgICAq
IGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cmVnaXN0ZXJD
dXN0b21VbmRvU3RlcCk6CisgICAgICAgICogaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MQW5jaG9yRWxlbWVudDo6aXNTeXN0ZW1QcmV2aWV3TGluayk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MQW5jaG9yRWxlbWVudDo6cGFyc2VBZENsaWNrQXR0cmli
dXRpb24gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEFuY2hvckVsZW1lbnQ6OmhhbmRs
ZUNsaWNrKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxBbmNob3JFbGVtZW50OjpyZWZlcnJlclBv
bGljeSBjb25zdCk6CisgICAgICAgICogaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5pZGw6CisgICAg
ICAgICogaHRtbC9IVE1MQXJlYUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEJ1dHRv
bkVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEZpZWxkU2V0RWxlbWVudC5pZGw6Cisg
ICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTElG
cmFtZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElGcmFtZUVsZW1lbnQ6OnJl
ZmVycmVyUG9saWN5IGNvbnN0KToKKyAgICAgICAgKiBodG1sL0hUTUxJRnJhbWVFbGVtZW50Lmlk
bDoKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEltYWdlRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MSW1hZ2VFbGVtZW50Ojppc1N5c3RlbVByZXZpZXdJbWFnZSBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpyZWZlcnJlclBvbGljeSBjb25zdCk6CisgICAg
ICAgICogaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1
dEVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEtleWdlbkVsZW1lbnQuaWRsOgorICAg
ICAgICAqIGh0bWwvSFRNTExpbmtFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxM
aW5rRWxlbWVudDo6YXMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTExpbmtFbGVtZW50
OjpyZWZlcnJlclBvbGljeSBjb25zdCk6CisgICAgICAgICogaHRtbC9IVE1MTGlua0VsZW1lbnQu
aWRsOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp1cGRhdGVTaG91bGRDb250aW51ZUFmdGVyTmVlZEtleSk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllcktleU5lZWRl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp3ZWJraXRTZXRNZWRpYUtl
eXMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6a2V5QWRkZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJJbml0aWFsaXphdGlv
bkRhdGFFbmNvdW50ZXJlZCk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbDoK
KyAgICAgICAgKiBodG1sL0hUTUxNZXRhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MTWV0YUVsZW1lbnQ6OnByb2Nlc3MpOgorICAgICAgICAqIGh0bWwvSFRNTE9iamVjdEVsZW1l
bnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTE91dHB1dEVsZW1lbnQuaWRsOgorICAgICAgICAq
IGh0bWwvSFRNTFBpY3R1cmVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQaWN0
dXJlRWxlbWVudDo6aXNTeXN0ZW1QcmV2aWV3SW1hZ2UpOgorICAgICAgICAqIGh0bWwvSFRNTFNj
cmlwdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNjcmlwdEVsZW1lbnQ6OnJl
ZmVycmVyUG9saWN5IGNvbnN0KToKKyAgICAgICAgKiBodG1sL0hUTUxTY3JpcHRFbGVtZW50Lmlk
bDoKKyAgICAgICAgKiBodG1sL0hUTUxTZWxlY3RFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1s
L0hUTUxUZXh0QXJlYUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvTGlua1JlbEF0dHJpYnV0
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMaW5rUmVsQXR0cmlidXRlOjpMaW5rUmVsQXR0cmli
dXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkxpbmtSZWxBdHRyaWJ1dGU6OmlzU3VwcG9ydGVkKToK
KyAgICAgICAgKiBodG1sL01lZGlhRW5jcnlwdGVkRXZlbnQuaWRsOgorICAgICAgICAqIGh0bWwv
V2ViS2l0TWVkaWFLZXlFcnJvci5pZGw6CisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFByZWxv
YWRTY2FubmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRva2VuUHJlbG9hZFNjYW5uZXI6OlN0
YXJ0VGFnU2Nhbm5lcjo6U3RhcnRUYWdTY2FubmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRva2Vu
UHJlbG9hZFNjYW5uZXI6OlN0YXJ0VGFnU2Nhbm5lcjo6cHJvY2Vzc0F0dHJpYnV0ZXMpOgorICAg
ICAgICAoV2ViQ29yZTo6VG9rZW5QcmVsb2FkU2Nhbm5lcjo6U3RhcnRUYWdTY2FubmVyOjpjcmVh
dGVQcmVsb2FkUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpUb2tlblByZWxvYWRTY2FubmVy
OjpTdGFydFRhZ1NjYW5uZXI6OnByb2Nlc3NBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6
VG9rZW5QcmVsb2FkU2Nhbm5lcjo6U3RhcnRUYWdTY2FubmVyOjpyZXNvdXJjZVR5cGUgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6VG9rZW5QcmVsb2FkU2Nhbm5lcjo6c2Nhbik6CisgICAgICAg
ICogbG9hZGVyL0ltYWdlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlTG9hZGVy
Ojp1cGRhdGVGcm9tRWxlbWVudCk6CisgICAgICAgICogbG9hZGVyL0xpbmtMb2FkZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TGlua0xvYWRlcjo6cmVzb3VyY2VUeXBlRnJvbUFzQXR0cmlidXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUxpbmtQcmVsb2FkUmVzb3VyY2VDbGllbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6TGlua0xvYWRlcjo6aXNTdXBwb3J0ZWRUeXBlKToKKyAgICAgICAg
KFdlYkNvcmU6OkxpbmtMb2FkZXI6OnByZWxvYWRJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpMaW5rTG9hZGVyOjpwcmVmZXRjaElmTmVlZGVkKToKKyAgICAgICAgKiBsb2FkZXIvTGlua0xv
YWRlci5oOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKKyAgICAgICAgKiBwYWdlL0lu
dGVyc2VjdGlvbk9ic2VydmVyLmlkbDoKKyAgICAgICAgKiBwYWdlL0ludGVyc2VjdGlvbk9ic2Vy
dmVyRW50cnkuaWRsOgorICAgICAgICAqIHBhZ2UvTmF2aWdhdG9yLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok5hdmlnYXRvcjo6Y2FuU2hhcmUpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9y
OjpzaGFyZSk6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3IuaDoKKyAgICAgICAgKiBwYWdlL05h
dmlnYXRvclNoYXJlLmlkbDoKKyAgICAgICAgKiBwYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6UnVudGltZUVu
YWJsZWRGZWF0dXJlcyk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVz
Ojp0b3VjaEV2ZW50c0VuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2UvUnVu
dGltZUVuYWJsZWRGZWF0dXJlcy5oOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2V0TW91c2VFdmVudHNTaW11bGF0aW9uRW5hYmxlZCk6CisgICAgICAgIChXZWJD
b3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRCbGFua0FuY2hvclRhcmdldEltcGxpZXNO
b09wZW5lckVuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6YmxhbmtBbmNob3JUYXJnZXRJbXBsaWVzTm9PcGVuZXJFbmFibGVkIGNvbnN0
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNl
dExpbmtQcmVsb2FkRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpsaW5rUHJlbG9hZEVuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0TGlua1ByZWZldGNoRW5h
YmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpsaW5rUHJlZmV0Y2hFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldE1lZGlhUHJlbG9hZGluZ0VuYWJsZWQpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6bWVkaWFQcmVs
b2FkaW5nRW5hYmxlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzZXRJbnB1dEV2ZW50c0VuYWJsZWQpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6aW5wdXRFdmVudHNFbmFibGVkIGNv
bnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNldEludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmludGVyYWN0aXZlRm9ybVZhbGlkYXRp
b25FbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnNldEN1c3RvbUVsZW1lbnRzRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpjdXN0b21FbGVtZW50c0VuYWJsZWQg
Y29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2V0RGF0YVRyYW5zZmVySXRlbXNFbmFibGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmRhdGFUcmFuc2Zlckl0ZW1zRW5hYmxlZCBjb25z
dCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpz
ZXRXZWJTaGFyZUVuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVu
YWJsZWRGZWF0dXJlczo6d2ViU2hhcmVFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldFdlYkF1dGhlbnRpY2F0aW9uRW5h
YmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVz
Ojp3ZWJBdXRoZW50aWNhdGlvbkVuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0V2ViQXV0aGVudGljYXRpb25Mb2NhbEF1
dGhlbnRpY2F0b3JFbmFibGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OndlYkF1dGhlbnRpY2F0aW9uTG9jYWxBdXRoZW50aWNhdG9yRW5hYmxl
ZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzZXREaXNhYmxlZEFkYXB0YXRpb25zTWV0YVRhZ0VuYWJsZWQpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6ZGlzYWJsZWRBZGFwdGF0aW9u
c01ldGFUYWdFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM6OnNldENTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVk
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmNz
c0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldFN5bnRoZXRpY0VkaXRpbmdD
b21tYW5kc0VuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c3ludGhldGljRWRpdGluZ0NvbW1hbmRzRW5hYmxlZCBjb25zdCk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjptZWRpYVJlY29y
ZGVyRW5hYmxlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzZXRNZWRpYVJlY29yZGVyRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjptZWRpYURldmljZXNFbmFibGVkIGNv
bnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNldE1lZGlhRGV2aWNlc0VuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6bWVkaWFTdHJlYW1FbmFibGVkIGNvbnN0KTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldE1lZGlhU3RyZWFt
RW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzY3JlZW5DYXB0dXJlRW5hYmxlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRTY3JlZW5DYXB0dXJlRW5hYmxlZCk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRHYW1l
cGFkc0VuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6Z2FtZXBhZHNFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldERvd25sb2FkQXR0cmlidXRlRW5hYmxlZCk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpkb3du
bG9hZEF0dHJpYnV0ZUVuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmludGVy
c2VjdGlvbk9ic2VydmVyRW5hYmxlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRVbmRvTWFuYWdlckFQSUVuYWJsZWQpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6dW5kb01hbmFn
ZXJBUElFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNldEVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjplbmNyeXB0ZWRNZWRpYUFQ
SUVuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2V0TGVnYWN5RW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmxlZ2FjeUVuY3J5cHRl
ZE1lZGlhQVBJRW5hYmxlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRTeXN0ZW1QcmV2aWV3RW5hYmxlZCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzeXN0ZW1QcmV2aWV3RW5h
YmxlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzZXRMZWdhY3lCZWZvcmVMb2FkRXZlbnRFbmFibGVkKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmxlZ2FjeUJlZm9yZUxvYWRFdmVu
dEVuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6YWRDbGlja0F0dHJpYnV0aW9uRW5hYmxlZCBjb25zdCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRBZENsaWNrQXR0cmli
dXRpb25FbmFibGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNldFRvdWNoRXZlbnRzRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpyZWZlcnJlclBvbGljeUF0dHJpYnV0ZUVuYWJs
ZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2V0UmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGVFbmFibGVkKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmludGVycnVwdEF1ZGlvT25QYWdl
VmlzaWJpbGl0eUNoYW5nZUVuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0SW50ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmls
aXR5Q2hhbmdlRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpsaW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVkIGNvbnN0KTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldExp
bmtQcmVsb2FkUmVzcG9uc2l2ZUltYWdlc0VuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0TGF6eUltYWdlTG9hZGluZ0VuYWJsZWQp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6bGF6
eUltYWdlTG9hZGluZ0VuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0SXNJbkFwcEJyb3dzZXJQcml2YWN5RW5hYmxlZCk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc0lu
QXBwQnJvd3NlclByaXZhY3lFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldE5lZWRzSW5BcHBCcm93c2VyUHJpdmFjeVF1
aXJrcyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpuZWVkc0luQXBwQnJvd3NlclByaXZhY3lRdWlya3MgY29uc3QpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0V2ViU2hhcmVGaWxlQVBJRW5h
YmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVz
Ojp3ZWJTaGFyZUZpbGVBUElFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdl
L1NldHRpbmdzLnlhbWw6CisgICAgICAgICogcGFnZS9VbmRvSXRlbS5pZGw6CisgICAgICAgICog
cGFnZS9VbmRvTWFuYWdlci5pZGw6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckltYWdlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjpwYWludEludG9SZWN0KToKKyAgICAg
ICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50
ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpCYWNrdXApOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJu
YWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3JlVG8pOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJu
YWxTZXR0aW5nczo6c2V0U2NyZWVuQ2FwdHVyZUVuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAq
IHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxT
ZXR0aW5ncy5pZGw6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SW50ZXJuYWxzOjpyZXNldFRvQ29uc2lzdGVudFN0YXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OkludGVybmFsczo6c2V0U2hvdWxkSW50ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5
Q2hhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6YWRkUHJlZmV0Y2hMb2FkRXZl
bnRMaXN0ZW5lcik6CisKIDIwMjAtMDgtMjggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KIAogICAgICAgICBVcGRhdGUgUGFubmVyTm9kZSB0byBzdXBwb3J0IGstcmF0ZSBhdXRvbWF0
aW9uIG9mIGl0cyBBdWRpb1BhcmFtcwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVk
ZW50aWFsbWFuYWdlbWVudC9CYXNpY0NyZWRlbnRpYWwuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQmFzaWNDcmVkZW50aWFsLmlk
bAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50aWFs
bWFuYWdlbWVudC9CYXNpY0NyZWRlbnRpYWwuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsy
Nyw3IEBACiAgICAgSW50ZXJmYWNlTmFtZT1DcmVkZW50aWFsLAogICAgIENvbmRpdGlvbmFsPVdF
Ql9BVVRITiwKICAgICBDdXN0b21Ub0pTT2JqZWN0LAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2Vi
QXV0aGVudGljYXRpb24sCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJBdXRoZW50aWNhdGlvbiwK
ICAgICBFeHBvc2VkPVdpbmRvdywKICAgICBTZWN1cmVDb250ZXh0CiBdIGludGVyZmFjZSBCYXNp
Y0NyZWRlbnRpYWwgewpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50aWFsbWFu
YWdlbWVudC9DcmVkZW50aWFsc0NvbnRhaW5lci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVkZW50aWFsc0NvbnRhaW5lci5p
ZGwJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvY3JlZGVudGlh
bG1hbmFnZW1lbnQvQ3JlZGVudGlhbHNDb250YWluZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0y
Niw3ICsyNiw3IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1XRUJfQVVUSE4sCi0gICAgRW5hYmxl
ZEF0UnVudGltZT1XZWJBdXRoZW50aWNhdGlvbiwKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkF1
dGhlbnRpY2F0aW9uLAogICAgIEV4cG9zZWQ9V2luZG93LAogICAgIEltcGxlbWVudGF0aW9uTGFj
a3NWVGFibGUsCiAgICAgU2VjdXJlQ29udGV4dCwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvTmF2aWdhdG9yQ3JlZGVudGlhbHMuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvTmF2aWdh
dG9yQ3JlZGVudGlhbHMuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50L05hdmlnYXRvckNyZWRlbnRpYWxzLmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9V0VCX0FV
VEhOLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViQXV0aGVudGljYXRpb24sCisgICAgRW5hYmxl
ZEJ5U2V0dGluZz1XZWJBdXRoZW50aWNhdGlvbiwKIF0gcGFydGlhbCBpbnRlcmZhY2UgTmF2aWdh
dG9yIHsKICAgICBbU2VjdXJlQ29udGV4dCwgU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRl
IENyZWRlbnRpYWxzQ29udGFpbmVyIGNyZWRlbnRpYWxzOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlNZXNzYWdlRXZlbnQuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlN
ZXNzYWdlRXZlbnQuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50LmlkbAkod29ya2luZyBjb3B5
KQpAQCAtNDAsNyArNDAsNyBAQCBkaWN0aW9uYXJ5IE1lZGlhS2V5TWVzc2FnZUV2ZW50SW5pdCA6
IEV2CiAKIFsKICAgICBDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEsCi0gICAgRW5hYmxlZEF0
UnVudGltZT1FbmNyeXB0ZWRNZWRpYUFQSSwKKyAgICBFbmFibGVkQnlTZXR0aW5nPUVuY3J5cHRl
ZE1lZGlhQVBJLAogICAgIERpc2FibGVkQnlRdWlyaz1oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQ
SVN1cHBvcnQsCiBdIGludGVyZmFjZSBNZWRpYUtleU1lc3NhZ2VFdmVudCA6IEV2ZW50IHsKICAg
ICBjb25zdHJ1Y3RvcihET01TdHJpbmcgdHlwZSwgTWVkaWFLZXlNZXNzYWdlRXZlbnRJbml0IGV2
ZW50SW5pdERpY3QpOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleVNlc3Npb24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmlkbAkocmV2aXNpb24gMjY2MzEyKQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24u
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBACiBbCiAgICAgQWN0aXZlRE9NT2Jq
ZWN0LAogICAgIENvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwKLSAgICBFbmFibGVkQXRSdW50
aW1lPUVuY3J5cHRlZE1lZGlhQVBJLAorICAgIEVuYWJsZWRCeVNldHRpbmc9RW5jcnlwdGVkTWVk
aWFBUEksCiAgICAgRXhwb3J0VG9XcmFwcGVkRnVuY3Rpb24sCiAgICAgRGlzYWJsZWRCeVF1aXJr
PWhhc0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydCwKIF0gaW50ZXJmYWNlIE1lZGlhS2V5
U2Vzc2lvbiA6IEV2ZW50VGFyZ2V0IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5j
cnlwdGVkbWVkaWEvTWVkaWFLZXlTdGF0dXNNYXAuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTdGF0dXNNYXAuaWRsCShyZXZp
c2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5U3RhdHVzTWFwLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgsNyBAQCBlbnVt
IE1lZGlhS2V5U3RhdHVzIHsKIAogWwogICAgIENvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwK
LSAgICBFbmFibGVkQXRSdW50aW1lPUVuY3J5cHRlZE1lZGlhQVBJLAorICAgIEVuYWJsZWRCeVNl
dHRpbmc9RW5jcnlwdGVkTWVkaWFBUEksCiAgICAgRGlzYWJsZWRCeVF1aXJrPWhhc0Jyb2tlbkVu
Y3J5cHRlZE1lZGlhQVBJU3VwcG9ydCwKIF0gaW50ZXJmYWNlIE1lZGlhS2V5U3RhdHVzTWFwIHsK
ICAgICBpdGVyYWJsZTxCdWZmZXJTb3VyY2UsIE1lZGlhS2V5U3RhdHVzPjsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVk
aWFLZXlTeXN0ZW1BY2Nlc3MuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMjgsNyArMjgsNyBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9RU5DUllQVEVE
X01FRElBLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9RW5jcnlwdGVkTWVkaWFBUEksCisgICAgRW5h
YmxlZEJ5U2V0dGluZz1FbmNyeXB0ZWRNZWRpYUFQSSwKICAgICBEaXNhYmxlZEJ5UXVpcms9aGFz
QnJva2VuRW5jcnlwdGVkTWVkaWFBUElTdXBwb3J0LAogICAgIEltcGxlbWVudGF0aW9uTGFja3NW
VGFibGUsCiBdIGludGVyZmFjZSBNZWRpYUtleVN5c3RlbUFjY2VzcyB7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuaWRsCShy
ZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlh
L01lZGlhS2V5cy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAKIAogWwogICAg
IENvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwKLSAgICBFbmFibGVkQXRSdW50aW1lPUVuY3J5
cHRlZE1lZGlhQVBJLAorICAgIEVuYWJsZWRCeVNldHRpbmc9RW5jcnlwdGVkTWVkaWFBUEksCiAg
ICAgRXhwb3J0VG9XcmFwcGVkRnVuY3Rpb24sCiAgICAgRGlzYWJsZWRCeVF1aXJrPWhhc0Jyb2tl
bkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydCwKIF0gaW50ZXJmYWNlIE1lZGlhS2V5cyB7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL05hdmlnYXRvckVNRS5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZp
Z2F0b3JFTUUuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2VuY3J5cHRlZG1lZGlhL05hdmlnYXRvckVNRS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcg
KzI4LDcgQEAKIAogWwogICAgIENvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwKLSAgICBFbmFi
bGVkQXRSdW50aW1lPUVuY3J5cHRlZE1lZGlhQVBJLAorICAgIEVuYWJsZWRCeVNldHRpbmc9RW5j
cnlwdGVkTWVkaWFBUEksCiAgICAgRGlzYWJsZWRCeVF1aXJrPWhhc0Jyb2tlbkVuY3J5cHRlZE1l
ZGlhQVBJU3VwcG9ydCwKIF0gcGFydGlhbCBpbnRlcmZhY2UgTmF2aWdhdG9yIHsKICAgICBbQ2Fs
bFdpdGg9RG9jdW1lbnRdIFByb21pc2U8TWVkaWFLZXlTeXN0ZW1BY2Nlc3M+IHJlcXVlc3RNZWRp
YUtleVN5c3RlbUFjY2VzcyhET01TdHJpbmcga2V5U3lzdGVtLCBzZXF1ZW5jZTxNZWRpYUtleVN5
c3RlbUNvbmZpZ3VyYXRpb24+IHN1cHBvcnRlZENvbmZpZ3VyYXRpb24pOwpJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlNZXNz
YWdlRXZlbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlw
dGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5TWVzc2FnZUV2ZW50LmlkbAkocmV2aXNpb24g
MjY2MzEyKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kv
V2ViS2l0TWVkaWFLZXlNZXNzYWdlRXZlbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsy
NSw3IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1MRUdBQ1lfRU5DUllQVEVEX01FRElBLAotICAg
IEVuYWJsZWRBdFJ1bnRpbWU9TGVnYWN5RW5jcnlwdGVkTWVkaWFBUEksCisgICAgRW5hYmxlZEJ5
U2V0dGluZz1MZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSSwKIF0gaW50ZXJmYWNlIFdlYktpdE1lZGlh
S2V5TWVzc2FnZUV2ZW50IDogRXZlbnQgewogICAgIGNvbnN0cnVjdG9yKERPTVN0cmluZyB0eXBl
LCBvcHRpb25hbCBXZWJLaXRNZWRpYUtleU1lc3NhZ2VFdmVudEluaXQgZXZlbnRJbml0RGljdCk7
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dl
YktpdE1lZGlhS2V5TmVlZGVkRXZlbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5TmVlZGVkRXZlbnQu
aWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleU5lZWRlZEV2ZW50LmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMjUsNyArMjUsNyBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9TEVHQUNZX0VOQ1JZUFRF
RF9NRURJQSwKLSAgICBFbmFibGVkQXRSdW50aW1lPUxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJLAor
ICAgIEVuYWJsZWRCeVNldHRpbmc9TGVnYWN5RW5jcnlwdGVkTWVkaWFBUEksCiBdIGludGVyZmFj
ZSBXZWJLaXRNZWRpYUtleU5lZWRlZEV2ZW50IDogRXZlbnQgewogICAgIGNvbnN0cnVjdG9yKERP
TVN0cmluZyB0eXBlLCBvcHRpb25hbCBXZWJLaXRNZWRpYUtleU5lZWRlZEV2ZW50SW5pdCBldmVu
dEluaXREaWN0KTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlTZXNzaW9uLmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Np
b24uaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC0yNiw3ICsyNiw3IEBACiBbCiAgICAgQWN0aXZlRE9NT2JqZWN0LAogICAgIENvbmRpdGlv
bmFsPUxFR0FDWV9FTkNSWVBURURfTUVESUEsCi0gICAgRW5hYmxlZEF0UnVudGltZT1MZWdhY3lF
bmNyeXB0ZWRNZWRpYUFQSSwKKyAgICBFbmFibGVkQnlTZXR0aW5nPUxlZ2FjeUVuY3J5cHRlZE1l
ZGlhQVBJLAogXSBpbnRlcmZhY2UgV2ViS2l0TWVkaWFLZXlTZXNzaW9uIDogRXZlbnRUYXJnZXQg
ewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBXZWJLaXRNZWRpYUtleUVycm9yIGVycm9yOwogCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRN
ZWRpYUtleXMuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlw
dGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5cy5pZGwJKHJldmlzaW9uIDI2NjMxMikKKysr
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlh
S2V5cy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDcgQEAKICAKIFsKICAgICBDb25k
aXRpb25hbD1MRUdBQ1lfRU5DUllQVEVEX01FRElBLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9TGVn
YWN5RW5jcnlwdGVkTWVkaWFBUEksCisgICAgRW5hYmxlZEJ5U2V0dGluZz1MZWdhY3lFbmNyeXB0
ZWRNZWRpYUFQSSwKIF0gaW50ZXJmYWNlIFdlYktpdE1lZGlhS2V5cyB7CiAgICAgW01heVRocm93
RXhjZXB0aW9uXSBjb25zdHJ1Y3RvcihET01TdHJpbmcga2V5U3lzdGVtKTsKIApJbmRleDogU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWQuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBhZC9HYW1lcGFkLmlkbAkocmV2aXNpb24gMjY2MzEy
KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWQuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0yNCw3ICsyNCw3IEBACiAgKi8KIAogWwotICAgIEVuYWJsZWRBdFJ1bnRpbWU9
R2FtZXBhZHMsCisgICAgRW5hYmxlZEJ5U2V0dGluZz1HYW1lcGFkcywKICAgICBDb25kaXRpb25h
bD1HQU1FUEFELAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKIF0gaW50ZXJmYWNlIEdh
bWVwYWQgewpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWRCdXR0
b24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBhZC9HYW1l
cGFkQnV0dG9uLmlkbAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9nYW1lcGFkL0dhbWVwYWRCdXR0b24uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3ICsyNCw3
IEBACiAgKi8KIAogWwotICAgIEVuYWJsZWRBdFJ1bnRpbWU9R2FtZXBhZHMsCisgICAgRW5hYmxl
ZEJ5U2V0dGluZz1HYW1lcGFkcywKICAgICBDb25kaXRpb25hbD1HQU1FUEFELAogICAgIEltcGxl
bWVudGF0aW9uTGFja3NWVGFibGUKIF0gaW50ZXJmYWNlIEdhbWVwYWRCdXR0b24gewpJbmRleDog
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWRFdmVudC5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWRFdmVudC5pZGwJKHJl
dmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBhZC9HYW1lcGFk
RXZlbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKIFsKICAgICBDb25k
aXRpb25hbD1HQU1FUEFELAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9R2FtZXBhZHMsCisgICAgRW5h
YmxlZEJ5U2V0dGluZz1HYW1lcGFkcywKIF0gaW50ZXJmYWNlIEdhbWVwYWRFdmVudCA6IEV2ZW50
IHsKICAgICBjb25zdHJ1Y3RvcihET01TdHJpbmcgdHlwZSwgb3B0aW9uYWwgR2FtZXBhZEV2ZW50
SW5pdCBldmVudEluaXREaWN0KTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1l
cGFkL05hdmlnYXRvckdhbWVwYWQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZ2FtZXBhZC9OYXZpZ2F0b3JHYW1lcGFkLmlkbAkocmV2aXNpb24gMjY2MzEyKQorKysg
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL05hdmlnYXRvckdhbWVwYWQuaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw2IEBACiBbCiAgICAgQ29uZGl0aW9uYWw9R0FNRVBBRCwK
IF0gcGFydGlhbCBpbnRlcmZhY2UgTmF2aWdhdG9yIHsKLSAgICBbRW5hYmxlZEF0UnVudGltZT1H
YW1lcGFkc10gc2VxdWVuY2U8R2FtZXBhZD4gZ2V0R2FtZXBhZHMoKTsKKyAgICBbRW5hYmxlZEJ5
U2V0dGluZz1HYW1lcGFkc10gc2VxdWVuY2U8R2FtZXBhZD4gZ2V0R2FtZXBhZHMoKTsKIH07CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9CbG9iRXZlbnQuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9CbG9i
RXZlbnQuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhcmVjb3JkZXIvQmxvYkV2ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBA
QCB0eXBlZGVmIGRvdWJsZSBET01IaWdoUmVzVGltZVN0YW1wOwogCiBbCiAgICAgQ29uZGl0aW9u
YWw9TUVESUFfU1RSRUFNLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9TWVkaWFSZWNvcmRlciwKKyAg
ICBFbmFibGVkQnlTZXR0aW5nPU1lZGlhUmVjb3JkZXIsCiAgICAgRXhwb3NlZD1XaW5kb3cKIF0g
IGludGVyZmFjZSBCbG9iRXZlbnQgOiBFdmVudCB7CiAgICAgY29uc3RydWN0b3IoRE9NU3RyaW5n
IHR5cGUsIEJsb2JFdmVudEluaXQgZXZlbnRJbml0RGljdCk7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIuaWRsCShy
ZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIv
TWVkaWFSZWNvcmRlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDcgQEAgZW51bSBS
ZWNvcmRpbmdTdGF0ZSB7ICJpbmFjdGl2ZSIsICJyZWNvcgogWwogICAgIEFjdGl2ZURPTU9iamVj
dCwKICAgICBDb25kaXRpb25hbD1NRURJQV9TVFJFQU0sCi0gICAgRW5hYmxlZEF0UnVudGltZT1N
ZWRpYVJlY29yZGVyLAorICAgIEVuYWJsZWRCeVNldHRpbmc9TWVkaWFSZWNvcmRlciwKICAgICBF
eHBvc2VkPVdpbmRvdwogXSBpbnRlcmZhY2UgTWVkaWFSZWNvcmRlciA6IEV2ZW50VGFyZ2V0IHsK
ICAgICBbQ2FsbFdpdGg9RG9jdW1lbnQsIE1heVRocm93RXhjZXB0aW9uXSBjb25zdHJ1Y3RvcihN
ZWRpYVN0cmVhbSBzdHJlYW0sIG9wdGlvbmFsIE1lZGlhUmVjb3JkZXJPcHRpb25zIG9wdGlvbnMp
OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3Jk
ZXJFcnJvckV2ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlckVycm9yRXZlbnQuaWRsCShyZXZpc2lvbiAyNjYzMTIp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlckVy
cm9yRXZlbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBAIGRpY3Rpb25hcnkg
TWVkaWFSZWNvcmRlckVycm9yRXZlbnRJbml0IDoKIFsKICAgICBDb25kaXRpb25hbD1NRURJQV9T
VFJFQU0sCiAgICAgRXhwb3NlZD1XaW5kb3csCi0gICAgRW5hYmxlZEF0UnVudGltZT1NZWRpYVJl
Y29yZGVyCisgICAgRW5hYmxlZEJ5U2V0dGluZz1NZWRpYVJlY29yZGVyCiBdIGludGVyZmFjZSBN
ZWRpYVJlY29yZGVyRXJyb3JFdmVudCA6IEV2ZW50IHsKICAgICBjb25zdHJ1Y3RvcihET01TdHJp
bmcgdHlwZSwgTWVkaWFSZWNvcmRlckVycm9yRXZlbnRJbml0IGV2ZW50SW5pdERpY3QpOwogCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURl
dmljZXMuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDcg
QEAKIAogICAgIE1lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50cyBnZXRTdXBwb3J0ZWRDb25z
dHJhaW50cygpOwogICAgIFtQcml2YXRlSWRlbnRpZmllciwgUHVibGljSWRlbnRpZmllcl0gUHJv
bWlzZTxNZWRpYVN0cmVhbT4gZ2V0VXNlck1lZGlhKG9wdGlvbmFsIE1lZGlhU3RyZWFtQ29uc3Ry
YWludHMgY29uc3RyYWludHMpOwotICAgIFtFbmFibGVkQXRSdW50aW1lPVNjcmVlbkNhcHR1cmVd
IFByb21pc2U8TWVkaWFTdHJlYW0+IGdldERpc3BsYXlNZWRpYShvcHRpb25hbCBEaXNwbGF5TWVk
aWFTdHJlYW1Db25zdHJhaW50cyBjb25zdHJhaW50cyk7CisgICAgW0VuYWJsZWRCeVNldHRpbmc9
U2NyZWVuQ2FwdHVyZV0gUHJvbWlzZTxNZWRpYVN0cmVhbT4gZ2V0RGlzcGxheU1lZGlhKG9wdGlv
bmFsIERpc3BsYXlNZWRpYVN0cmVhbUNvbnN0cmFpbnRzIGNvbnN0cmFpbnRzKTsKIH07CiAKIFsK
QEAgLTU4LDcgKzU4LDcgQEAKIAogWwogICAgIENvbmRpdGlvbmFsPU1FRElBX1NUUkVBTSwKLSAg
ICBFbmFibGVkQXRSdW50aW1lPVNjcmVlbkNhcHR1cmUKKyAgICBFbmFibGVkQnlTZXR0aW5nPVNj
cmVlbkNhcHR1cmUKIF0gZW51bSBEaXNwbGF5Q2FwdHVyZVN1cmZhY2VUeXBlIHsKICAgICAibW9u
aXRvciIsCiAgICAgIndpbmRvdyIsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAJKHJldmlzaW9uIDI2NjMx
MikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFj
ay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3Miw3ICs0NzIsNyBAQCB2b2lkIE1lZGlhU3RyZWFt
VHJhY2s6OnVwZGF0ZUNhcHR1cmVBY2NvCiAgICAgYXV0byogYWN0aXZlQXVkaW9Tb3VyY2UgPSBS
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24oKS5hdWRpb0NhcHR1cmVGYWN0b3J5
KCkuYWN0aXZlU291cmNlKCk7CiAgICAgaWYgKGFjdGl2ZUF1ZGlvU291cmNlICYmIGlzU291cmNl
Q2FwdHVyaW5nRm9yVHJhY2tJbkRvY3VtZW50KCphY3RpdmVBdWRpb1NvdXJjZSwgZG9jdW1lbnQp
KSB7CiAgICAgICAgIGJvb2wgcGFnZU11dGVkID0gcGFnZS0+bXV0ZWRTdGF0ZSgpICYgTWVkaWFQ
cm9kdWNlcjo6QXVkaW9BbmRWaWRlb0NhcHR1cmVJc011dGVkOwotICAgICAgICBhY3RpdmVBdWRp
b1NvdXJjZS0+c2V0TXV0ZWQocGFnZU11dGVkIHx8IChkb2N1bWVudC5oaWRkZW4oKSAmJiBSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmludGVycnVwdEF1ZGlvT25QYWdl
VmlzaWJpbGl0eUNoYW5nZUVuYWJsZWQoKSkpOworICAgICAgICBhY3RpdmVBdWRpb1NvdXJjZS0+
c2V0TXV0ZWQocGFnZU11dGVkIHx8IChkb2N1bWVudC5oaWRkZW4oKSAmJiBkb2N1bWVudC5zZXR0
aW5ncygpLmludGVycnVwdEF1ZGlvT25QYWdlVmlzaWJpbGl0eUNoYW5nZUVuYWJsZWQoKSkpOwog
ICAgIH0KIAogICAgIGF1dG8qIGFjdGl2ZVZpZGVvU291cmNlID0gUmVhbHRpbWVNZWRpYVNvdXJj
ZUNlbnRlcjo6c2luZ2xldG9uKCkudmlkZW9DYXB0dXJlRmFjdG9yeSgpLmFjdGl2ZVNvdXJjZSgp
OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JNZWRp
YURldmljZXMuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vTmF2aWdhdG9yTWVkaWFEZXZpY2VzLmlkbAkocmV2aXNpb24gMjY2MzEyKQorKysgU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JNZWRpYURldmljZXMuaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1N
RURJQV9TVFJFQU0sCi0gICAgRW5hYmxlZEF0UnVudGltZT1NZWRpYURldmljZXMsCisgICAgRW5h
YmxlZEJ5U2V0dGluZz1NZWRpYURldmljZXMsCiBdIHBhcnRpYWwgaW50ZXJmYWNlIE5hdmlnYXRv
ciB7CiAgICAgW1NhbWVPYmplY3QsIFNlY3VyZUNvbnRleHQsIENvbnRleHRBbGxvd3NNZWRpYURl
dmljZXNdIHJlYWRvbmx5IGF0dHJpYnV0ZSBNZWRpYURldmljZXMgbWVkaWFEZXZpY2VzOwogICAg
IFtDdXN0b20sIEVuYWJsZWRCeVNldHRpbmc9TGVnYWN5R2V0VXNlck1lZGlhXSB1bmRlZmluZWQg
Z2V0VXNlck1lZGlhKG9iamVjdCBjb25zdHJhaW50cywgb2JqZWN0PyBzdWNjZXNzQ2FsbGJhY2ss
IG9iamVjdD8gZXJyb3JDYWxsYmFjayk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1dGhuL0F1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVz
cG9uc2UuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1dGhuL0F1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5pZGwJKHdvcmtpbmcgY29weSkK
QEAgLTI1LDcgKzI1LDcgQEAKIAogWwogICAgIENvbmRpdGlvbmFsPVdFQl9BVVRITiwKLSAgICBF
bmFibGVkQXRSdW50aW1lPVdlYkF1dGhlbnRpY2F0aW9uLAorICAgIEVuYWJsZWRCeVNldHRpbmc9
V2ViQXV0aGVudGljYXRpb24sCiAgICAgRXhwb3NlZD1XaW5kb3csCiAgICAgU2VjdXJlQ29udGV4
dAogXSBpbnRlcmZhY2UgQXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlIDogQXV0aGVudGlj
YXRvclJlc3BvbnNlIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0
aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2Uu
aWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhu
L0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLmlkbAkod29ya2luZyBjb3B5KQpAQCAt
MjUsNyArMjUsNyBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9V0VCX0FVVEhOLAotICAgIEVuYWJs
ZWRBdFJ1bnRpbWU9V2ViQXV0aGVudGljYXRpb24sCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJB
dXRoZW50aWNhdGlvbiwKICAgICBFeHBvc2VkPVdpbmRvdywKICAgICBTZWN1cmVDb250ZXh0CiBd
IGludGVyZmFjZSBBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZSA6IEF1dGhlbnRpY2F0
b3JSZXNwb25zZSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhl
bnRpY2F0b3JSZXNwb25zZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdXRobi9BdXRoZW50aWNhdG9yUmVzcG9uc2UuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisr
KyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JSZXNwb25zZS5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKIFsKICAgICBDb25kaXRpb25hbD1X
RUJfQVVUSE4sCiAgICAgQ3VzdG9tVG9KU09iamVjdCwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdl
YkF1dGhlbnRpY2F0aW9uLAorICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViQXV0aGVudGljYXRpb24s
CiAgICAgRXhwb3NlZD1XaW5kb3csCiAgICAgU2VjdXJlQ29udGV4dCwKIF0gaW50ZXJmYWNlIEF1
dGhlbnRpY2F0b3JSZXNwb25zZSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbC5jcHAJKHJldmlzaW9uIDI2NjMx
MikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlh
bC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDcgKzMzLDcgQEAKICNpbmNsdWRlICJEb2N1bWVu
dC5oIgogI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiUGFnZS5o
IgotI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKKyNpbmNsdWRlICJTZXR0aW5n
cy5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L0Jhc2U2NC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CkBAIC02MSw3ICs2MSw3IEBAIFB1YmxpY0tleUNyZWRlbnRpYWw6OlB1YmxpY0tleUNyZWRlbnRp
YWwKIAogdm9pZCBQdWJsaWNLZXlDcmVkZW50aWFsOjppc1VzZXJWZXJpZnlpbmdQbGF0Zm9ybUF1
dGhlbnRpY2F0b3JBdmFpbGFibGUoRG9jdW1lbnQmIGRvY3VtZW50LCBET01Qcm9taXNlRGVmZXJy
ZWQ8SURMQm9vbGVhbj4mJiBwcm9taXNlKQogewotICAgIGlmICghUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2hhcmVkRmVhdHVyZXMoKS53ZWJBdXRoZW50aWNhdGlvbkxvY2FsQXV0aGVudGljYXRv
ckVuYWJsZWQoKSkgeworICAgIGlmICghZG9jdW1lbnQuc2V0dGluZ3MoKS53ZWJBdXRoZW50aWNh
dGlvbkxvY2FsQXV0aGVudGljYXRvckVuYWJsZWQoKSkgewogICAgICAgICBwcm9taXNlLnJlc29s
dmUoZmFsc2UpOwogICAgICAgICByZXR1cm47CiAgICAgfQpJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsLmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuaWRsCShy
ZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1Ymxp
Y0tleUNyZWRlbnRpYWwuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKIFsK
ICAgICBDb25kaXRpb25hbD1XRUJfQVVUSE4sCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJBdXRo
ZW50aWNhdGlvbiwKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkF1dGhlbnRpY2F0aW9uLAogICAg
IEV4cG9zZWQ9V2luZG93LAogICAgIFNlY3VyZUNvbnRleHQsCiBdIGludGVyZmFjZSBQdWJsaWNL
ZXlDcmVkZW50aWFsIDogQmFzaWNDcmVkZW50aWFsIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1Nj
cmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXMvSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5jcHAuZXJi
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1NjcmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXMv
SW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5jcHAuZXJiCShyZXZpc2lvbiAyNjYzMTIpCisrKyBT
b3VyY2UvV2ViQ29yZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL0ludGVybmFsU2V0dGluZ3NH
ZW5lcmF0ZWQuY3BwLmVyYgkod29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgsNyBAQCBJbnRlcm5h
bFNldHRpbmdzR2VuZXJhdGVkOjpJbnRlcm5hbFNldHRpCiA8JS0gZm9yIEBzZXR0aW5nIGluIEBz
ZXR0aW5ncyBkbyAtJT4KIDwlLSBpZiBAc2V0dGluZy5leGNsdWRlRnJvbUludGVybmFsU2V0dGlu
Z3MgPT0gZmFsc2UgYW5kIEBzZXR0aW5nLmlkbFR5cGUgLSU+CiA8JS0gaWYgQHNldHRpbmcuY29u
ZGl0aW9uYWwgLSU+Ci0jaWYgRU5BQkxFKDwlPSBAc2V0dGluZy5jb25kaXRpb25hbCAlPikKKyNp
ZiA8JT0gQHNldHRpbmcuY29uZGl0aW9uYWwgJT4KIDwlLSBlbmQgLSU+CiAgICAgLCBtXzwlPSBA
c2V0dGluZy5uYW1lICU+KHBhZ2UtPnNldHRpbmdzKCkuPCU9IEBzZXR0aW5nLmdldHRlckZ1bmN0
aW9uTmFtZSAlPigpKQogPCUtIGlmIEBzZXR0aW5nLmNvbmRpdGlvbmFsIC0lPgpAQCAtNTgsNyAr
NTgsNyBAQCB2b2lkIEludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWQ6OnJlc2V0VG9DCiA8JS0gZm9y
IEBzZXR0aW5nIGluIEBzZXR0aW5ncyBkbyAtJT4KIDwlLSBpZiBAc2V0dGluZy5leGNsdWRlRnJv
bUludGVybmFsU2V0dGluZ3MgPT0gZmFsc2UgYW5kIEBzZXR0aW5nLmlkbFR5cGUgLSU+CiA8JS0g
aWYgQHNldHRpbmcuY29uZGl0aW9uYWwgLSU+Ci0jaWYgRU5BQkxFKDwlPSBAc2V0dGluZy5jb25k
aXRpb25hbCAlPikKKyNpZiA8JT0gQHNldHRpbmcuY29uZGl0aW9uYWwgJT4KIDwlLSBlbmQgLSU+
CiAgICAgbV9wYWdlLT5zZXR0aW5ncygpLjwlPSBAc2V0dGluZy5zZXR0ZXJGdW5jdGlvbk5hbWUg
JT4obV88JT0gQHNldHRpbmcubmFtZSAlPik7CiA8JS0gaWYgQHNldHRpbmcuY29uZGl0aW9uYWwg
LSU+CkBAIC03Myw3ICs3Myw3IEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZDo6cmVz
ZXRUb0MKIHZvaWQgSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZDo6PCU9IEBzZXR0aW5nLnNldHRl
ckZ1bmN0aW9uTmFtZSAlPig8JT0gQHNldHRpbmcucGFyYW1ldGVyVHlwZSAlPiA8JT0gQHNldHRp
bmcubmFtZSAlPikKIHsKIDwlLSBpZiBAc2V0dGluZy5jb25kaXRpb25hbCAtJT4KLSNpZiBFTkFC
TEUoPCU9IEBzZXR0aW5nLmNvbmRpdGlvbmFsICU+KQorI2lmIDwlPSBAc2V0dGluZy5jb25kaXRp
b25hbCAlPgogICAgIG1fcGFnZS0+c2V0dGluZ3MoKS48JT0gQHNldHRpbmcuc2V0dGVyRnVuY3Rp
b25OYW1lICU+KDwlPSBAc2V0dGluZy5uYW1lICU+KTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFN
KDwlPSBAc2V0dGluZy5uYW1lICU+KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1NjcmlwdHMvU2V0
dGluZ3NUZW1wbGF0ZXMvSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5oLmVyYgo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL0ludGVybmFsU2V0
dGluZ3NHZW5lcmF0ZWQuaC5lcmIJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3Jl
L1NjcmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXMvSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5oLmVy
Ygkod29ya2luZyBjb3B5KQpAQCAtNTMsNyArNTMsNyBAQCBwcml2YXRlOgogPCUtIGZvciBAc2V0
dGluZyBpbiBAc2V0dGluZ3MgZG8gLSU+CiA8JS0gaWYgQHNldHRpbmcuZXhjbHVkZUZyb21JbnRl
cm5hbFNldHRpbmdzID09IGZhbHNlIGFuZCBAc2V0dGluZy5pZGxUeXBlIC0lPgogPCUtIGlmIEBz
ZXR0aW5nLmNvbmRpdGlvbmFsIC0lPgotI2lmIEVOQUJMRSg8JT0gQHNldHRpbmcuY29uZGl0aW9u
YWwgJT4pCisjaWYgPCU9IEBzZXR0aW5nLmNvbmRpdGlvbmFsICU+CiA8JS0gZW5kIC0lPgogICAg
IDwlPSBAc2V0dGluZy50eXBlICU+IG1fPCU9IEBzZXR0aW5nLm5hbWUgJT47CiA8JS0gaWYgQHNl
dHRpbmcuY29uZGl0aW9uYWwgLSU+CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9TY3JpcHRzL1NldHRp
bmdzVGVtcGxhdGVzL1NldHRpbmdzLmNwcC5lcmIKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvU2NyaXB0cy9TZXR0aW5nc1RlbXBsYXRlcy9TZXR0aW5ncy5jcHAuZXJiCShyZXZpc2lvbiAy
NjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL1NldHRp
bmdzLmNwcC5lcmIJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDcgKzQ2LDcgQEAgU2V0dGluZ3M6OlNl
dHRpbmdzKFBhZ2UqIHBhZ2UpCiA8JS0gZW5kIC0lPgogPCUtIGZvciBAY29uZGl0aW9uYWwgaW4g
QGNvbmRpdGlvbmFscyBkbyAtJT4KIDwlLSBpZiBAY29uZGl0aW9uYWwubm9uQm9vbFNldHRpbmdz
Lmxlbmd0aCAhPSAwIC0lPgotI2lmIEVOQUJMRSg8JT0gQGNvbmRpdGlvbmFsLmNvbmRpdGlvbiAl
PikKKyNpZiA8JT0gQGNvbmRpdGlvbmFsLmNvbmRpdGlvbiAlPgogPCUtIGZvciBAc2V0dGluZyBp
biBAY29uZGl0aW9uYWwubm9uQm9vbFNldHRpbmdzIC0lPgogICAgICwgbV88JT0gQHNldHRpbmcu
bmFtZSAlPig8JT0gQHNldHRpbmcuaW5pdGlhbCAlPikKIDwlLSBlbmQgLSU+CkBAIC01OCw3ICs1
OCw3IEBAIFNldHRpbmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdlKQogPCUtIGVuZCAtJT4KIDwlLSBm
b3IgQGNvbmRpdGlvbmFsIGluIEBjb25kaXRpb25hbHMgZG8gLSU+CiA8JS0gaWYgQGNvbmRpdGlv
bmFsLmJvb2xTZXR0aW5ncy5sZW5ndGggIT0gMCAtJT4KLSNpZiBFTkFCTEUoPCU9IEBjb25kaXRp
b25hbC5jb25kaXRpb24gJT4pCisjaWYgPCU9IEBjb25kaXRpb25hbC5jb25kaXRpb24gJT4KIDwl
LSBmb3IgQHNldHRpbmcgaW4gQGNvbmRpdGlvbmFsLmJvb2xTZXR0aW5ncyAtJT4KICAgICAsIG1f
PCU9IEBzZXR0aW5nLm5hbWUgJT4oPCU9IEBzZXR0aW5nLmluaXRpYWwgJT4pCiA8JS0gZW5kIC0l
PgpAQCAtOTcsNyArOTcsNyBAQCB2b2lkIFNldHRpbmdzOjo8JT0gQHNldHRpbmcuc2V0dGVyRnVu
Y3RpCiA8JS0gZW5kIC0lPgogPCUtIGZvciBAY29uZGl0aW9uYWwgaW4gQGNvbmRpdGlvbmFscyBk
byAtJT4KIDwlLSBpZiBAY29uZGl0aW9uYWwuc2V0dGluZ3NXaXRoQ29tcGxleEdldHRlcnMubGVu
Z3RoICE9IDAgb3IgQGNvbmRpdGlvbmFsLnNldHRpbmdzV2l0aENvbXBsZXhTZXR0ZXJzLmxlbmd0
aCAhPSAwLSU+Ci0jaWYgRU5BQkxFKDwlPSBAY29uZGl0aW9uYWwuY29uZGl0aW9uICU+KQorI2lm
IDwlPSBAY29uZGl0aW9uYWwuY29uZGl0aW9uICU+CiA8JS0gZm9yIEBzZXR0aW5nIGluIEBjb25k
aXRpb25hbC5zZXR0aW5nc1dpdGhDb21wbGV4R2V0dGVycyBkbyAtJT4KIDwlPSBAc2V0dGluZy5w
YXJhbWV0ZXJUeXBlICU+IFNldHRpbmdzOjo8JT0gQHNldHRpbmcuZ2V0dGVyRnVuY3Rpb25OYW1l
ICU+KCkgY29uc3QKIHsKQEAgLTEzMSw3ICsxMzEsNyBAQCB2b2lkIFNldHRpbmdzOjo8JT0gQHNl
dHRpbmcuc2V0dGVyRnVuY3RpCiAgICAgICAgIHJldHVybjsKICAgICBtXzwlPSBAc2V0dGluZy5u
YW1lICU+SW5zcGVjdG9yT3ZlcnJpZGUgPSA8JT0gQHNldHRpbmcubmFtZSAlPkluc3BlY3Rvck92
ZXJyaWRlOwogPCUtIGlmIEBzZXR0aW5nLmNvbmRpdGlvbmFsIC0lPgotI2lmIEVOQUJMRSg8JT0g
QHNldHRpbmcuY29uZGl0aW9uYWwgJT4pCisjaWYgPCU9IEBzZXR0aW5nLmNvbmRpdGlvbmFsICU+
CiA8JS0gZW5kIC0lPgogICAgIDwlPSBAc2V0dGluZy5vbkNoYW5nZSAlPigpOwogPCUtIGlmIEBz
ZXR0aW5nLmNvbmRpdGlvbmFsIC0lPgpJbmRleDogU291cmNlL1dlYkNvcmUvU2NyaXB0cy9TZXR0
aW5nc1RlbXBsYXRlcy9TZXR0aW5ncy5oLmVyYgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL1NldHRpbmdzLmguZXJiCShyZXZpc2lvbiAyNjYz
MTIpCisrKyBTb3VyY2UvV2ViQ29yZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL1NldHRpbmdz
LmguZXJiCSh3b3JraW5nIGNvcHkpCkBAIC01NCw3ICs1NCw3IEBAIHB1YmxpYzoKIDwlLSBlbmQg
LSU+CiAKIDwlLSBmb3IgQGNvbmRpdGlvbmFsIGluIEBjb25kaXRpb25hbHMgZG8gLSU+Ci0jaWYg
RU5BQkxFKDwlPSBAY29uZGl0aW9uYWwuY29uZGl0aW9uICU+KQorI2lmIDwlPSBAY29uZGl0aW9u
YWwuY29uZGl0aW9uICU+CiA8JS0gZm9yIEBzZXR0aW5nIGluIEBjb25kaXRpb25hbC5zZXR0aW5n
cyBkbyAtJT4KICAgICA8JS0gaWYgQHNldHRpbmcuaGFzQ29tcGxleEdldHRlcj8gLSU+CiAgICAg
V0VCQ09SRV9FWFBPUlQgPCU9IEBzZXR0aW5nLnBhcmFtZXRlclR5cGUgJT4gPCU9IEBzZXR0aW5n
LmdldHRlckZ1bmN0aW9uTmFtZSAlPigpIGNvbnN0OwpAQCAtOTEsNyArOTEsNyBAQCBwcml2YXRl
OgogCiA8JS0gZm9yIEBjb25kaXRpb25hbCBpbiBAY29uZGl0aW9uYWxzIGRvIC0lPgogPCUtIGlm
IEBjb25kaXRpb25hbC5ub25Cb29sU2V0dGluZ3MubGVuZ3RoICE9IDAgLSU+Ci0jaWYgRU5BQkxF
KDwlPSBAY29uZGl0aW9uYWwuY29uZGl0aW9uICU+KQorI2lmIDwlPSBAY29uZGl0aW9uYWwuY29u
ZGl0aW9uICU+CiA8JS0gZm9yIEBzZXR0aW5nIGluIEBjb25kaXRpb25hbC5ub25Cb29sU2V0dGlu
Z3MgLSU+CiAgICAgPCU9IEBzZXR0aW5nLnR5cGUgJT4gbV88JT0gQHNldHRpbmcubmFtZSAlPjsK
IDwlLSBlbmQgLSU+CkBAIC0xMDUsNyArMTA1LDcgQEAgcHJpdmF0ZToKIAogPCUtIGZvciBAY29u
ZGl0aW9uYWwgaW4gQGNvbmRpdGlvbmFscyBkbyAtJT4KIDwlLSBpZiBAY29uZGl0aW9uYWwuYm9v
bFNldHRpbmdzLmxlbmd0aCAhPSAwIC0lPgotI2lmIEVOQUJMRSg8JT0gQGNvbmRpdGlvbmFsLmNv
bmRpdGlvbiAlPikKKyNpZiA8JT0gQGNvbmRpdGlvbmFsLmNvbmRpdGlvbiAlPgogPCUtIGZvciBA
c2V0dGluZyBpbiBAY29uZGl0aW9uYWwuYm9vbFNldHRpbmdzIC0lPgogICAgIDwlPSBAc2V0dGlu
Zy50eXBlICU+IG1fPCU9IEBzZXR0aW5nLm5hbWUgJT4gOiAxOwogPCUtIGVuZCAtJT4KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJ
KHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTA3Niw4ICsxMDc2LDggQEAKIAkJNDE2
RTBCM0EyMDlCQzNDQjAwNEE5NUQ5IC8qIEZldGNoSWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2RTBCMzcyMDlCQzNDMjAwNEE5NUQ5
IC8qIEZldGNoSWRlbnRpZmllci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTQxNkUyOUE2MTAyRkE5NjIwMDdGQzE0RSAvKiBXb3JrZXJSZXBvcnRp
bmdQcm94eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDE2RTI5QTUxMDJGQTk2MjAwN0ZDMTRFIC8qIFdvcmtlclJlcG9ydGluZ1Byb3h5LmggKi87IH07
CiAJCTQxNkU2RkU4MUJCRDEyREYwMDBBM0Y2NCAvKiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1
aWx0aW5zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
QjAzRDgwNjFCQjMxMTBEMDBCNzY0RDkgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlu
cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTQx
NkU2RkU4MUJCRDEyREYwMDBBM0Y3NCAvKiBUcmFuc2Zvcm1TdHJlYW1JbnRlcm5hbHNCdWlsdGlu
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUIwM0Q4
MDYxQkIzMTEwRDAwQjc2NEVBIC8qIFRyYW5zZm9ybVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE2RTZG
RTgxQkJEMTJERjAwMEEzRjY1IC8qIEpTRE9NQmluZGluZ0ludGVybmFsc0J1aWx0aW5zLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QjAzRDgwNjFCQjMx
MTBEMDBCNzY0REEgLyogSlNET01CaW5kaW5nSW50ZXJuYWxzQnVpbHRpbnMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0MTZFNkZFODFCQkQxMkRG
MDAwQTNGNzQgLyogVHJhbnNmb3JtU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlCMDNEODA2MUJCMzExMEQwMEI3
NjRFQSAvKiBUcmFuc2Zvcm1TdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxNkU2RkU4MUJCRDEyREYwMDBB
NjAzMyAvKiBTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEM5IC8qIFN0cmVh
bUludGVybmFsc0J1aWx0aW5zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJNDE2RTZGRTgxQkJEMTJERjAwMEE2MDQzIC8qIFJlYWRhYmxlQnl0ZVN0
cmVhbUludGVybmFsc0J1aWx0aW5zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5QjAzRDgwNjFCQjMxMTBEMDBCNzNGNjQgLyogUmVhZGFibGVCeXRlU3Ry
ZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk0MTZFNkZFODFCQkQxMkRGMDAwQTYwNTMgLyogV3JpdGFibGVTdHJl
YW1JbnRlcm5hbHNCdWlsdGlucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEU5IC8qIFdyaXRhYmxlU3RyZWFtSW50
ZXJuYWxzQnVpbHRpbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwpAQCAtMTAwMTksNiArMTAwMTksMTIgQEAKIAkJN0FGOUIyMDkxOENGQjVGMjAwQzY0
QkVGIC8qIEpTVlRUUmVnaW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
VlRUUmVnaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdBRjlCMjBBMThDRkI1
RjMwMEM2NEJFRiAvKiBKU1ZUVFJlZ2lvbkxpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNWVFRSZWdpb25MaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJN0FGOUIyMEIxOENGQjVGMzAwQzY0QkVGIC8qIEpTVlRUUmVnaW9uTGlzdC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1ZUVFJlZ2lvbkxpc3QuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0MwMTFGM0QyNEZBRDM2MDAwNUJFRjEwIC8qIFNldHRp
bmdzLmNwcC5lcmIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gU2V0dGluZ3MuY3BwLmVyYjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJN0MwMTFGM0UyNEZBRDM2MDAwNUJFRjEwIC8qIEludGVybmFsU2V0dGluZ3NHZW5l
cmF0ZWQuY3BwLmVyYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBJbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmNwcC5lcmI7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdDMDExRjNGMjRGQUQzNjAwMDVCRUYxMCAvKiBJ
bnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmlkbC5lcmIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSW50ZXJuYWxTZXR0aW5nc0dl
bmVyYXRlZC5pZGwuZXJiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzAxMUY0MDI0
RkFEMzYwMDA1QkVGMTAgLyogU2V0dGluZ3MuaC5lcmIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU2V0dGluZ3MuaC5lcmI7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdDMDExRjQxMjRGQUQzNjAwMDVCRUYxMCAvKiBJ
bnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmguZXJiICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEludGVybmFsU2V0dGluZ3NHZW5l
cmF0ZWQuaC5lcmI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdDMDExRjQzMjRGQUQz
NjEwMDVCRUYxMCAvKiBHZW5lcmF0ZVNldHRpbmdzLnJiICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQucnVieTsgbmFtZSA9IEdlbmVy
YXRlU2V0dGluZ3MucmI7IHBhdGggPSBTY3JpcHRzL0dlbmVyYXRlU2V0dGluZ3MucmI7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDMDE3QzNEMjQ5NjlGMTMwMERDMEMwMiAvKiBOYXZp
Z2F0b3JQbHVnaW5zLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBOYXZpZ2F0b3JQbHVnaW5zLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJN0MwMjlDNkQyNDkzQzhGODAwMjY4MjA0IC8qIENvbG9yVHlwZXMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQ29sb3JUeXBlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk3QzBDRUYyODFFNEE1NDJDMDA4REVCODAgLyogSlNET01Db25zdHJ1Y3RvckJhc2UuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNET01Db25zdHJ1Y3RvckJhc2UuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTExNTY2LDEwICsxMTU3MiwxMCBAQAogCQk5
QjAzRDgwNjFCQjMxMTBEMDBCNzY0QzkgLyogU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaDsg
cGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaDsg
c291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJOUIwM0Q4MDYxQkIzMTEwRDAw
Qjc2NEQ4IC8qIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gUmVhZGFibGVTdHJlYW1CdWlsdGlucy5oOyBwYXRoID0gRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9SZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9Q
Uk9EVUNUU19ESVI7IH07CiAJCTlCMDNEODA2MUJCMzExMEQwMEI3NjREOSAvKiBSZWFkYWJsZVN0
cmVhbUludGVybmFsc0J1aWx0aW5zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oOyBzb3VyY2VUcmVlID0g
QlVJTFRfUFJPRFVDVFNfRElSOyB9OwotCQk5QjAzRDgwNjFCQjMxMTBEMDBCNzY0RUEgLyogVHJh
bnNmb3JtU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gVHJhbnNmb3JtU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaDsgcGF0aCA9IERlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvVHJhbnNmb3JtU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaDsgc291
cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJOUIwM0Q4MDYxQkIzMTEwRDAwQjc2
NERBIC8qIEpTRE9NQmluZGluZ0ludGVybmFsc0J1aWx0aW5zLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IEpTRE9NQmluZGluZ0ludGVybmFsc0J1aWx0aW5zLmg7IHBhdGggPSBE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NQmluZGluZ0ludGVybmFsc0J1aWx0aW5zLmg7IHNv
dXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTlCMDNEODA2MUJCMzExMEQwMEI3
NjRFOCAvKiBXcml0YWJsZVN0cmVhbUJ1aWx0aW5zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IFdyaXRhYmxlU3RyZWFtQnVpbHRpbnMuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvV3JpdGFibGVTdHJlYW1CdWlsdGlucy5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJP
RFVDVFNfRElSOyB9OwogCQk5QjAzRDgwNjFCQjMxMTBEMDBCNzY0RTkgLyogV3JpdGFibGVTdHJl
YW1JbnRlcm5hbHNCdWlsdGlucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBX
cml0YWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL1dyaXRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaDsgc291cmNlVHJlZSA9IEJV
SUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJOUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEVBIC8qIFRyYW5z
Zm9ybVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IFRyYW5zZm9ybVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmg7IHBhdGggPSBEZXJpdmVk
U291cmNlcy9XZWJDb3JlL1RyYW5zZm9ybVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmg7IHNvdXJj
ZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTlCMDk4QkQ1MUYzRDYwMzMwMDJERDU2
MiAvKiBEYXRhVHJhbnNmZXJJdGVtLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IERhdGFUcmFuc2Zlckl0ZW0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk5QjA5OEJERDFGM0Q2NzNEMDAyREQ1NjIgLyogSlNEYXRhVHJhbnNmZXJJdGVtLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRGF0YVRyYW5zZmVySXRlbS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlCMDk4QkRFMUYzRDY3M0QwMDJERDU2MiAv
KiBKU0RhdGFUcmFuc2Zlckl0ZW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNEYXRhVHJhbnNmZXJJdGVtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xODY0
OCwxMCArMTg2NTQsMTIgQEAKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCiAJ
CQkJRjQ4Mzg5NzkxRTFERDIzQTAwNzZCN0VBIC8qIEVkaXRpbmdIaXN0b3J5ICovLAorCQkJCTdD
MDExRjNDMjRGQUQzNjAwMDVCRUYxMCAvKiBTZXR0aW5nc1RlbXBsYXRlcyAqLywKIAkJCQlBMUUw
ODY2RjI0OEFBQzg1MDBFNDk2RDkgLyogY2hlY2steGNmaWxlbGlzdHMuc2ggKi8sCiAJCQkJMzcx
N0Q3RTUxN0VDQzNBNjAwM0MyNzZEIC8qIGV4dHJhY3QtbG9jYWxpemFibGUtc3RyaW5ncy5wbCAq
LywKIAkJCQlBMUUwODY3MDI0OEFBQzg1MDBFNDk2RDkgLyogZ2VuZXJhdGUtZGVyaXZlZC1zb3Vy
Y2VzLnNoICovLAogCQkJCUExRTA4NjZFMjQ4QUFDODUwMEU0OTZEOSAvKiBnZW5lcmF0ZS11bmlm
aWVkLXNvdXJjZXMuc2ggKi8sCisJCQkJN0MwMTFGNDMyNEZBRDM2MTAwNUJFRjEwIC8qIEdlbmVy
YXRlU2V0dGluZ3MucmIgKi8sCiAJCQkJMzdENDU2RkIxQTlBNTBCNjAwMzMzMEExIC8qIExvY2Fs
aXphYmxlU3RyaW5ncy5wbSAqLywKIAkJCSk7CiAJCQluYW1lID0gU2NyaXB0czsKQEAgLTIxOTI4
LDYgKzIxOTM2LDE5IEBACiAJCQlwYXRoID0gbWFjT1M7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91
cD4iOwogCQl9OworCQk3QzAxMUYzQzI0RkFEMzYwMDA1QkVGMTAgLyogU2V0dGluZ3NUZW1wbGF0
ZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTdDMDEx
RjNFMjRGQUQzNjAwMDVCRUYxMCAvKiBJbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmNwcC5lcmIg
Ki8sCisJCQkJN0MwMTFGNDEyNEZBRDM2MDAwNUJFRjEwIC8qIEludGVybmFsU2V0dGluZ3NHZW5l
cmF0ZWQuaC5lcmIgKi8sCisJCQkJN0MwMTFGM0YyNEZBRDM2MDAwNUJFRjEwIC8qIEludGVybmFs
U2V0dGluZ3NHZW5lcmF0ZWQuaWRsLmVyYiAqLywKKwkJCQk3QzAxMUYzRDI0RkFEMzYwMDA1QkVG
MTAgLyogU2V0dGluZ3MuY3BwLmVyYiAqLywKKwkJCQk3QzAxMUY0MDI0RkFEMzYwMDA1QkVGMTAg
LyogU2V0dGluZ3MuaC5lcmIgKi8sCisJCQkpOworCQkJbmFtZSA9IFNldHRpbmdzVGVtcGxhdGVz
OworCQkJcGF0aCA9IFNjcmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXM7CisJCQlzb3VyY2VUcmVlID0g
Ijxncm91cD4iOworCQl9OwogCQk3QzMzMEEwNDFERjlGOTNCMDBEMzM5NUMgLyogR2VvbG9jYXRp
b24gKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApJbmRleDogU291
cmNlL1dlYkNvcmUvY3NzL0RPTUNTU0N1c3RvbVByb3BlcnR5RGVzY3JpcHRvci5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0RPTUNTU0N1c3RvbVByb3BlcnR5RGVzY3JpcHRv
ci5pZGwJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9ET01DU1NDdXN0
b21Qcm9wZXJ0eURlc2NyaXB0b3IuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBA
CiAKIFsKICAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKLSAgICBFbmFibGVkQXRSdW50aW1lPUNT
U0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXMKKyAgICBFbmFibGVkQnlTZXR0aW5nPUNTU0N1c3Rv
bVByb3BlcnRpZXNBbmRWYWx1ZXMKIF0gZGljdGlvbmFyeSBET01DU1NDdXN0b21Qcm9wZXJ0eURl
c2NyaXB0b3IgewogICAgIHJlcXVpcmVkIERPTVN0cmluZyBuYW1lOwogICAgICAgICAgICAgIERP
TVN0cmluZyBzeW50YXggICAgICAgPSAiKiI7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvRE9N
Q1NTUmVnaXN0ZXJDdXN0b21Qcm9wZXJ0eS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvY3NzL0RPTUNTU1JlZ2lzdGVyQ3VzdG9tUHJvcGVydHkuaWRsCShyZXZpc2lvbiAyNjYzMTIp
CisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvRE9NQ1NTUmVnaXN0ZXJDdXN0b21Qcm9wZXJ0eS5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTI0LDcgKzI0LDcgQEAKICovCiAKIFsKLSAgICBFbmFibGVkQXRS
dW50aW1lPUNTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXMKKyAgICBFbmFibGVkQnlTZXR0aW5n
PUNTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXMKIF0gcGFydGlhbCBpbnRlcmZhY2UgRE9NQ1NT
TmFtZXNwYWNlIHsKICAgICBbQ2FsbFdpdGg9RG9jdW1lbnQsIE1heVRocm93RXhjZXB0aW9uXSBz
dGF0aWMgdW5kZWZpbmVkIHJlZ2lzdGVyUHJvcGVydHkoRE9NQ1NTQ3VzdG9tUHJvcGVydHlEZXNj
cmlwdG9yIGRlc2NyaXB0b3IpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9CZWZvcmVM
b2FkRXZlbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9CZWZvcmVMb2Fk
RXZlbnQuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vQmVmb3Jl
TG9hZEV2ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNyBAQAogICovCiAKIFsK
LSAgICBFbmFibGVkQXRSdW50aW1lPUxlZ2FjeUJlZm9yZUxvYWRFdmVudAorICAgIEVuYWJsZWRC
eVNldHRpbmc9TGVnYWN5QmVmb3JlTG9hZEV2ZW50CiBdIGludGVyZmFjZSBCZWZvcmVMb2FkRXZl
bnQgOiBFdmVudCB7CiAgICAgY29uc3RydWN0b3IoRE9NU3RyaW5nIHR5cGUsIG9wdGlvbmFsIEJl
Zm9yZUxvYWRFdmVudEluaXQgZXZlbnRJbml0RGljdCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2RvbS9DdXN0b21FbGVtZW50UmVnaXN0cnkuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2RvbS9DdXN0b21FbGVtZW50UmVnaXN0cnkuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBT
b3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5LmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMjQsNyArMjQsNyBAQAogKi8KIAogWwotICAgIEVuYWJsZWRBdFJ1bnRpbWU9Q3VzdG9t
RWxlbWVudHMsCisgICAgRW5hYmxlZEJ5U2V0dGluZz1DdXN0b21FbGVtZW50cywKICAgICBHZW5l
cmF0ZUlzUmVhY2hhYmxlPUltcGxTY3JpcHRFeGVjdXRpb25Db250ZXh0LAogICAgIEpTR2VuZXJh
dGVUb05hdGl2ZU9iamVjdCwKIF0gaW50ZXJmYWNlIEN1c3RvbUVsZW1lbnRSZWdpc3RyeSB7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVyLmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVyLmlkbAkocmV2aXNpb24gMjY2MzEyKQorKysg
U291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM1
LDcgKzM1LDcgQEAKICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGVmZmVjdEFsbG93ZWQ7CiAKICAg
ICAvLyBGSVhNRTogaXRlbXMgc2hvdWxkIHVzZSBbU2FtZU9iamVjdF0gb25jZSB0aGF0IGlzIHN1
cHBvcnRlZC4KLSAgICBbRW5hYmxlZEF0UnVudGltZT1EYXRhVHJhbnNmZXJJdGVtcywgQ2FsbFdp
dGg9RG9jdW1lbnRdIHJlYWRvbmx5IGF0dHJpYnV0ZSBEYXRhVHJhbnNmZXJJdGVtTGlzdCBpdGVt
czsKKyAgICBbRW5hYmxlZEJ5U2V0dGluZz1EYXRhVHJhbnNmZXJJdGVtcywgQ2FsbFdpdGg9RG9j
dW1lbnRdIHJlYWRvbmx5IGF0dHJpYnV0ZSBEYXRhVHJhbnNmZXJJdGVtTGlzdCBpdGVtczsKIAog
ICAgIHVuZGVmaW5lZCBzZXREcmFnSW1hZ2UoRWxlbWVudD8gaW1hZ2UsIGxvbmcgeCwgbG9uZyB5
KTsgLy8gRklYTUU6IEVsZW1lbnQgYXJndW1lbnQgaXMgbm90IG51bGxhYmxlIGluIHRoZSBIVE1M
IHN0YW5kYXJkLgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRlbS5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlckl0ZW0uaWRs
CShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRl
bS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAKICAqLwogCiBbCi0gICAgRW5h
YmxlZEF0UnVudGltZT1EYXRhVHJhbnNmZXJJdGVtcywKKyAgICBFbmFibGVkQnlTZXR0aW5nPURh
dGFUcmFuc2Zlckl0ZW1zLAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiBdIGludGVy
ZmFjZSBEYXRhVHJhbnNmZXJJdGVtIHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5n
IGtpbmQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRlbUxpc3QuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXJJdGVtTGlzdC5p
ZGwJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXJJ
dGVtTGlzdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAKICAqLwogCiBbCi0g
ICAgRW5hYmxlZEF0UnVudGltZT1EYXRhVHJhbnNmZXJJdGVtcywKKyAgICBFbmFibGVkQnlTZXR0
aW5nPURhdGFUcmFuc2Zlckl0ZW1zLAogICAgIEpTR2VuZXJhdGVUb05hdGl2ZU9iamVjdCwKICAg
ICBKU0dlbmVyYXRlVG9KU09iamVjdCwKIF0gaW50ZXJmYWNlIERhdGFUcmFuc2Zlckl0ZW1MaXN0
IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkocmV2aXNpb24gMjY2MzEyKQorKysgU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTUwLDcgKzk1
MCw3IEBAIHZvaWQgRG9jdW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChjb25zdCBDaGkKIAogc3RhdGlj
IEFMV0FZU19JTkxJTkUgUmVmPEhUTUxFbGVtZW50PiBjcmVhdGVVcGdyYWRlQ2FuZGlkYXRlRWxl
bWVudChEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUpCiB7Ci0g
ICAgaWYgKCFSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmN1c3RvbUVs
ZW1lbnRzRW5hYmxlZCgpCisgICAgaWYgKCFkb2N1bWVudC5zZXR0aW5ncygpLmN1c3RvbUVsZW1l
bnRzRW5hYmxlZCgpCiAgICAgICAgIHx8IERvY3VtZW50Ojp2YWxpZGF0ZUN1c3RvbUVsZW1lbnRO
YW1lKG5hbWUubG9jYWxOYW1lKCkpICE9IEN1c3RvbUVsZW1lbnROYW1lVmFsaWRhdGlvblN0YXR1
czo6VmFsaWQpCiAgICAgICAgIHJldHVybiBIVE1MVW5rbm93bkVsZW1lbnQ6OmNyZWF0ZShuYW1l
LCBkb2N1bWVudCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbAkocmV2aXNpb24gMjY2
MzEyKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMTI3LDcgKzEyNyw3IEBAIHR5cGVkZWYgKEhUTUxTY3JpcHRFbGVtZW50IG9yIFNWR1Njcmlw
dEUKICAgICBib29sZWFuIHF1ZXJ5Q29tbWFuZFN0YXRlKERPTVN0cmluZyBjb21tYW5kSWQpOwog
ICAgIGJvb2xlYW4gcXVlcnlDb21tYW5kU3VwcG9ydGVkKERPTVN0cmluZyBjb21tYW5kSWQpOwog
ICAgIERPTVN0cmluZyBxdWVyeUNvbW1hbmRWYWx1ZShET01TdHJpbmcgY29tbWFuZElkKTsKLSAg
ICBbRW5hYmxlZEF0UnVudGltZT1VbmRvTWFuYWdlckFQSV0gcmVhZG9ubHkgYXR0cmlidXRlIFVu
ZG9NYW5hZ2VyIHVuZG9NYW5hZ2VyOworICAgIFtFbmFibGVkQnlTZXR0aW5nPVVuZG9NYW5hZ2Vy
QVBJXSByZWFkb25seSBhdHRyaWJ1dGUgVW5kb01hbmFnZXIgdW5kb01hbmFnZXI7CiAKICAgICAv
LyBTcGVjaWFsIGV2ZW50IGhhbmRsZXIgSURMIGF0dHJpYnV0ZXMgdGhhdCBvbmx5IGFwcGx5IHRv
IERvY3VtZW50IG9iamVjdHMuCiAgICAgW0xlbmllbnRUaGlzXSBhdHRyaWJ1dGUgRXZlbnRIYW5k
bGVyIG9ucmVhZHlzdGF0ZWNoYW5nZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5pZGwJKHJldmlz
aW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMTMxLDcgKzEzMSw3IEBACiAgICAgW05vdEVudW1lcmFibGVdIGF0dHJpYnV0ZSBF
dmVudEhhbmRsZXIgb25iZWZvcmVsb2FkOwogCiAgICAgLy8gTm9uIHN0YW5kYXJkIGV2ZW50IGhh
bmRsZXIgKGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9yZWZlcmVuY2Uvd2Via2l0anMvZWxl
bWVudC8xNjM0MjA1LW9ud2Via2l0bmVlZGtleSkuCi0gICAgW05vdEVudW1lcmFibGUsIENvbmRp
dGlvbmFsPUxFR0FDWV9FTkNSWVBURURfTUVESUEsIEVuYWJsZWRBdFJ1bnRpbWU9TGVnYWN5RW5j
cnlwdGVkTWVkaWFBUEldIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb253ZWJraXRuZWVka2V5Owor
ICAgIFtOb3RFbnVtZXJhYmxlLCBDb25kaXRpb25hbD1MRUdBQ1lfRU5DUllQVEVEX01FRElBLCBF
bmFibGVkQnlTZXR0aW5nPUxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJXSBhdHRyaWJ1dGUgRXZlbnRI
YW5kbGVyIG9ud2Via2l0bmVlZGtleTsKIAogICAgIC8vIE5vbiBzdGFuZGFyZCBldmVudCBoYW5k
bGVyIChodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vcmVmZXJlbmNlL3dlYmtpdGpzL2VsZW1l
bnQvMTYzMzk0My1vbndlYmtpdHByZXNlbnRhdGlvbm1vZGVjaGFuZ2VkKS4KICAgICBbTm90RW51
bWVyYWJsZSwgQ29uZGl0aW9uYWw9VklERU9fUFJFU0VOVEFUSU9OX01PREVdIGF0dHJpYnV0ZSBF
dmVudEhhbmRsZXIgb253ZWJraXRwcmVzZW50YXRpb25tb2RlY2hhbmdlZDsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2RvbS9JbnB1dEV2ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9kb20vSW5wdXRFdmVudC5pZGwJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3Jl
L2RvbS9JbnB1dEV2ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQsNyArMjQsNyBAQAogKi8K
IAogWwotICAgIEVuYWJsZWRBdFJ1bnRpbWU9SW5wdXRFdmVudHMsCisgICAgRW5hYmxlZEJ5U2V0
dGluZz1JbnB1dEV2ZW50cywKIF0gaW50ZXJmYWNlIElucHV0RXZlbnQgOiBVSUV2ZW50IHsKICAg
ICBjb25zdHJ1Y3RvcihET01TdHJpbmcgdHlwZSwgb3B0aW9uYWwgSW5wdXRFdmVudEluaXQgZXZl
bnRJbml0RGljdCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAJKHJldmlzaW9uIDI2NjMxMikKKysr
IFNvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjAsMTAgKzYw
LDEwIEBACiAjaW5jbHVkZSAiUmVuZGVyQm94LmgiCiAjaW5jbHVkZSAiUmVuZGVyVGV4dENvbnRy
b2wuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCi0jaW5jbHVkZSAiUnVudGltZUVuYWJsZWRG
ZWF0dXJlcy5oIgogI2luY2x1ZGUgIlNWR0VsZW1lbnQuaCIKICNpbmNsdWRlICJTY29wZWRFdmVu
dFF1ZXVlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RGlzYWxsb3dlZFNjb3BlLmgiCisjaW5jbHVkZSAi
U2V0dGluZ3MuaCIKICNpbmNsdWRlICJTdG9yYWdlRXZlbnQuaCIKICNpbmNsdWRlICJTdHlsZVJl
c29sdmVyLmgiCiAjaW5jbHVkZSAiU3R5bGVTaGVldENvbnRlbnRzLmgiCkBAIC0yNDIyLDcgKzI0
MjIsNyBAQCB2b2lkIE5vZGU6OmRpc3BhdGNoRE9NQWN0aXZhdGVFdmVudChFdmVuCiAKIGJvb2wg
Tm9kZTo6ZGlzcGF0Y2hCZWZvcmVMb2FkRXZlbnQoY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpCiB7
Ci0gICAgaWYgKCFSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmxlZ2Fj
eUJlZm9yZUxvYWRFdmVudEVuYWJsZWQoKSkKKyAgICBpZiAoIWRvY3VtZW50KCkuc2V0dGluZ3Mo
KS5sZWdhY3lCZWZvcmVMb2FkRXZlbnRFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwog
CiAgICAgaWYgKCFkb2N1bWVudCgpLmhhc0xpc3RlbmVyVHlwZShEb2N1bWVudDo6QkVGT1JFTE9B
RF9MSVNURU5FUikpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vU3RhdGljUmFuZ2UuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9TdGF0aWNSYW5nZS5pZGwJKHJldmlzaW9u
IDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9TdGF0aWNSYW5nZS5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTI0LDcgKzI0LDcgQEAKICAqLwogCiBbCi0gICAgRW5hYmxlZEF0UnVudGltZT1J
bnB1dEV2ZW50cywKKyAgICBFbmFibGVkQnlTZXR0aW5nPUlucHV0RXZlbnRzLAogICAgIEltcGxl
bWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRXhwb3NlZD1XaW5kb3csCiBdIGludGVyZmFjZSBT
dGF0aWNSYW5nZSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCShyZXZpc2lvbiAy
NjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTE4MjEsNyArMTgyMSw3IEBAIHZvaWQgRWRpdG9yOjpyZWRvKCkKIAogdm9pZCBFZGl0
b3I6OnJlZ2lzdGVyQ3VzdG9tVW5kb1N0ZXAoUmVmPEN1c3RvbVVuZG9TdGVwPiYmIHVuZG9TdGVw
KQogewotICAgIEFTU0VSVChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygp
LnVuZG9NYW5hZ2VyQVBJRW5hYmxlZCgpKTsKKyAgICBBU1NFUlQobV9kb2N1bWVudC5zZXR0aW5n
cygpLnVuZG9NYW5hZ2VyQVBJRW5hYmxlZCgpKTsKICAgICBpZiAoYXV0byogY2xpZW50ID0gdGhp
cy0+Y2xpZW50KCkpCiAgICAgICAgIGNsaWVudC0+cmVnaXN0ZXJVbmRvU3RlcChXVEZNb3ZlKHVu
ZG9TdGVwKSk7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50
LmNwcAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9y
RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4NCw3ICszODQsNyBAQCB2b2lkIEhUTUxB
bmNob3JFbGVtZW50OjpzZW5kUGluZ3MoY29uc3QgCiAjaWYgVVNFKFNZU1RFTV9QUkVWSUVXKQog
Ym9vbCBIVE1MQW5jaG9yRWxlbWVudDo6aXNTeXN0ZW1QcmV2aWV3TGluaygpCiB7Ci0gICAgaWYg
KCFSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnN5c3RlbVByZXZpZXdF
bmFibGVkKCkpCisgICAgaWYgKCFkb2N1bWVudCgpLnNldHRpbmdzKCkuc3lzdGVtUHJldmlld0Vu
YWJsZWQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgc3RhdGljIE1haW5UaHJlYWRO
ZXZlckRlc3Ryb3llZDxjb25zdCBBdG9tU3RyaW5nPiBzeXN0ZW1QcmV2aWV3UmVsVmFsdWUoImFy
IiwgQXRvbVN0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOwpAQCAtNDEyLDcgKzQxMiw3IEBA
IE9wdGlvbmFsPEFkQ2xpY2tBdHRyaWJ1dGlvbj4gSFRNTEFuY2hvckUKIAogICAgIGF1dG8qIHBh
Z2UgPSBkb2N1bWVudCgpLnBhZ2UoKTsKICAgICBpZiAoIXBhZ2UgfHwgcGFnZS0+c2Vzc2lvbklE
KCkuaXNFcGhlbWVyYWwoKQotICAgICAgICB8fCAhUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5hZENsaWNrQXR0cmlidXRpb25FbmFibGVkKCkKKyAgICAgICAgfHwgIWRv
Y3VtZW50KCkuc2V0dGluZ3MoKS5hZENsaWNrQXR0cmlidXRpb25FbmFibGVkKCkKICAgICAgICAg
fHwgIVVzZXJHZXN0dXJlSW5kaWNhdG9yOjpwcm9jZXNzaW5nVXNlckdlc3R1cmUoKSkKICAgICAg
ICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIApAQCAtNDg2LDcgKzQ4Niw3IEBAIHZvaWQgSFRNTEFu
Y2hvckVsZW1lbnQ6OmhhbmRsZUNsaWNrKEV2ZW4KIAogICAgIFN0cmluZyBkb3dubG9hZEF0dHJp
YnV0ZTsKICNpZiBFTkFCTEUoRE9XTkxPQURfQVRUUklCVVRFKQotICAgIGlmIChSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmRvd25sb2FkQXR0cmlidXRlRW5hYmxlZCgp
KSB7CisgICAgaWYgKGRvY3VtZW50KCkuc2V0dGluZ3MoKS5kb3dubG9hZEF0dHJpYnV0ZUVuYWJs
ZWQoKSkgewogICAgICAgICAvLyBJZ25vcmUgdGhlIGRvd25sb2FkIGF0dHJpYnV0ZSBjb21wbGV0
ZWx5IGlmIHRoZSBocmVmIFVSTCBpcyBjcm9zcyBvcmlnaW4uCiAgICAgICAgIGJvb2wgaXNTYW1l
T3JpZ2luID0gY29tcGxldGVkVVJMLnByb3RvY29sSXNEYXRhKCkgfHwgZG9jdW1lbnQoKS5zZWN1
cml0eU9yaWdpbigpLmNhblJlcXVlc3QoY29tcGxldGVkVVJMKTsKICAgICAgICAgaWYgKGlzU2Ft
ZU9yaWdpbikKQEAgLTQ5OCw3ICs0OTgsNyBAQCB2b2lkIEhUTUxBbmNob3JFbGVtZW50OjpoYW5k
bGVDbGljayhFdmVuCiAKICAgICBTeXN0ZW1QcmV2aWV3SW5mbyBzeXN0ZW1QcmV2aWV3SW5mbzsK
ICNpZiBVU0UoU1lTVEVNX1BSRVZJRVcpCi0gICAgc3lzdGVtUHJldmlld0luZm8uaXNQcmV2aWV3
ID0gaXNTeXN0ZW1QcmV2aWV3TGluaygpICYmIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJl
ZEZlYXR1cmVzKCkuc3lzdGVtUHJldmlld0VuYWJsZWQoKTsKKyAgICBzeXN0ZW1QcmV2aWV3SW5m
by5pc1ByZXZpZXcgPSBpc1N5c3RlbVByZXZpZXdMaW5rKCkgJiYgZG9jdW1lbnQoKS5zZXR0aW5n
cygpLnN5c3RlbVByZXZpZXdFbmFibGVkKCk7CiAKICAgICBpZiAoc3lzdGVtUHJldmlld0luZm8u
aXNQcmV2aWV3KSB7CiAgICAgICAgIHN5c3RlbVByZXZpZXdJbmZvLmVsZW1lbnQuZWxlbWVudElk
ZW50aWZpZXIgPSBkb2N1bWVudCgpLmlkZW50aWZpZXJGb3JFbGVtZW50KCp0aGlzKTsKQEAgLTUx
NSw3ICs1MTUsNyBAQCB2b2lkIEhUTUxBbmNob3JFbGVtZW50OjpoYW5kbGVDbGljayhFdmVuCiAg
ICAgT3B0aW9uYWw8TmV3RnJhbWVPcGVuZXJQb2xpY3k+IG5ld0ZyYW1lT3BlbmVyUG9saWN5Owog
ICAgIGlmIChoYXNSZWwoUmVsYXRpb246Ok9wZW5lcikpCiAgICAgICAgIG5ld0ZyYW1lT3BlbmVy
UG9saWN5ID0gTmV3RnJhbWVPcGVuZXJQb2xpY3k6OkFsbG93OwotICAgIGVsc2UgaWYgKGhhc1Jl
bChSZWxhdGlvbjo6Tm9PcGVuZXIpIHx8IChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRG
ZWF0dXJlcygpLmJsYW5rQW5jaG9yVGFyZ2V0SW1wbGllc05vT3BlbmVyRW5hYmxlZCgpICYmIGVx
dWFsSWdub3JpbmdBU0NJSUNhc2UoZWZmZWN0aXZlVGFyZ2V0LCAiX2JsYW5rIikpKQorICAgIGVs
c2UgaWYgKGhhc1JlbChSZWxhdGlvbjo6Tm9PcGVuZXIpIHx8IChkb2N1bWVudCgpLnNldHRpbmdz
KCkuYmxhbmtBbmNob3JUYXJnZXRJbXBsaWVzTm9PcGVuZXJFbmFibGVkKCkgJiYgZXF1YWxJZ25v
cmluZ0FTQ0lJQ2FzZShlZmZlY3RpdmVUYXJnZXQsICJfYmxhbmsiKSkpCiAgICAgICAgIG5ld0Zy
YW1lT3BlbmVyUG9saWN5ID0gTmV3RnJhbWVPcGVuZXJQb2xpY3k6OlN1cHByZXNzOwogCiAgICAg
YXV0byBhZENsaWNrQXR0cmlidXRpb24gPSBwYXJzZUFkQ2xpY2tBdHRyaWJ1dGlvbigpOwpAQCAt
NjMxLDcgKzYzMSw3IEBAIFN0cmluZyBIVE1MQW5jaG9yRWxlbWVudDo6cmVmZXJyZXJQb2xpY3kK
IAogUmVmZXJyZXJQb2xpY3kgSFRNTEFuY2hvckVsZW1lbnQ6OnJlZmVycmVyUG9saWN5KCkgY29u
c3QKIHsKLSAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5y
ZWZlcnJlclBvbGljeUF0dHJpYnV0ZUVuYWJsZWQoKSkKKyAgICBpZiAoZG9jdW1lbnQoKS5zZXR0
aW5ncygpLnJlZmVycmVyUG9saWN5QXR0cmlidXRlRW5hYmxlZCgpKQogICAgICAgICByZXR1cm4g
cGFyc2VSZWZlcnJlclBvbGljeShhdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKHJlZmVy
cmVycG9saWN5QXR0ciksIFJlZmVycmVyUG9saWN5U291cmNlOjpSZWZlcnJlclBvbGljeUF0dHJp
YnV0ZSkudmFsdWVPcihSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmcpOwogICAgIHJldHVybiBS
ZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmc7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxBbmNob3JFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxBbmNob3JFbGVtZW50LmlkbAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTE5LDExICsx
OSwxMSBAQAogICovCiAKIGludGVyZmFjZSBIVE1MQW5jaG9yRWxlbWVudCA6IEhUTUxFbGVtZW50
IHsKLSAgICBbQ0VSZWFjdGlvbnM9Tm90TmVlZGVkLCBFbmFibGVkQXRSdW50aW1lPUFkQ2xpY2tB
dHRyaWJ1dGlvbiwgUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBhZGNhbXBhaWduaWQ7Ci0g
ICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRlZCwgRW5hYmxlZEF0UnVudGltZT1BZENsaWNrQXR0cmli
dXRpb24sIFJlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgYWRkZXN0aW5hdGlvbjsKKyAgICBb
Q0VSZWFjdGlvbnM9Tm90TmVlZGVkLCBFbmFibGVkQnlTZXR0aW5nPUFkQ2xpY2tBdHRyaWJ1dGlv
biwgUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBhZGNhbXBhaWduaWQ7CisgICAgW0NFUmVh
Y3Rpb25zPU5vdE5lZWRlZCwgRW5hYmxlZEJ5U2V0dGluZz1BZENsaWNrQXR0cmlidXRpb24sIFJl
ZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgYWRkZXN0aW5hdGlvbjsKICAgICBbQ0VSZWFjdGlv
bnM9Tm90TmVlZGVkLCBSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGNoYXJzZXQ7CiAgICAg
W0NFUmVhY3Rpb25zPU5vdE5lZWRlZCwgUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBjb29y
ZHM7Ci0gICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRlZCwgQ29uZGl0aW9uYWw9RE9XTkxPQURfQVRU
UklCVVRFLCBFbmFibGVkQXRSdW50aW1lPURvd25sb2FkQXR0cmlidXRlLCBSZWZsZWN0XSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIGRvd25sb2FkOworICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWQsIENv
bmRpdGlvbmFsPURPV05MT0FEX0FUVFJJQlVURSwgRW5hYmxlZEJ5U2V0dGluZz1Eb3dubG9hZEF0
dHJpYnV0ZSwgUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBkb3dubG9hZDsKICAgICBbQ0VS
ZWFjdGlvbnM9Tm90TmVlZGVkLCBSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGhyZWZsYW5n
OwogICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWQsIFJlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJp
bmcgbmFtZTsKICAgICBbQ0VSZWFjdGlvbnM9Tm90TmVlZGVkLCBSZWZsZWN0XSBhdHRyaWJ1dGUg
VVNWU3RyaW5nIHBpbmc7CkBAIC0zNyw3ICszNyw3IEBAIGludGVyZmFjZSBIVE1MQW5jaG9yRWxl
bWVudCA6IEhUTUxFbGVtZW4KIAogICAgIFtQdXRGb3J3YXJkcz12YWx1ZV0gcmVhZG9ubHkgYXR0
cmlidXRlIERPTVRva2VuTGlzdCByZWxMaXN0OwogCi0gICAgW0VuYWJsZWRBdFJ1bnRpbWU9UmVm
ZXJyZXJQb2xpY3lBdHRyaWJ1dGUsIEltcGxlbWVudGVkQXM9cmVmZXJyZXJQb2xpY3lGb3JCaW5k
aW5ncywgQ0VSZWFjdGlvbnM9Tm90TmVlZGVkXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlZmVycmVy
UG9saWN5OworICAgIFtFbmFibGVkQnlTZXR0aW5nPVJlZmVycmVyUG9saWN5QXR0cmlidXRlLCBJ
bXBsZW1lbnRlZEFzPXJlZmVycmVyUG9saWN5Rm9yQmluZGluZ3MsIENFUmVhY3Rpb25zPU5vdE5l
ZWRlZF0gYXR0cmlidXRlIERPTVN0cmluZyByZWZlcnJlclBvbGljeTsKIH07CiAKIEhUTUxBbmNo
b3JFbGVtZW50IGltcGxlbWVudHMgSFRNTEh5cGVybGlua0VsZW1lbnRVdGlsczsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFyZWFFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxBcmVhRWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjMxMikKKysr
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFyZWFFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMjcsNyArMjcsNyBAQCBpbnRlcmZhY2UgSFRNTEFyZWFFbGVtZW50IDogSFRNTEVsZW1lbnQg
CiAgICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRlZCwgUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmlu
ZyBzaGFwZTsKICAgICBbQ0VSZWFjdGlvbnM9Tm90TmVlZGVkLCBSZWZsZWN0XSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIHRhcmdldDsKIAotICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWQsIENvbmRpdGlv
bmFsPURPV05MT0FEX0FUVFJJQlVURSwgRW5hYmxlZEF0UnVudGltZT1Eb3dubG9hZEF0dHJpYnV0
ZSwgUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBkb3dubG9hZDsKKyAgICBbQ0VSZWFjdGlv
bnM9Tm90TmVlZGVkLCBDb25kaXRpb25hbD1ET1dOTE9BRF9BVFRSSUJVVEUsIEVuYWJsZWRCeVNl
dHRpbmc9RG93bmxvYWRBdHRyaWJ1dGUsIFJlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgZG93
bmxvYWQ7CiAKICAgICBbUHV0Rm9yd2FyZHM9dmFsdWVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01U
b2tlbkxpc3QgcmVsTGlzdDsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCdXR0
b25FbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCdXR0
b25FbGVtZW50LmlkbAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MQnV0dG9uRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM3LDcgKzM3LDcgQEAgaW50
ZXJmYWNlIEhUTUxCdXR0b25FbGVtZW50IDogSFRNTEVsZW1lbgogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBWYWxpZGl0eVN0YXRlIHZhbGlkaXR5OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01T
dHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2U7CiAgICAgYm9vbGVhbiBjaGVja1ZhbGlkaXR5KCk7Ci0g
ICAgW0VuYWJsZWRBdFJ1bnRpbWU9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0gYm9vbGVhbiBy
ZXBvcnRWYWxpZGl0eSgpOworICAgIFtFbmFibGVkQnlTZXR0aW5nPUludGVyYWN0aXZlRm9ybVZh
bGlkYXRpb25dIGJvb2xlYW4gcmVwb3J0VmFsaWRpdHkoKTsKICAgICB1bmRlZmluZWQgc2V0Q3Vz
dG9tVmFsaWRpdHkoRE9NU3RyaW5nIGVycm9yKTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBO
b2RlTGlzdCBsYWJlbHM7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGaWVsZFNldEVs
ZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZpZWxkU2V0
RWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEZpZWxkU2V0RWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDYgQEAgaW50
ZXJmYWNlIEhUTUxGaWVsZFNldEVsZW1lbnQgOiBIVE1MRWxlbQogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBWYWxpZGl0eVN0YXRlICAgdmFsaWRpdHk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERP
TVN0cmluZyAgICAgICB2YWxpZGF0aW9uTWVzc2FnZTsKICAgICBib29sZWFuICBjaGVja1ZhbGlk
aXR5KCk7Ci0gICAgW0VuYWJsZWRBdFJ1bnRpbWU9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0g
Ym9vbGVhbiByZXBvcnRWYWxpZGl0eSgpOworICAgIFtFbmFibGVkQnlTZXR0aW5nPUludGVyYWN0
aXZlRm9ybVZhbGlkYXRpb25dIGJvb2xlYW4gcmVwb3J0VmFsaWRpdHkoKTsKICAgICB1bmRlZmlu
ZWQgc2V0Q3VzdG9tVmFsaWRpdHkoRE9NU3RyaW5nIGVycm9yKTsKIH07CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQx
LDUgKzQxLDUgQEAKICAgICBbSW1wbGVtZW50ZWRBcz1zdWJtaXRGcm9tSmF2YVNjcmlwdF0gdW5k
ZWZpbmVkIHN1Ym1pdCgpOwogICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWRdIHVuZGVmaW5lZCBy
ZXNldCgpOwogICAgIGJvb2xlYW4gY2hlY2tWYWxpZGl0eSgpOwotICAgIFtFbmFibGVkQXRSdW50
aW1lPUludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25dIGJvb2xlYW4gcmVwb3J0VmFsaWRpdHkoKTsK
KyAgICBbRW5hYmxlZEJ5U2V0dGluZz1JbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uXSBib29sZWFu
IHJlcG9ydFZhbGlkaXR5KCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZy
YW1lRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZy
YW1lRWxlbWVudC5jcHAJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTElGcmFtZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw4ICszMCw4IEBACiAj
aW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJSZW5k
ZXJJRnJhbWUuaCIKLSNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCiAjaW5jbHVk
ZSAiU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyLmgiCisjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNp
bmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC0xMzAsNyArMTMwLDcgQEAgU3RyaW5nIEhUTUxJRnJhbWVFbGVtZW50OjpyZWZlcnJlclBvbGlj
eQogCiBSZWZlcnJlclBvbGljeSBIVE1MSUZyYW1lRWxlbWVudDo6cmVmZXJyZXJQb2xpY3koKSBj
b25zdAogewotICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygp
LnJlZmVycmVyUG9saWN5QXR0cmlidXRlRW5hYmxlZCgpKQorICAgIGlmIChkb2N1bWVudCgpLnNl
dHRpbmdzKCkucmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGVFbmFibGVkKCkpCiAgICAgICAgIHJldHVy
biBwYXJzZVJlZmVycmVyUG9saWN5KGF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24ocmVm
ZXJyZXJwb2xpY3lBdHRyKSwgUmVmZXJyZXJQb2xpY3lTb3VyY2U6OlJlZmVycmVyUG9saWN5QXR0
cmlidXRlKS52YWx1ZU9yKFJlZmVycmVyUG9saWN5OjpFbXB0eVN0cmluZyk7CiAgICAgcmV0dXJu
IFJlZmVycmVyUG9saWN5OjpFbXB0eVN0cmluZzsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTElGcmFtZUVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTElGcmFtZUVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDIsNSAr
NDIsNSBAQCBpbnRlcmZhY2UgSFRNTElGcmFtZUVsZW1lbnQgOiBIVE1MRWxlbWVuCiAKICAgICBb
Q2hlY2tTZWN1cml0eUZvck5vZGUsIE1heVRocm93RXhjZXB0aW9uXSBEb2N1bWVudCBnZXRTVkdE
b2N1bWVudCgpOwogCi0gICAgW0VuYWJsZWRBdFJ1bnRpbWU9UmVmZXJyZXJQb2xpY3lBdHRyaWJ1
dGUsIEltcGxlbWVudGVkQXM9cmVmZXJyZXJQb2xpY3lGb3JCaW5kaW5ncywgQ0VSZWFjdGlvbnM9
Tm90TmVlZGVkXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlZmVycmVyUG9saWN5OworICAgIFtFbmFi
bGVkQnlTZXR0aW5nPVJlZmVycmVyUG9saWN5QXR0cmlidXRlLCBJbXBsZW1lbnRlZEFzPXJlZmVy
cmVyUG9saWN5Rm9yQmluZGluZ3MsIENFUmVhY3Rpb25zPU5vdE5lZWRlZF0gYXR0cmlidXRlIERP
TVN0cmluZyByZWZlcnJlclBvbGljeTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxJbWFnZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEltYWdlRWxlbWVudC5jcHAJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEltYWdlRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1MSw3ICsyNTEsNyBA
QCB2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQoCiB7CiAgICAgSFRNTEVs
ZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQobmFtZSwgb2xkVmFsdWUsIG5ld1ZhbHVlLCByZWFzb24p
OwogCi0gICAgaWYgKG5hbWUgPT0gcmVmZXJyZXJwb2xpY3lBdHRyICYmIFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkucmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGVFbmFibGVk
KCkpIHsKKyAgICBpZiAobmFtZSA9PSByZWZlcnJlcnBvbGljeUF0dHIgJiYgZG9jdW1lbnQoKS5z
ZXR0aW5ncygpLnJlZmVycmVyUG9saWN5QXR0cmlidXRlRW5hYmxlZCgpKSB7CiAgICAgICAgIGF1
dG8gb2xkUmVmZXJyZXJQb2xpY3kgPSBwYXJzZVJlZmVycmVyUG9saWN5KG9sZFZhbHVlLCBSZWZl
cnJlclBvbGljeVNvdXJjZTo6UmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGUpLnZhbHVlT3IoUmVmZXJy
ZXJQb2xpY3k6OkVtcHR5U3RyaW5nKTsKICAgICAgICAgYXV0byBuZXdSZWZlcnJlclBvbGljeSA9
IHBhcnNlUmVmZXJyZXJQb2xpY3kobmV3VmFsdWUsIFJlZmVycmVyUG9saWN5U291cmNlOjpSZWZl
cnJlclBvbGljeUF0dHJpYnV0ZSkudmFsdWVPcihSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmcp
OwogICAgICAgICBpZiAob2xkUmVmZXJyZXJQb2xpY3kgIT0gbmV3UmVmZXJyZXJQb2xpY3kpCkBA
IC04ODIsNyArODgyLDcgQEAgYm9vbCBIVE1MSW1hZ2VFbGVtZW50Ojp3aWxsUmVzcG9uZFRvTW91
cwogI2lmIFVTRShTWVNURU1fUFJFVklFVykKIGJvb2wgSFRNTEltYWdlRWxlbWVudDo6aXNTeXN0
ZW1QcmV2aWV3SW1hZ2UoKSBjb25zdAogewotICAgIGlmICghUnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2hhcmVkRmVhdHVyZXMoKS5zeXN0ZW1QcmV2aWV3RW5hYmxlZCgpKQorICAgIGlmICghZG9j
dW1lbnQoKS5zZXR0aW5ncygpLnN5c3RlbVByZXZpZXdFbmFibGVkKCkpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKIAogICAgIGF1dG8qIHBhcmVudCA9IHBhcmVudEVsZW1lbnQoKTsKQEAgLTk3MSw3
ICs5NzEsNyBAQCBTdHJpbmcgSFRNTEltYWdlRWxlbWVudDo6cmVmZXJyZXJQb2xpY3lGCiAKIFJl
ZmVycmVyUG9saWN5IEhUTUxJbWFnZUVsZW1lbnQ6OnJlZmVycmVyUG9saWN5KCkgY29uc3QKIHsK
LSAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5yZWZlcnJl
clBvbGljeUF0dHJpYnV0ZUVuYWJsZWQoKSkKKyAgICBpZiAoZG9jdW1lbnQoKS5zZXR0aW5ncygp
LnJlZmVycmVyUG9saWN5QXR0cmlidXRlRW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gcGFyc2VS
ZWZlcnJlclBvbGljeShhdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKHJlZmVycmVycG9s
aWN5QXR0ciksIFJlZmVycmVyUG9saWN5U291cmNlOjpSZWZlcnJlclBvbGljeUF0dHJpYnV0ZSku
dmFsdWVPcihSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmcpOwogICAgIHJldHVybiBSZWZlcnJl
clBvbGljeTo6RW1wdHlTdHJpbmc7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJ
bWFnZUVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElt
YWdlRWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEltYWdlRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDggKzQ0LDggQEAKIAog
ICAgIFtDb25kaXRpb25hbD1BVFRBQ0hNRU5UX0VMRU1FTlQsIEVuYWJsZWRBdFJ1bnRpbWU9QXR0
YWNobWVudEVsZW1lbnRdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgYXR0YWNobWVudElk
ZW50aWZpZXI7CiAKLSAgICBbRW5hYmxlZEF0UnVudGltZT1SZWZlcnJlclBvbGljeUF0dHJpYnV0
ZSwgSW1wbGVtZW50ZWRBcz1yZWZlcnJlclBvbGljeUZvckJpbmRpbmdzLCBDRVJlYWN0aW9ucz1O
b3ROZWVkZWRdIGF0dHJpYnV0ZSBET01TdHJpbmcgcmVmZXJyZXJQb2xpY3k7Ci0gICAgW0NFUmVh
Y3Rpb25zLCBFbmFibGVkQXRSdW50aW1lPUxhenlJbWFnZUxvYWRpbmcsIEltcGxlbWVudGVkQXM9
bG9hZGluZ0ZvckJpbmRpbmdzXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGxvYWRpbmc7CisgICAgW0Vu
YWJsZWRCeVNldHRpbmc9UmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGUsIEltcGxlbWVudGVkQXM9cmVm
ZXJyZXJQb2xpY3lGb3JCaW5kaW5ncywgQ0VSZWFjdGlvbnM9Tm90TmVlZGVkXSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIHJlZmVycmVyUG9saWN5OworICAgIFtDRVJlYWN0aW9ucywgRW5hYmxlZEJ5U2V0
dGluZz1MYXp5SW1hZ2VMb2FkaW5nLCBJbXBsZW1lbnRlZEFzPWxvYWRpbmdGb3JCaW5kaW5nc10g
YXR0cmlidXRlIERPTVN0cmluZyBsb2FkaW5nOwogCiAgICAgLy8gRXh0ZW5zaW9ucwogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGNvbXBsZXRlOwpJbmRleDogU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC03MSw3ICs3
MSw3IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFZhbGlkaXR5U3RhdGUgdmFsaWRpdHk7CiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZTsKICAgICBi
b29sZWFuIGNoZWNrVmFsaWRpdHkoKTsKLSAgICBbRW5hYmxlZEF0UnVudGltZT1JbnRlcmFjdGl2
ZUZvcm1WYWxpZGF0aW9uXSBib29sZWFuIHJlcG9ydFZhbGlkaXR5KCk7CisgICAgW0VuYWJsZWRC
eVNldHRpbmc9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0gYm9vbGVhbiByZXBvcnRWYWxpZGl0
eSgpOwogICAgIHVuZGVmaW5lZCBzZXRDdXN0b21WYWxpZGl0eShET01TdHJpbmcgZXJyb3IpOwog
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5vZGVMaXN0IGxhYmVsczsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEtleWdlbkVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEtleWdlbkVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxLZXlnZW5FbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpA
QCAtNDMsNyArNDMsNyBAQCBpbnRlcmZhY2UgSFRNTEtleWdlbkVsZW1lbnQgOiBIVE1MRWxlbWVu
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFZhbGlkaXR5U3RhdGUgdmFsaWRpdHk7CiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZTsKICAgICBib29sZWFu
IGNoZWNrVmFsaWRpdHkoKTsKLSAgICBbRW5hYmxlZEF0UnVudGltZT1JbnRlcmFjdGl2ZUZvcm1W
YWxpZGF0aW9uXSBib29sZWFuIHJlcG9ydFZhbGlkaXR5KCk7CisgICAgW0VuYWJsZWRCeVNldHRp
bmc9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0gYm9vbGVhbiByZXBvcnRWYWxpZGl0eSgpOwog
ICAgIHVuZGVmaW5lZCBzZXRDdXN0b21WYWxpZGl0eShET01TdHJpbmcgZXJyb3IpOwogCiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIE5vZGVMaXN0IGxhYmVsczsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTExpbmtFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxMaW5rRWxlbWVudC5jcHAJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTIsNyArNTIs
NiBAQAogI2luY2x1ZGUgIk1vdXNlRXZlbnQuaCIKICNpbmNsdWRlICJQYXJzZWRDb250ZW50VHlw
ZS5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCi0jaW5jbHVkZSAiUnVudGltZUVuYWJsZWRG
ZWF0dXJlcy5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2V0dGlu
Z3MuaCIKICNpbmNsdWRlICJTdHlsZUluaGVyaXRlZERhdGEuaCIKQEAgLTI0MSw5ICsyNDAsNyBA
QCBTdHJpbmcgSFRNTExpbmtFbGVtZW50OjphcygpIGNvbnN0CiAgICAgICAgIHx8IGVxdWFsTGV0
dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGFzLCAiaW1hZ2UiKQogICAgICAgICB8fCBlcXVhbExldHRl
cnNJZ25vcmluZ0FTQ0lJQ2FzZShhcywgInNjcmlwdCIpCiAgICAgICAgIHx8IGVxdWFsTGV0dGVy
c0lnbm9yaW5nQVNDSUlDYXNlKGFzLCAic3R5bGUiKQotICAgICAgICB8fCAoUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5tZWRpYVByZWxvYWRpbmdFbmFibGVkKCkKLSAg
ICAgICAgICAgICYmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShhcywgInZpZGVvIikK
LSAgICAgICAgICAgICAgICB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShhcywgImF1
ZGlvIikpKQorICAgICAgICB8fCAoZG9jdW1lbnQoKS5zZXR0aW5ncygpLm1lZGlhUHJlbG9hZGlu
Z0VuYWJsZWQoKSAmJiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoYXMsICJ2aWRlbyIp
IHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGFzLCAiYXVkaW8iKSkpCiAgICAgICAg
IHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGFzLCAidHJhY2siKQogICAgICAgICB8
fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShhcywgImZvbnQiKSkKICAgICAgICAgcmV0
dXJuIGFzLmNvbnZlcnRUb0FTQ0lJTG93ZXJjYXNlKCk7CkBAIC02NzgsNyArNjc1LDcgQEAgU3Ry
aW5nIEhUTUxMaW5rRWxlbWVudDo6cmVmZXJyZXJQb2xpY3lGbwogCiBSZWZlcnJlclBvbGljeSBI
VE1MTGlua0VsZW1lbnQ6OnJlZmVycmVyUG9saWN5KCkgY29uc3QKIHsKLSAgICBpZiAoUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5yZWZlcnJlclBvbGljeUF0dHJpYnV0
ZUVuYWJsZWQoKSkKKyAgICBpZiAoZG9jdW1lbnQoKS5zZXR0aW5ncygpLnJlZmVycmVyUG9saWN5
QXR0cmlidXRlRW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gcGFyc2VSZWZlcnJlclBvbGljeShh
dHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKHJlZmVycmVycG9saWN5QXR0ciksIFJlZmVy
cmVyUG9saWN5U291cmNlOjpSZWZlcnJlclBvbGljeUF0dHJpYnV0ZSkudmFsdWVPcihSZWZlcnJl
clBvbGljeTo6RW1wdHlTdHJpbmcpOwogICAgIHJldHVybiBSZWZlcnJlclBvbGljeTo6RW1wdHlT
dHJpbmc7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuaWRsCShy
ZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTM1LDggKzM1LDggQEAKICAgICBbQ0VSZWFjdGlvbnM9Tm90
TmVlZGVkLCBSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHR5cGU7CiAgICAgW0NFUmVhY3Rp
b25zPU5vdE5lZWRlZF0gYXR0cmlidXRlIERPTVN0cmluZyBhczsKICAgICBbQ0VSZWFjdGlvbnM9
Tm90TmVlZGVkXSBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBjcm9zc09yaWdpbjsKLSAgICBbQ0VSZWFj
dGlvbnM9Tm90TmVlZGVkLCBSZWZsZWN0LCBFbmFibGVkQXRSdW50aW1lPUxpbmtQcmVsb2FkUmVz
cG9uc2l2ZUltYWdlc10gYXR0cmlidXRlIERPTVN0cmluZyBpbWFnZVNyY3NldDsKLSAgICBbQ0VS
ZWFjdGlvbnM9Tm90TmVlZGVkLCBSZWZsZWN0LCBFbmFibGVkQXRSdW50aW1lPUxpbmtQcmVsb2Fk
UmVzcG9uc2l2ZUltYWdlc10gYXR0cmlidXRlIERPTVN0cmluZyBpbWFnZVNpemVzOworICAgIFtD
RVJlYWN0aW9ucz1Ob3ROZWVkZWQsIFJlZmxlY3QsIEVuYWJsZWRCeVNldHRpbmc9TGlua1ByZWxv
YWRSZXNwb25zaXZlSW1hZ2VzXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGltYWdlU3Jjc2V0OworICAg
IFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWQsIFJlZmxlY3QsIEVuYWJsZWRCeVNldHRpbmc9TGlua1By
ZWxvYWRSZXNwb25zaXZlSW1hZ2VzXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGltYWdlU2l6ZXM7CiAK
ICAgICAvLyBET00gTGV2ZWwgMiBTdHlsZQogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTdHlsZVNo
ZWV0IHNoZWV0OwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3Bw
CShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDUxLDcgKzI0NTEsNyBAQCB2b2lkIEhUTUxNZWRp
YUVsZW1lbnQ6OnVwZGF0ZVNob3VsZENvbnRpCiB7CiAgICAgaWYgKCFtX3BsYXllcikKICAgICAg
ICAgcmV0dXJuOwotICAgIGJvb2wgc2hvdWxkQ29udGludWUgPSBoYXNFdmVudExpc3RlbmVycygi
d2Via2l0bmVlZGtleSIpIHx8IChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJl
cygpLmVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZCgpICYmICFkb2N1bWVudCgpLnF1aXJrcygpLmhh
c0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydFF1aXJrKCkpOworICAgIGJvb2wgc2hvdWxk
Q29udGludWUgPSBoYXNFdmVudExpc3RlbmVycygid2Via2l0bmVlZGtleSIpIHx8IChkb2N1bWVu
dCgpLnNldHRpbmdzKCkuZW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKCkgJiYgIWRvY3VtZW50KCku
cXVpcmtzKCkuaGFzQnJva2VuRW5jcnlwdGVkTWVkaWFBUElTdXBwb3J0UXVpcmsoKSk7CiAgICAg
bV9wbGF5ZXItPnNldFNob3VsZENvbnRpbnVlQWZ0ZXJLZXlOZWVkZWQoc2hvdWxkQ29udGludWUp
OwogfQogI2VuZGlmCkBAIC0yNDYzLDE0ICsyNDYzLDE0IEBAIFJlZlB0cjxBcnJheUJ1ZmZlcj4g
SFRNTE1lZGlhRWxlbWVudDo6bWUKIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXll
cktleU5lZWRlZChVaW50OEFycmF5KiBpbml0RGF0YSkKIHsKLSAgICBpZiAoIVJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkubGVnYWN5RW5jcnlwdGVkTWVkaWFBUElFbmFi
bGVkKCkpCisgICAgaWYgKCFkb2N1bWVudCgpLnNldHRpbmdzKCkubGVnYWN5RW5jcnlwdGVkTWVk
aWFBUElFbmFibGVkKCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmICghaGFzRXZlbnRMaXN0
ZW5lcnMoIndlYmtpdG5lZWRrZXkiKQogI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCiAgICAg
ICAgIC8vIE9ubHkgZmlyZSBhbiBlcnJvciBpZiBFTkNSWVBURURfTUVESUEgaXMgbm90IGVuYWJs
ZWQsIHRvIGdpdmUgY2xpZW50cyBvZiB0aGUKICAgICAgICAgLy8gImVuY3J5cHRlZCIgZXZlbnQg
YSBjaGFuY2UgdG8gaGFuZGxlIGl0IHdpdGhvdXQgcmVzdWx0aW5nIGluIGEgc3ludGhldGljIGVy
cm9yLgotICAgICAgICAmJiAoIVJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVz
KCkuZW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKCkgfHwgZG9jdW1lbnQoKS5xdWlya3MoKS5oYXNC
cm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnRRdWlyaygpKQorICAgICAgICAmJiAoIWRvY3Vt
ZW50KCkuc2V0dGluZ3MoKS5lbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQoKSB8fCBkb2N1bWVudCgp
LnF1aXJrcygpLmhhc0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydFF1aXJrKCkpCiAjZW5k
aWYKICAgICAgICAgKSB7CiAgICAgICAgIG1fZXJyb3IgPSBNZWRpYUVycm9yOjpjcmVhdGUoTWVk
aWFFcnJvcjo6TUVESUFfRVJSX0VOQ1JZUFRFRCk7CkBAIC0yNDk4LDcgKzI0OTgsNyBAQCBTdHJp
bmcgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJNZWRpCiAKIHZvaWQgSFRNTE1lZGlhRWxl
bWVudDo6d2Via2l0U2V0TWVkaWFLZXlzKFdlYktpdE1lZGlhS2V5cyogbWVkaWFLZXlzKQogewot
ICAgIGlmICghUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5sZWdhY3lF
bmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQoKSkKKyAgICBpZiAoIWRvY3VtZW50KCkuc2V0dGluZ3Mo
KS5sZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgaWYgKG1fd2ViS2l0TWVkaWFLZXlzID09IG1lZGlhS2V5cykKQEAgLTI1MTMsNyArMjUxMyw3
IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6d2Via2l0U2V0TWVkaWFLZXkKIAogdm9pZCBIVE1M
TWVkaWFFbGVtZW50OjprZXlBZGRlZCgpCiB7Ci0gICAgaWYgKCFSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzaGFyZWRGZWF0dXJlcygpLmxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZCgpKQor
ICAgIGlmICghZG9jdW1lbnQoKS5zZXR0aW5ncygpLmxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJRW5h
YmxlZCgpKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAobV9wbGF5ZXIpCkBAIC0yNjA0LDcg
KzI2MDQsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNldE1lZGlhS2V5cyhNZWRpCiAKIHZv
aWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJJbml0aWFsaXphdGlvbkRhdGFFbmNvdW50
ZXJlZChjb25zdCBTdHJpbmcmIGluaXREYXRhVHlwZSwgUmVmUHRyPEFycmF5QnVmZmVyPiYmIGlu
aXREYXRhKQogewotICAgIGlmICghUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVy
ZXMoKS5lbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQoKSB8fCBkb2N1bWVudCgpLnF1aXJrcygpLmhh
c0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydFF1aXJrKCkpCisgICAgaWYgKCFkb2N1bWVu
dCgpLnNldHRpbmdzKCkuZW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKCkgfHwgZG9jdW1lbnQoKS5x
dWlya3MoKS5oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnRRdWlyaygpKQogICAgICAg
ICByZXR1cm47CiAKICAgICAvLyBodHRwczovL3czYy5naXRodWIuaW8vZW5jcnlwdGVkLW1lZGlh
LyNpbml0ZGF0YS1lbmNvdW50ZXJlZApJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0xMDIsMTIgKzEwMiwxMiBAQCB0
eXBlZGVmICgKICAgICBbQ29uZGl0aW9uYWw9TUVESUFfU1RBVElTVElDU10gcmVhZG9ubHkgYXR0
cmlidXRlIHVuc2lnbmVkIGxvbmcgd2Via2l0QXVkaW9EZWNvZGVkQnl0ZUNvdW50OwogICAgIFtD
b25kaXRpb25hbD1NRURJQV9TVEFUSVNUSUNTXSByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQg
bG9uZyB3ZWJraXRWaWRlb0RlY29kZWRCeXRlQ291bnQ7CiAKLSAgICBbQ29uZGl0aW9uYWw9TEVH
QUNZX0VOQ1JZUFRFRF9NRURJQSwgRW5hYmxlZEF0UnVudGltZT1MZWdhY3lFbmNyeXB0ZWRNZWRp
YUFQSV0gcmVhZG9ubHkgYXR0cmlidXRlIFdlYktpdE1lZGlhS2V5cyB3ZWJraXRLZXlzOwotICAg
IFtDb25kaXRpb25hbD1MRUdBQ1lfRU5DUllQVEVEX01FRElBLCBFbmFibGVkQXRSdW50aW1lPUxl
Z2FjeUVuY3J5cHRlZE1lZGlhQVBJXSB1bmRlZmluZWQgd2Via2l0U2V0TWVkaWFLZXlzKFdlYktp
dE1lZGlhS2V5cz8gbWVkaWFLZXlzKTsKLSAgICBbQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElB
LCBFbmFibGVkQXRSdW50aW1lPUVuY3J5cHRlZE1lZGlhQVBJLCBEaXNhYmxlZEJ5UXVpcms9aGFz
QnJva2VuRW5jcnlwdGVkTWVkaWFBUElTdXBwb3J0XSByZWFkb25seSBhdHRyaWJ1dGUgTWVkaWFL
ZXlzIG1lZGlhS2V5czsKLSAgICBbQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBLCBFbmFibGVk
QXRSdW50aW1lPUVuY3J5cHRlZE1lZGlhQVBJLCBEaXNhYmxlZEJ5UXVpcms9aGFzQnJva2VuRW5j
cnlwdGVkTWVkaWFBUElTdXBwb3J0XSBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uZW5jcnlwdGVk
OwotICAgIFtDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEsIEVuYWJsZWRBdFJ1bnRpbWU9RW5j
cnlwdGVkTWVkaWFBUEksIERpc2FibGVkQnlRdWlyaz1oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQ
SVN1cHBvcnRdIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb253YWl0aW5nZm9ya2V5OwotICAgIFtD
b25kaXRpb25hbD1FTkNSWVBURURfTUVESUEsIEVuYWJsZWRBdFJ1bnRpbWU9RW5jcnlwdGVkTWVk
aWFBUEksIERpc2FibGVkQnlRdWlyaz1oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnRd
IFByb21pc2U8dW5kZWZpbmVkPiBzZXRNZWRpYUtleXMoTWVkaWFLZXlzPyBtZWRpYUtleXMpOwor
ICAgIFtDb25kaXRpb25hbD1MRUdBQ1lfRU5DUllQVEVEX01FRElBLCBFbmFibGVkQnlTZXR0aW5n
PUxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJXSByZWFkb25seSBhdHRyaWJ1dGUgV2ViS2l0TWVkaWFL
ZXlzIHdlYmtpdEtleXM7CisgICAgW0NvbmRpdGlvbmFsPUxFR0FDWV9FTkNSWVBURURfTUVESUEs
IEVuYWJsZWRCeVNldHRpbmc9TGVnYWN5RW5jcnlwdGVkTWVkaWFBUEldIHVuZGVmaW5lZCB3ZWJr
aXRTZXRNZWRpYUtleXMoV2ViS2l0TWVkaWFLZXlzPyBtZWRpYUtleXMpOworICAgIFtDb25kaXRp
b25hbD1FTkNSWVBURURfTUVESUEsIEVuYWJsZWRCeVNldHRpbmc9RW5jcnlwdGVkTWVkaWFBUEks
IERpc2FibGVkQnlRdWlyaz1oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnRdIHJlYWRv
bmx5IGF0dHJpYnV0ZSBNZWRpYUtleXMgbWVkaWFLZXlzOworICAgIFtDb25kaXRpb25hbD1FTkNS
WVBURURfTUVESUEsIEVuYWJsZWRCeVNldHRpbmc9RW5jcnlwdGVkTWVkaWFBUEksIERpc2FibGVk
QnlRdWlyaz1oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnRdIGF0dHJpYnV0ZSBFdmVu
dEhhbmRsZXIgb25lbmNyeXB0ZWQ7CisgICAgW0NvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwg
RW5hYmxlZEJ5U2V0dGluZz1FbmNyeXB0ZWRNZWRpYUFQSSwgRGlzYWJsZWRCeVF1aXJrPWhhc0Jy
b2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydF0gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbndh
aXRpbmdmb3JrZXk7CisgICAgW0NvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwgRW5hYmxlZEJ5
U2V0dGluZz1FbmNyeXB0ZWRNZWRpYUFQSSwgRGlzYWJsZWRCeVF1aXJrPWhhc0Jyb2tlbkVuY3J5
cHRlZE1lZGlhQVBJU3VwcG9ydF0gUHJvbWlzZTx1bmRlZmluZWQ+IHNldE1lZGlhS2V5cyhNZWRp
YUtleXM/IG1lZGlhS2V5cyk7CiAKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIFRleHRUcmFjayBh
ZGRUZXh0VHJhY2soRE9NU3RyaW5nIGtpbmQsIG9wdGlvbmFsIERPTVN0cmluZyBsYWJlbCA9ICIi
LCBvcHRpb25hbCBET01TdHJpbmcgbGFuZ3VhZ2UgPSAiIik7CiAgICAgW0ltcGxlbWVudGVkQXM9
ZW5zdXJlQXVkaW9UcmFja3NdIHJlYWRvbmx5IGF0dHJpYnV0ZSBBdWRpb1RyYWNrTGlzdCBhdWRp
b1RyYWNrczsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1ldGFFbGVtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZXRhRWxlbWVudC5jcHAJKHJl
dmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1ldGFFbGVtZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsNiBAQAogI2luY2x1ZGUgIkRvY3VtZW50Lmgi
CiAjaW5jbHVkZSAiSFRNTEhlYWRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCi0j
aW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxs
b2NJbmxpbmVzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTg5LDcgKzg4LDcgQEAgdm9p
ZCBIVE1MTWV0YUVsZW1lbnQ6OnByb2Nlc3MoKQogCiAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9y
aW5nQVNDSUlDYXNlKG5hbWUoKSwgInZpZXdwb3J0IikpCiAgICAgICAgIGRvY3VtZW50KCkucHJv
Y2Vzc1ZpZXdwb3J0KGNvbnRlbnRWYWx1ZSwgVmlld3BvcnRBcmd1bWVudHM6OlZpZXdwb3J0TWV0
YSk7Ci0gICAgZWxzZSBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMo
KS5kaXNhYmxlZEFkYXB0YXRpb25zTWV0YVRhZ0VuYWJsZWQoKSAmJiBlcXVhbExldHRlcnNJZ25v
cmluZ0FTQ0lJQ2FzZShuYW1lKCksICJkaXNhYmxlZC1hZGFwdGF0aW9ucyIpKQorICAgIGVsc2Ug
aWYgKGRvY3VtZW50KCkuc2V0dGluZ3MoKS5kaXNhYmxlZEFkYXB0YXRpb25zTWV0YVRhZ0VuYWJs
ZWQoKSAmJiBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShuYW1lKCksICJkaXNhYmxlZC1h
ZGFwdGF0aW9ucyIpKQogICAgICAgICBkb2N1bWVudCgpLnByb2Nlc3NEaXNhYmxlZEFkYXB0YXRp
b25zKGNvbnRlbnRWYWx1ZSk7CiAjaWYgRU5BQkxFKERBUktfTU9ERV9DU1MpCiAgICAgZWxzZSBp
ZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UobmFtZSgpLCAiY29sb3Itc2NoZW1lIikg
fHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UobmFtZSgpLCAic3VwcG9ydGVkLWNvbG9y
LXNjaGVtZXMiKSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQu
aWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RF
bGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDIsNyArNDIsNyBAQAogICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBWYWxpZGl0eVN0YXRlIHZhbGlkaXR5OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBET01TdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2U7CiAgICAgYm9vbGVhbiBjaGVja1ZhbGlkaXR5
KCk7Ci0gICAgW0VuYWJsZWRBdFJ1bnRpbWU9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0gYm9v
bGVhbiByZXBvcnRWYWxpZGl0eSgpOworICAgIFtFbmFibGVkQnlTZXR0aW5nPUludGVyYWN0aXZl
Rm9ybVZhbGlkYXRpb25dIGJvb2xlYW4gcmVwb3J0VmFsaWRpdHkoKTsKICAgICB1bmRlZmluZWQg
c2V0Q3VzdG9tVmFsaWRpdHkoRE9NU3RyaW5nIGVycm9yKTsKIAogICAgIFtDaGVja1NlY3VyaXR5
Rm9yTm9kZV0gcmVhZG9ubHkgYXR0cmlidXRlIERvY3VtZW50IGNvbnRlbnREb2N1bWVudDsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE91dHB1dEVsZW1lbnQuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE91dHB1dEVsZW1lbnQuaWRsCShyZXZpc2lvbiAy
NjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPdXRwdXRFbGVtZW50LmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBAQCBpbnRlcmZhY2UgSFRNTE91dHB1dEVsZW1lbnQg
OiBIVE1MRWxlbWVuCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFZhbGlkaXR5U3RhdGUgdmFsaWRp
dHk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZTsK
ICAgICBib29sZWFuIGNoZWNrVmFsaWRpdHkoKTsKLSAgICBbRW5hYmxlZEF0UnVudGltZT1JbnRl
cmFjdGl2ZUZvcm1WYWxpZGF0aW9uXSBib29sZWFuIHJlcG9ydFZhbGlkaXR5KCk7CisgICAgW0Vu
YWJsZWRCeVNldHRpbmc9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0gYm9vbGVhbiByZXBvcnRW
YWxpZGl0eSgpOwogICAgIHVuZGVmaW5lZCBzZXRDdXN0b21WYWxpZGl0eShET01TdHJpbmcgZXJy
b3IpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5vZGVMaXN0IGxhYmVsczsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBpY3R1cmVFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQaWN0dXJlRWxlbWVudC5jcHAJKHJldmlzaW9uIDI2NjMx
MikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBpY3R1cmVFbGVtZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNjcsNyArNjcsNyBAQCB2b2lkIEhUTUxQaWN0dXJlRWxlbWVudDo6c291cmNl
c0NoYW5nZWQoCiAjaWYgVVNFKFNZU1RFTV9QUkVWSUVXKQogYm9vbCBIVE1MUGljdHVyZUVsZW1l
bnQ6OmlzU3lzdGVtUHJldmlld0ltYWdlKCkKIHsKLSAgICBpZiAoIVJ1bnRpbWVFbmFibGVkRmVh
dHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc3lzdGVtUHJldmlld0VuYWJsZWQoKSkKKyAgICBpZiAo
IWRvY3VtZW50KCkuc2V0dGluZ3MoKS5zeXN0ZW1QcmV2aWV3RW5hYmxlZCgpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKICAgICBhdXRvKiBwYXJlbnQgPSBwYXJlbnRFbGVtZW50KCk7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTY3JpcHRFbGVtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTY3JpcHRFbGVtZW50LmNwcAkocmV2aXNpb24gMjY2
MzEyKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2NyaXB0RWxlbWVudC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5j
bHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgotI2luY2x1
ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKKyNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2lu
Y2x1ZGUgIlRleHQuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogI2luY2x1
ZGUgPHd0Zi9SZWYuaD4KQEAgLTE5Nyw3ICsxOTcsNyBAQCBTdHJpbmcgSFRNTFNjcmlwdEVsZW1l
bnQ6OnJlZmVycmVyUG9saWN5CiAKIFJlZmVycmVyUG9saWN5IEhUTUxTY3JpcHRFbGVtZW50Ojpy
ZWZlcnJlclBvbGljeSgpIGNvbnN0CiB7Ci0gICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNoYXJlZEZlYXR1cmVzKCkucmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGVFbmFibGVkKCkpCisgICAg
aWYgKGRvY3VtZW50KCkuc2V0dGluZ3MoKS5yZWZlcnJlclBvbGljeUF0dHJpYnV0ZUVuYWJsZWQo
KSkKICAgICAgICAgcmV0dXJuIHBhcnNlUmVmZXJyZXJQb2xpY3koYXR0cmlidXRlV2l0aG91dFN5
bmNocm9uaXphdGlvbihyZWZlcnJlcnBvbGljeUF0dHIpLCBSZWZlcnJlclBvbGljeVNvdXJjZTo6
UmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGUpLnZhbHVlT3IoUmVmZXJyZXJQb2xpY3k6OkVtcHR5U3Ry
aW5nKTsKICAgICByZXR1cm4gUmVmZXJyZXJQb2xpY3k6OkVtcHR5U3RyaW5nOwogfQpJbmRleDog
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2NyaXB0RWxlbWVudC5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2NyaXB0RWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjMx
MikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNjcmlwdEVsZW1lbnQuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0zMSw1ICszMSw1IEBAIGludGVyZmFjZSBIVE1MU2NyaXB0RWxlbWVudCA6IEhU
TUxFbGVtZW4KICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBub25jZTsKICAgICBb
Q0VSZWFjdGlvbnM9Tm90TmVlZGVkLCBSZWZsZWN0XSBhdHRyaWJ1dGUgYm9vbGVhbiBub01vZHVs
ZTsKICAgICBbQ0VSZWFjdGlvbnM9Tm90TmVlZGVkLCBSZWZsZWN0LCBFbmFibGVkQnlTZXR0aW5n
PVN1YnJlc291cmNlSW50ZWdyaXR5XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGludGVncml0eTsKLSAg
ICBbRW5hYmxlZEF0UnVudGltZT1SZWZlcnJlclBvbGljeUF0dHJpYnV0ZSwgSW1wbGVtZW50ZWRB
cz1yZWZlcnJlclBvbGljeUZvckJpbmRpbmdzLCBDRVJlYWN0aW9ucz1Ob3ROZWVkZWRdIGF0dHJp
YnV0ZSBET01TdHJpbmcgcmVmZXJyZXJQb2xpY3k7CisgICAgW0VuYWJsZWRCeVNldHRpbmc9UmVm
ZXJyZXJQb2xpY3lBdHRyaWJ1dGUsIEltcGxlbWVudGVkQXM9cmVmZXJyZXJQb2xpY3lGb3JCaW5k
aW5ncywgQ0VSZWFjdGlvbnM9Tm90TmVlZGVkXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlZmVycmVy
UG9saWN5OwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQu
aWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RF
bGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNTAsNyArNTAsNyBAQAogICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBWYWxpZGl0eVN0YXRlIHZhbGlkaXR5OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBET01TdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2U7CiAgICAgYm9vbGVhbiBjaGVja1ZhbGlkaXR5
KCk7Ci0gICAgW0VuYWJsZWRBdFJ1bnRpbWU9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0gYm9v
bGVhbiByZXBvcnRWYWxpZGl0eSgpOworICAgIFtFbmFibGVkQnlTZXR0aW5nPUludGVyYWN0aXZl
Rm9ybVZhbGlkYXRpb25dIGJvb2xlYW4gcmVwb3J0VmFsaWRpdHkoKTsKICAgICB1bmRlZmluZWQg
c2V0Q3VzdG9tVmFsaWRpdHkoRE9NU3RyaW5nIGVycm9yKTsKIAogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBOb2RlTGlzdCBsYWJlbHM7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0
QXJlYUVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRl
eHRBcmVhRWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFRleHRBcmVhRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQzLDcgKzQzLDcg
QEAgaW50ZXJmYWNlIEhUTUxUZXh0QXJlYUVsZW1lbnQgOiBIVE1MRWxlbQogICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBWYWxpZGl0eVN0YXRlIHZhbGlkaXR5OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBET01TdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2U7CiAgICAgYm9vbGVhbiBjaGVja1ZhbGlkaXR5
KCk7Ci0gICAgW0VuYWJsZWRBdFJ1bnRpbWU9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0gYm9v
bGVhbiByZXBvcnRWYWxpZGl0eSgpOworICAgIFtFbmFibGVkQnlTZXR0aW5nPUludGVyYWN0aXZl
Rm9ybVZhbGlkYXRpb25dIGJvb2xlYW4gcmVwb3J0VmFsaWRpdHkoKTsKICAgICB1bmRlZmluZWQg
c2V0Q3VzdG9tVmFsaWRpdHkoRE9NU3RyaW5nIGVycm9yKTsKIAogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBOb2RlTGlzdCBsYWJlbHM7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0xpbmtSZWxB
dHRyaWJ1dGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvTGlua1JlbEF0
dHJpYnV0ZS5jcHAJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvTGlu
a1JlbEF0dHJpYnV0ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcxLDkgKzcxLDkgQEAgTGlua1Jl
bEF0dHJpYnV0ZTo6TGlua1JlbEF0dHJpYnV0ZShEb2N1bQogICAgICAgICBpc0ROU1ByZWZldGNo
ID0gdHJ1ZTsKICAgICBlbHNlIGlmIChkb2N1bWVudC5zZXR0aW5ncygpLmxpbmtQcmVjb25uZWN0
RW5hYmxlZCgpICYmIGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHJlbCwgInByZWNvbm5l
Y3QiKSkKICAgICAgICAgaXNMaW5rUHJlY29ubmVjdCA9IHRydWU7Ci0gICAgZWxzZSBpZiAoUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5saW5rUHJlbG9hZEVuYWJsZWQo
KSAmJiBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShyZWwsICJwcmVsb2FkIikpCisgICAg
ZWxzZSBpZiAoZG9jdW1lbnQuc2V0dGluZ3MoKS5saW5rUHJlbG9hZEVuYWJsZWQoKSAmJiBlcXVh
bExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShyZWwsICJwcmVsb2FkIikpCiAgICAgICAgIGlzTGlu
a1ByZWxvYWQgPSB0cnVlOwotICAgIGVsc2UgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNo
YXJlZEZlYXR1cmVzKCkubGlua1ByZWZldGNoRW5hYmxlZCgpICYmIGVxdWFsTGV0dGVyc0lnbm9y
aW5nQVNDSUlDYXNlKHJlbCwgInByZWZldGNoIikpCisgICAgZWxzZSBpZiAoZG9jdW1lbnQuc2V0
dGluZ3MoKS5saW5rUHJlZmV0Y2hFbmFibGVkKCkgJiYgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJ
SUNhc2UocmVsLCAicHJlZmV0Y2giKSkKICAgICAgICAgaXNMaW5rUHJlZmV0Y2ggPSB0cnVlOwog
ICAgIGVsc2UgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHJlbCwgImFsdGVybmF0
ZSBzdHlsZXNoZWV0IikgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UocmVsLCAic3R5
bGVzaGVldCBhbHRlcm5hdGUiKSkgewogICAgICAgICBpc1N0eWxlU2hlZXQgPSB0cnVlOwpAQCAt
MTE5LDEwICsxMTksMTAgQEAgYm9vbCBMaW5rUmVsQXR0cmlidXRlOjppc1N1cHBvcnRlZChEb2N1
bQogICAgIGlmIChkb2N1bWVudC5zZXR0aW5ncygpLmxpbmtQcmVjb25uZWN0RW5hYmxlZCgpICYm
IGVxdWFsSWdub3JpbmdBU0NJSUNhc2UoYXR0cmlidXRlLCAicHJlY29ubmVjdCIpKQogICAgICAg
ICByZXR1cm4gdHJ1ZTsKIAotICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRG
ZWF0dXJlcygpLmxpbmtQcmVsb2FkRW5hYmxlZCgpICYmIGVxdWFsSWdub3JpbmdBU0NJSUNhc2Uo
YXR0cmlidXRlLCAicHJlbG9hZCIpKQorICAgIGlmIChkb2N1bWVudC5zZXR0aW5ncygpLmxpbmtQ
cmVsb2FkRW5hYmxlZCgpICYmIGVxdWFsSWdub3JpbmdBU0NJSUNhc2UoYXR0cmlidXRlLCAicHJl
bG9hZCIpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIGlmIChSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmxpbmtQcmVmZXRjaEVuYWJsZWQoKSAmJiBlcXVhbEln
bm9yaW5nQVNDSUlDYXNlKGF0dHJpYnV0ZSwgInByZWZldGNoIikpCisgICAgaWYgKGRvY3VtZW50
LnNldHRpbmdzKCkubGlua1ByZWZldGNoRW5hYmxlZCgpICYmIGVxdWFsSWdub3JpbmdBU0NJSUNh
c2UoYXR0cmlidXRlLCAicHJlZmV0Y2giKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICBy
ZXR1cm4gZmFsc2U7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRW5jcnlwdGVkRXZl
bnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbmNyeXB0ZWRF
dmVudC5pZGwJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFF
bmNyeXB0ZWRFdmVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMzLDcgKzMzLDcgQEAgZGljdGlv
bmFyeSBNZWRpYUVuY3J5cHRlZEV2ZW50SW5pdCA6IEV2ZQogCiBbCiAgICAgQ29uZGl0aW9uYWw9
RU5DUllQVEVEX01FRElBLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9RW5jcnlwdGVkTWVkaWFBUEks
CisgICAgRW5hYmxlZEJ5U2V0dGluZz1FbmNyeXB0ZWRNZWRpYUFQSSwKICAgICBEaXNhYmxlZEJ5
UXVpcms9aGFzQnJva2VuRW5jcnlwdGVkTWVkaWFBUElTdXBwb3J0LAogXSBpbnRlcmZhY2UgTWVk
aWFFbmNyeXB0ZWRFdmVudCA6IEV2ZW50IHsKICAgICBjb25zdHJ1Y3RvcihET01TdHJpbmcgdHlw
ZSwgb3B0aW9uYWwgTWVkaWFFbmNyeXB0ZWRFdmVudEluaXQgZXZlbnRJbml0RGljdCk7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9odG1sL1dlYktpdE1lZGlhS2V5RXJyb3IuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvV2ViS2l0TWVkaWFLZXlFcnJvci5pZGwJKHJldmlzaW9u
IDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvV2ViS2l0TWVkaWFLZXlFcnJvci5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKIFsKICAgICBDb25kaXRpb25hbD1MRUdB
Q1lfRU5DUllQVEVEX01FRElBLAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCi0gICAg
RW5hYmxlZEF0UnVudGltZT1MZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSSwKKyAgICBFbmFibGVkQnlT
ZXR0aW5nPUxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJLAogXSBpbnRlcmZhY2UgV2ViS2l0TWVkaWFL
ZXlFcnJvciB7CiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgTUVESUFfS0VZRVJSX1VOS05PV04g
PSAxOwogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE1FRElBX0tFWUVSUl9DTElFTlQgPSAyOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5u
ZXIuY3BwCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MUHJlbG9hZFNjYW5uZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw3ICs0Miw2IEBACiAj
aW5jbHVkZSAiTWVkaWFRdWVyeUV2YWx1YXRvci5oIgogI2luY2x1ZGUgIk1lZGlhUXVlcnlQYXJz
ZXIuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCi0jaW5jbHVkZSAiUnVudGltZUVuYWJsZWRG
ZWF0dXJlcy5oIgogI2luY2x1ZGUgIlNlY3VyaXR5UG9saWN5LmgiCiAjaW5jbHVkZSAiU2V0dGlu
Z3MuaCIKICNpbmNsdWRlICJTaXplc0F0dHJpYnV0ZVBhcnNlci5oIgpAQCAtMTA1LDggKzEwNCw5
IEBAIFN0cmluZyBUb2tlblByZWxvYWRTY2FubmVyOjppbml0aWF0b3JGb3IKIAogY2xhc3MgVG9r
ZW5QcmVsb2FkU2Nhbm5lcjo6U3RhcnRUYWdTY2FubmVyIHsKIHB1YmxpYzoKLSAgICBleHBsaWNp
dCBTdGFydFRhZ1NjYW5uZXIoVGFnSWQgdGFnSWQsIGZsb2F0IGRldmljZVNjYWxlRmFjdG9yID0g
MS4wKQotICAgICAgICA6IG1fdGFnSWQodGFnSWQpCisgICAgZXhwbGljaXQgU3RhcnRUYWdTY2Fu
bmVyKERvY3VtZW50JiBkb2N1bWVudCwgVGFnSWQgdGFnSWQsIGZsb2F0IGRldmljZVNjYWxlRmFj
dG9yID0gMS4wKQorICAgICAgICA6IG1fZG9jdW1lbnQoZG9jdW1lbnQpCisgICAgICAgICwgbV90
YWdJZCh0YWdJZCkKICAgICAgICAgLCBtX2xpbmtJc1N0eWxlU2hlZXQoZmFsc2UpCiAgICAgICAg
ICwgbV9saW5rSXNQcmVsb2FkKGZhbHNlKQogICAgICAgICAsIG1fbWV0YUlzVmlld3BvcnQoZmFs
c2UpCkBAIC0xMTYsNyArMTE2LDcgQEAgcHVibGljOgogICAgIHsKICAgICB9CiAKLSAgICB2b2lk
IHByb2Nlc3NBdHRyaWJ1dGVzKGNvbnN0IEhUTUxUb2tlbjo6QXR0cmlidXRlTGlzdCYgYXR0cmli
dXRlcywgRG9jdW1lbnQmIGRvY3VtZW50LCBWZWN0b3I8Ym9vbD4mIHBpY3R1cmVTdGF0ZSkKKyAg
ICB2b2lkIHByb2Nlc3NBdHRyaWJ1dGVzKGNvbnN0IEhUTUxUb2tlbjo6QXR0cmlidXRlTGlzdCYg
YXR0cmlidXRlcywgVmVjdG9yPGJvb2w+JiBwaWN0dXJlU3RhdGUpCiAgICAgewogICAgICAgICBB
U1NFUlQoaXNNYWluVGhyZWFkKCkpOwogICAgICAgICBpZiAobV90YWdJZCA+PSBUYWdJZDo6VW5r
bm93bikKQEAgLTEyNSwxMiArMTI1LDEyIEBAIHB1YmxpYzoKICAgICAgICAgZm9yIChhdXRvJiBh
dHRyaWJ1dGUgOiBhdHRyaWJ1dGVzKSB7CiAgICAgICAgICAgICBBdG9tU3RyaW5nIGF0dHJpYnV0
ZU5hbWUoYXR0cmlidXRlLm5hbWUpOwogICAgICAgICAgICAgU3RyaW5nIGF0dHJpYnV0ZVZhbHVl
ID0gU3RyaW5nSW1wbDo6Y3JlYXRlOEJpdElmUG9zc2libGUoYXR0cmlidXRlLnZhbHVlKTsKLSAg
ICAgICAgICAgIHByb2Nlc3NBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSwgYXR0cmlidXRlVmFsdWUs
IGRvY3VtZW50LCBwaWN0dXJlU3RhdGUpOworICAgICAgICAgICAgcHJvY2Vzc0F0dHJpYnV0ZShh
dHRyaWJ1dGVOYW1lLCBhdHRyaWJ1dGVWYWx1ZSwgcGljdHVyZVN0YXRlKTsKICAgICAgICAgfQog
ICAgICAgICAKICAgICAgICAgaWYgKG1fdGFnSWQgPT0gVGFnSWQ6OlNvdXJjZSAmJiAhcGljdHVy
ZVN0YXRlLmlzRW1wdHkoKSAmJiAhcGljdHVyZVN0YXRlLmxhc3QoKSAmJiBtX21lZGlhTWF0Y2hl
ZCAmJiBtX3R5cGVNYXRjaGVkICYmICFtX3NyY1NldEF0dHJpYnV0ZS5pc0VtcHR5KCkpIHsKICAg
ICAgICAgICAgIAotICAgICAgICAgICAgYXV0byBzb3VyY2VTaXplID0gU2l6ZXNBdHRyaWJ1dGVQ
YXJzZXIobV9zaXplc0F0dHJpYnV0ZSwgZG9jdW1lbnQpLmxlbmd0aCgpOworICAgICAgICAgICAg
YXV0byBzb3VyY2VTaXplID0gU2l6ZXNBdHRyaWJ1dGVQYXJzZXIobV9zaXplc0F0dHJpYnV0ZSwg
bV9kb2N1bWVudCkubGVuZ3RoKCk7CiAgICAgICAgICAgICBJbWFnZUNhbmRpZGF0ZSBpbWFnZUNh
bmRpZGF0ZSA9IGJlc3RGaXRTb3VyY2VGb3JJbWFnZUF0dHJpYnV0ZXMobV9kZXZpY2VTY2FsZUZh
Y3RvciwgbV91cmxUb0xvYWQsIG1fc3JjU2V0QXR0cmlidXRlLCBzb3VyY2VTaXplKTsKICAgICAg
ICAgICAgIGlmICghaW1hZ2VDYW5kaWRhdGUuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAg
cGljdHVyZVN0YXRlLmxhc3QoKSA9IHRydWU7CkBAIC0xNDAsMTYgKzE0MCwxNiBAQCBwdWJsaWM6
CiAgICAgICAgIAogICAgICAgICAvLyBSZXNvbHZlIGJldHdlZW4gc3JjIGFuZCBzcmNTZXQgaWYg
d2UgaGF2ZSB0aGVtIGFuZCB0aGUgdGFnIGlzIGltZy4KICAgICAgICAgaWYgKG1fdGFnSWQgPT0g
VGFnSWQ6OkltZyAmJiAhbV9zcmNTZXRBdHRyaWJ1dGUuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAg
ICBhdXRvIHNvdXJjZVNpemUgPSBTaXplc0F0dHJpYnV0ZVBhcnNlcihtX3NpemVzQXR0cmlidXRl
LCBkb2N1bWVudCkubGVuZ3RoKCk7CisgICAgICAgICAgICBhdXRvIHNvdXJjZVNpemUgPSBTaXpl
c0F0dHJpYnV0ZVBhcnNlcihtX3NpemVzQXR0cmlidXRlLCBtX2RvY3VtZW50KS5sZW5ndGgoKTsK
ICAgICAgICAgICAgIEltYWdlQ2FuZGlkYXRlIGltYWdlQ2FuZGlkYXRlID0gYmVzdEZpdFNvdXJj
ZUZvckltYWdlQXR0cmlidXRlcyhtX2RldmljZVNjYWxlRmFjdG9yLCBtX3VybFRvTG9hZCwgbV9z
cmNTZXRBdHRyaWJ1dGUsIHNvdXJjZVNpemUpOwogICAgICAgICAgICAgc2V0VXJsVG9Mb2FkKGlt
YWdlQ2FuZGlkYXRlLnN0cmluZy50b1N0cmluZygpLCB0cnVlKTsKICAgICAgICAgfQogCiAgICAg
ICAgIGlmIChtX21ldGFJc1ZpZXdwb3J0ICYmICFtX21ldGFDb250ZW50LmlzTnVsbCgpKQotICAg
ICAgICAgICAgZG9jdW1lbnQucHJvY2Vzc1ZpZXdwb3J0KG1fbWV0YUNvbnRlbnQsIFZpZXdwb3J0
QXJndW1lbnRzOjpWaWV3cG9ydE1ldGEpOworICAgICAgICAgICAgbV9kb2N1bWVudC5wcm9jZXNz
Vmlld3BvcnQobV9tZXRhQ29udGVudCwgVmlld3BvcnRBcmd1bWVudHM6OlZpZXdwb3J0TWV0YSk7
CiAKICAgICAgICAgaWYgKG1fbWV0YUlzRGlzYWJsZWRBZGFwdGF0aW9ucyAmJiAhbV9tZXRhQ29u
dGVudC5pc051bGwoKSkKLSAgICAgICAgICAgIGRvY3VtZW50LnByb2Nlc3NEaXNhYmxlZEFkYXB0
YXRpb25zKG1fbWV0YUNvbnRlbnQpOworICAgICAgICAgICAgbV9kb2N1bWVudC5wcm9jZXNzRGlz
YWJsZWRBZGFwdGF0aW9ucyhtX21ldGFDb250ZW50KTsKICAgICB9CiAKICAgICBzdGQ6OnVuaXF1
ZV9wdHI8UHJlbG9hZFJlcXVlc3Q+IGNyZWF0ZVByZWxvYWRSZXF1ZXN0KGNvbnN0IFVSTCYgcHJl
ZGljdGVkQmFzZVVSTCkKQEAgLTE2MSw3ICsxNjEsNyBAQCBwdWJsaWM6CiAgICAgICAgIGlmICgh
dHlwZSkKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgICAgIGlmICghTGlua0xv
YWRlcjo6aXNTdXBwb3J0ZWRUeXBlKHR5cGUudmFsdWUoKSwgbV90eXBlQXR0cmlidXRlKSkKKyAg
ICAgICAgaWYgKCFMaW5rTG9hZGVyOjppc1N1cHBvcnRlZFR5cGUodHlwZS52YWx1ZSgpLCBtX3R5
cGVBdHRyaWJ1dGUsIG1fZG9jdW1lbnQpKQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAK
ICAgICAgICAgLy8gRG8gbm90IHByZWxvYWQgaWYgbGF6eWxvYWQgaXMgcG9zc2libGUgYnV0IG1l
dGFkYXRhIGZldGNoIGlzIGRpc2FibGVkLgpAQCAtMTk3LDcgKzE5Nyw3IEBAIHByaXZhdGU6CiAg
ICAgICAgICAgICBtX2NoYXJzZXQgPSBhdHRyaWJ1dGVWYWx1ZTsKICAgICB9CiAKLSAgICB2b2lk
IHByb2Nlc3NBdHRyaWJ1dGUoY29uc3QgQXRvbVN0cmluZyYgYXR0cmlidXRlTmFtZSwgY29uc3Qg
U3RyaW5nJiBhdHRyaWJ1dGVWYWx1ZSwgRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBWZWN0b3I8
Ym9vbD4mIHBpY3R1cmVTdGF0ZSkKKyAgICB2b2lkIHByb2Nlc3NBdHRyaWJ1dGUoY29uc3QgQXRv
bVN0cmluZyYgYXR0cmlidXRlTmFtZSwgY29uc3QgU3RyaW5nJiBhdHRyaWJ1dGVWYWx1ZSwgY29u
c3QgVmVjdG9yPGJvb2w+JiBwaWN0dXJlU3RhdGUpCiAgICAgewogICAgICAgICBib29sIGluUGlj
dHVyZSA9ICFwaWN0dXJlU3RhdGUuaXNFbXB0eSgpOwogICAgICAgICBib29sIGFscmVhZHlNYXRj
aGVkU291cmNlID0gaW5QaWN0dXJlICYmIHBpY3R1cmVTdGF0ZS5sYXN0KCk7CkBAIC0yMTQsNyAr
MjE0LDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICBtX3NpemVzQXR0cmlidXRlID0gYXR0
cmlidXRlVmFsdWU7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5sYXp5
SW1hZ2VMb2FkaW5nRW5hYmxlZCgpKSB7CisgICAgICAgICAgICBpZiAobV9kb2N1bWVudC5zZXR0
aW5ncygpLmxhenlJbWFnZUxvYWRpbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICBpZiAo
bWF0Y2goYXR0cmlidXRlTmFtZSwgbG9hZGluZ0F0dHIpICYmIG1fbGF6eWxvYWRBdHRyaWJ1dGUu
aXNOdWxsKCkpIHsKICAgICAgICAgICAgICAgICAgICAgbV9sYXp5bG9hZEF0dHJpYnV0ZSA9IGF0
dHJpYnV0ZVZhbHVlOwogICAgICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTIzNSwxMCArMjM1
LDEwIEBAIHByaXZhdGU6CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAobWF0Y2goYXR0
cmlidXRlTmFtZSwgbWVkaWFBdHRyKSAmJiBtX21lZGlhQXR0cmlidXRlLmlzTnVsbCgpKSB7CiAg
ICAgICAgICAgICAgICAgbV9tZWRpYUF0dHJpYnV0ZSA9IGF0dHJpYnV0ZVZhbHVlOwotICAgICAg
ICAgICAgICAgIGF1dG8gbWVkaWFTZXQgPSBNZWRpYVF1ZXJ5U2V0OjpjcmVhdGUoYXR0cmlidXRl
VmFsdWUsIE1lZGlhUXVlcnlQYXJzZXJDb250ZXh0KGRvY3VtZW50KSk7Ci0gICAgICAgICAgICAg
ICAgYXV0byBkb2N1bWVudEVsZW1lbnQgPSBtYWtlUmVmUHRyKGRvY3VtZW50LmRvY3VtZW50RWxl
bWVudCgpKTsKKyAgICAgICAgICAgICAgICBhdXRvIG1lZGlhU2V0ID0gTWVkaWFRdWVyeVNldDo6
Y3JlYXRlKGF0dHJpYnV0ZVZhbHVlLCBNZWRpYVF1ZXJ5UGFyc2VyQ29udGV4dChtX2RvY3VtZW50
KSk7CisgICAgICAgICAgICAgICAgYXV0byBkb2N1bWVudEVsZW1lbnQgPSBtYWtlUmVmUHRyKG1f
ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KCkpOwogICAgICAgICAgICAgICAgIExPRyhNZWRpYVF1
ZXJpZXMsICJIVE1MUHJlbG9hZFNjYW5uZXIgJXAgcHJvY2Vzc0F0dHJpYnV0ZSBldmFsdWF0aW5n
IG1lZGlhIHF1ZXJpZXMiLCB0aGlzKTsKLSAgICAgICAgICAgICAgICBtX21lZGlhTWF0Y2hlZCA9
IE1lZGlhUXVlcnlFdmFsdWF0b3IgeyBkb2N1bWVudC5wcmludGluZygpID8gInByaW50IiA6ICJz
Y3JlZW4iLCBkb2N1bWVudCwgZG9jdW1lbnRFbGVtZW50ID8gZG9jdW1lbnRFbGVtZW50LT5jb21w
dXRlZFN0eWxlKCkgOiBudWxscHRyIH0uZXZhbHVhdGUobWVkaWFTZXQuZ2V0KCkpOworICAgICAg
ICAgICAgICAgIG1fbWVkaWFNYXRjaGVkID0gTWVkaWFRdWVyeUV2YWx1YXRvciB7IG1fZG9jdW1l
bnQucHJpbnRpbmcoKSA/ICJwcmludCIgOiAic2NyZWVuIiwgbV9kb2N1bWVudCwgZG9jdW1lbnRF
bGVtZW50ID8gZG9jdW1lbnRFbGVtZW50LT5jb21wdXRlZFN0eWxlKCkgOiBudWxscHRyIH0uZXZh
bHVhdGUobWVkaWFTZXQuZ2V0KCkpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKG1h
dGNoKGF0dHJpYnV0ZU5hbWUsIHR5cGVBdHRyKSAmJiBtX3R5cGVBdHRyaWJ1dGUuaXNOdWxsKCkp
IHsKICAgICAgICAgICAgICAgICAvLyB3aGVuIG11bHRpcGxlIHR5cGUgYXR0cmlidXRlcyBwcmVz
ZW50OiBmaXJzdCB2YWx1ZSB3aW5zLCBpZ25vcmUgc3Vic2VxdWVudCAodG8gbWF0Y2ggSW1hZ2VF
bGVtZW50IHBhcnNlciBhbmQgQmxpbmsgYmVoYXZpb3VycykKQEAgLTI2OSw3ICsyNjksNyBAQCBw
cml2YXRlOgogICAgICAgICAgICAgaWYgKG1hdGNoKGF0dHJpYnV0ZU5hbWUsIGhyZWZBdHRyKSkK
ICAgICAgICAgICAgICAgICBzZXRVcmxUb0xvYWQoYXR0cmlidXRlVmFsdWUpOwogICAgICAgICAg
ICAgZWxzZSBpZiAobWF0Y2goYXR0cmlidXRlTmFtZSwgcmVsQXR0cikpIHsKLSAgICAgICAgICAg
ICAgICBMaW5rUmVsQXR0cmlidXRlIHBhcnNlZEF0dHJpYnV0ZSB7IGRvY3VtZW50LCBhdHRyaWJ1
dGVWYWx1ZSB9OworICAgICAgICAgICAgICAgIExpbmtSZWxBdHRyaWJ1dGUgcGFyc2VkQXR0cmli
dXRlIHsgbV9kb2N1bWVudCwgYXR0cmlidXRlVmFsdWUgfTsKICAgICAgICAgICAgICAgICBtX2xp
bmtJc1N0eWxlU2hlZXQgPSByZWxBdHRyaWJ1dGVJc1N0eWxlU2hlZXQocGFyc2VkQXR0cmlidXRl
KTsKICAgICAgICAgICAgICAgICBtX2xpbmtJc1ByZWxvYWQgPSBwYXJzZWRBdHRyaWJ1dGUuaXNM
aW5rUHJlbG9hZDsKICAgICAgICAgICAgIH0gZWxzZSBpZiAobWF0Y2goYXR0cmlidXRlTmFtZSwg
bWVkaWFBdHRyKSkKQEAgLTI5OCw3ICsyOTgsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAg
IG1fbWV0YUNvbnRlbnQgPSBhdHRyaWJ1dGVWYWx1ZTsKICAgICAgICAgICAgIGVsc2UgaWYgKG1h
dGNoKGF0dHJpYnV0ZU5hbWUsIG5hbWVBdHRyKSkKICAgICAgICAgICAgICAgICBtX21ldGFJc1Zp
ZXdwb3J0ID0gZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoYXR0cmlidXRlVmFsdWUsICJ2
aWV3cG9ydCIpOwotICAgICAgICAgICAgZWxzZSBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS5kaXNhYmxlZEFkYXB0YXRpb25zTWV0YVRhZ0VuYWJsZWQoKSAmJiBt
YXRjaChhdHRyaWJ1dGVOYW1lLCBuYW1lQXR0cikpCisgICAgICAgICAgICBlbHNlIGlmIChtX2Rv
Y3VtZW50LnNldHRpbmdzKCkuZGlzYWJsZWRBZGFwdGF0aW9uc01ldGFUYWdFbmFibGVkKCkgJiYg
bWF0Y2goYXR0cmlidXRlTmFtZSwgbmFtZUF0dHIpKQogICAgICAgICAgICAgICAgIG1fbWV0YUlz
RGlzYWJsZWRBZGFwdGF0aW9ucyA9IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGF0dHJp
YnV0ZVZhbHVlLCAiZGlzYWJsZWQtYWRhcHRhdGlvbnMiKTsKICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICBjYXNlIFRhZ0lkOjpCYXNlOgpAQCAtMzQ2LDcgKzM0Niw3IEBAIHByaXZhdGU6CiAg
ICAgICAgICAgICBpZiAobV9saW5rSXNTdHlsZVNoZWV0KQogICAgICAgICAgICAgICAgIHJldHVy
biBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6Q1NTU3R5bGVTaGVldDsKICAgICAgICAgICAgIGlmICht
X2xpbmtJc1ByZWxvYWQpCi0gICAgICAgICAgICAgICAgcmV0dXJuIExpbmtMb2FkZXI6OnJlc291
cmNlVHlwZUZyb21Bc0F0dHJpYnV0ZShtX2FzQXR0cmlidXRlKTsKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gTGlua0xvYWRlcjo6cmVzb3VyY2VUeXBlRnJvbUFzQXR0cmlidXRlKG1fYXNBdHRyaWJ1
dGUsIG1fZG9jdW1lbnQpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgVGFnSWQ6
Ok1ldGE6CiAgICAgICAgIGNhc2UgVGFnSWQ6OlVua25vd246CkBAIC0zODAsNiArMzgwLDcgQEAg
cHJpdmF0ZToKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCisgICAgRG9jdW1lbnQmIG1f
ZG9jdW1lbnQ7CiAgICAgVGFnSWQgbV90YWdJZDsKICAgICBTdHJpbmcgbV91cmxUb0xvYWQ7CiAg
ICAgU3RyaW5nIG1fc3JjU2V0QXR0cmlidXRlOwpAQCAtNDYyLDggKzQ2Myw4IEBAIHZvaWQgVG9r
ZW5QcmVsb2FkU2Nhbm5lcjo6c2Nhbihjb25zdCBIVE0KICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgfQogCi0gICAgICAgIFN0YXJ0VGFnU2Nhbm5lciBzY2FubmVyKHRhZ0lkLCBtX2Rldmlj
ZVNjYWxlRmFjdG9yKTsKLSAgICAgICAgc2Nhbm5lci5wcm9jZXNzQXR0cmlidXRlcyh0b2tlbi5h
dHRyaWJ1dGVzKCksIGRvY3VtZW50LCBtX3BpY3R1cmVTb3VyY2VTdGF0ZSk7CisgICAgICAgIFN0
YXJ0VGFnU2Nhbm5lciBzY2FubmVyKGRvY3VtZW50LCB0YWdJZCwgbV9kZXZpY2VTY2FsZUZhY3Rv
cik7CisgICAgICAgIHNjYW5uZXIucHJvY2Vzc0F0dHJpYnV0ZXModG9rZW4uYXR0cmlidXRlcygp
LCBtX3BpY3R1cmVTb3VyY2VTdGF0ZSk7CiAgICAgICAgIGlmIChhdXRvIHJlcXVlc3QgPSBzY2Fu
bmVyLmNyZWF0ZVByZWxvYWRSZXF1ZXN0KG1fcHJlZGljdGVkQmFzZUVsZW1lbnRVUkwpKQogICAg
ICAgICAgICAgcmVxdWVzdHMuYXBwZW5kKFdURk1vdmUocmVxdWVzdCkpOwogICAgICAgICByZXR1
cm47CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAJKHJldmlzaW9uIDI2
NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTIwOCw3ICsyMDgsNyBAQCB2b2lkIEltYWdlTG9hZGVyOjp1cGRhdGVGcm9tRWxl
bWVudChSZWxlCiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBpZiAobV9sYXp5SW1hZ2VM
b2FkU3RhdGUgPT0gTGF6eUltYWdlTG9hZFN0YXRlOjpOb25lICYmIGlzSW1hZ2VFbGVtZW50KSB7
CiAgICAgICAgICAgICAgICAgYXV0byYgaW1hZ2VFbGVtZW50ID0gZG93bmNhc3Q8SFRNTEltYWdl
RWxlbWVudD4oZWxlbWVudCgpKTsKLSAgICAgICAgICAgICAgICBpZiAoaW1hZ2VFbGVtZW50Lmlz
TGF6eUxvYWRhYmxlKCkgJiYgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMo
KS5sYXp5SW1hZ2VMb2FkaW5nRW5hYmxlZCgpKSB7CisgICAgICAgICAgICAgICAgaWYgKGltYWdl
RWxlbWVudC5pc0xhenlMb2FkYWJsZSgpICYmIGRvY3VtZW50LnNldHRpbmdzKCkubGF6eUltYWdl
TG9hZGluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgICAgICBtX2xhenlJbWFnZUxvYWRT
dGF0ZSA9IExhenlJbWFnZUxvYWRTdGF0ZTo6RGVmZXJyZWQ7CiAgICAgICAgICAgICAgICAgICAg
IHJlcXVlc3Quc2V0SWdub3JlRm9yUmVxdWVzdENvdW50KHRydWUpOwogICAgICAgICAgICAgICAg
IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlci5jcHAJKHJldmlzaW9uIDI2NjMx
MikKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTE3LDcgKzExNyw3IEBAIHZvaWQgTGlua0xvYWRlcjo6bG9hZExpbmtzRnJvbUhlYWRl
cihjb24KICAgICB9CiB9CiAKLU9wdGlvbmFsPENhY2hlZFJlc291cmNlOjpUeXBlPiBMaW5rTG9h
ZGVyOjpyZXNvdXJjZVR5cGVGcm9tQXNBdHRyaWJ1dGUoY29uc3QgU3RyaW5nJiBhcykKK09wdGlv
bmFsPENhY2hlZFJlc291cmNlOjpUeXBlPiBMaW5rTG9hZGVyOjpyZXNvdXJjZVR5cGVGcm9tQXNB
dHRyaWJ1dGUoY29uc3QgU3RyaW5nJiBhcywgRG9jdW1lbnQmIGRvY3VtZW50KQogewogICAgIGlm
IChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShhcywgImZldGNoIikpCiAgICAgICAgIHJl
dHVybiBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6UmF3UmVzb3VyY2U7CkBAIC0xMjcsNyArMTI3LDcg
QEAgT3B0aW9uYWw8Q2FjaGVkUmVzb3VyY2U6OlR5cGU+IExpbmtMb2FkZQogICAgICAgICByZXR1
cm4gQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlNjcmlwdDsKICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdu
b3JpbmdBU0NJSUNhc2UoYXMsICJzdHlsZSIpKQogICAgICAgICByZXR1cm4gQ2FjaGVkUmVzb3Vy
Y2U6OlR5cGU6OkNTU1N0eWxlU2hlZXQ7Ci0gICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNoYXJlZEZlYXR1cmVzKCkubWVkaWFQcmVsb2FkaW5nRW5hYmxlZCgpICYmIChlcXVhbExldHRl
cnNJZ25vcmluZ0FTQ0lJQ2FzZShhcywgInZpZGVvIikgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdB
U0NJSUNhc2UoYXMsICJhdWRpbyIpKSkKKyAgICBpZiAoZG9jdW1lbnQuc2V0dGluZ3MoKS5tZWRp
YVByZWxvYWRpbmdFbmFibGVkKCkgJiYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGFz
LCAidmlkZW8iKSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShhcywgImF1ZGlvIikp
KQogICAgICAgICByZXR1cm4gQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Ok1lZGlhUmVzb3VyY2U7CiAg
ICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGFzLCAiZm9udCIpKQogICAgICAg
ICByZXR1cm4gQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OkZvbnRSZXNvdXJjZTsKQEAgLTEzNiw3ICsx
MzYsNyBAQCBPcHRpb25hbDxDYWNoZWRSZXNvdXJjZTo6VHlwZT4gTGlua0xvYWRlCiAgICAgcmV0
dXJuIFdURjo6bnVsbG9wdDsKIH0KIAotc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxMaW5rUHJlbG9h
ZFJlc291cmNlQ2xpZW50PiBjcmVhdGVMaW5rUHJlbG9hZFJlc291cmNlQ2xpZW50KENhY2hlZFJl
c291cmNlJiByZXNvdXJjZSwgTGlua0xvYWRlciYgbG9hZGVyKQorc3RhdGljIHN0ZDo6dW5pcXVl
X3B0cjxMaW5rUHJlbG9hZFJlc291cmNlQ2xpZW50PiBjcmVhdGVMaW5rUHJlbG9hZFJlc291cmNl
Q2xpZW50KENhY2hlZFJlc291cmNlJiByZXNvdXJjZSwgTGlua0xvYWRlciYgbG9hZGVyLCBEb2N1
bWVudCYgZG9jdW1lbnQpCiB7CiAgICAgc3dpdGNoIChyZXNvdXJjZS50eXBlKCkpIHsKICAgICBj
YXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpJbWFnZVJlc291cmNlOgpAQCAtMTUwLDcgKzE1MCw3
IEBAIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8TGlua1ByZWxvYWRSZXNvdXIKICAgICBjYXNlIENh
Y2hlZFJlc291cmNlOjpUeXBlOjpUZXh0VHJhY2tSZXNvdXJjZToKICAgICAgICAgcmV0dXJuIG1h
a2VVbmlxdWU8TGlua1ByZWxvYWREZWZhdWx0UmVzb3VyY2VDbGllbnQ+KGxvYWRlciwgZG93bmNh
c3Q8Q2FjaGVkVGV4dFRyYWNrPihyZXNvdXJjZSkpOwogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6
OlR5cGU6Ok1lZGlhUmVzb3VyY2U6Ci0gICAgICAgIEFTU0VSVChSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzaGFyZWRGZWF0dXJlcygpLm1lZGlhUHJlbG9hZGluZ0VuYWJsZWQoKSk7CisgICAgICAg
IEFTU0VSVF9VTlVTRUQoZG9jdW1lbnQsIGRvY3VtZW50LnNldHRpbmdzKCkubWVkaWFQcmVsb2Fk
aW5nRW5hYmxlZCgpKTsKICAgICAgICAgRkFMTFRIUk9VR0g7CiAgICAgY2FzZSBDYWNoZWRSZXNv
dXJjZTo6VHlwZTo6UmF3UmVzb3VyY2U6CiAgICAgICAgIHJldHVybiBtYWtlVW5pcXVlPExpbmtQ
cmVsb2FkUmF3UmVzb3VyY2VDbGllbnQ+KGxvYWRlciwgZG93bmNhc3Q8Q2FjaGVkUmF3UmVzb3Vy
Y2U+KHJlc291cmNlKSk7CkBAIC0xNzUsNyArMTc1LDcgQEAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0
cjxMaW5rUHJlbG9hZFJlc291cgogICAgIHJldHVybiBudWxscHRyOwogfQogCi1ib29sIExpbmtM
b2FkZXI6OmlzU3VwcG9ydGVkVHlwZShDYWNoZWRSZXNvdXJjZTo6VHlwZSByZXNvdXJjZVR5cGUs
IGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCitib29sIExpbmtMb2FkZXI6OmlzU3VwcG9ydGVkVHlw
ZShDYWNoZWRSZXNvdXJjZTo6VHlwZSByZXNvdXJjZVR5cGUsIGNvbnN0IFN0cmluZyYgbWltZVR5
cGUsIERvY3VtZW50JiBkb2N1bWVudCkKIHsKICAgICBpZiAobWltZVR5cGUuaXNFbXB0eSgpKQog
ICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTE4OSw3ICsxODksNyBAQCBib29sIExpbmtMb2FkZXI6
OmlzU3VwcG9ydGVkVHlwZShDYWNoZWRSCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6
Rm9udFJlc291cmNlOgogICAgICAgICByZXR1cm4gTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0
ZWRGb250TUlNRVR5cGUobWltZVR5cGUpOwogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6
Ok1lZGlhUmVzb3VyY2U6Ci0gICAgICAgIGlmICghUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5tZWRpYVByZWxvYWRpbmdFbmFibGVkKCkpCisgICAgICAgIGlmICghZG9j
dW1lbnQuc2V0dGluZ3MoKS5tZWRpYVByZWxvYWRpbmdFbmFibGVkKCkpCiAgICAgICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgcmV0dXJuIE1JTUVUeXBlUmVnaXN0cnk6Omlz
U3VwcG9ydGVkTWVkaWFNSU1FVHlwZShtaW1lVHlwZSk7CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJj
ZTo6VHlwZTo6VGV4dFRyYWNrUmVzb3VyY2U6CkBAIC0yMzEsMTQgKzIzMSwxNCBAQCBzdGQ6OnVu
aXF1ZV9wdHI8TGlua1ByZWxvYWRSZXNvdXJjZUNsaWVuCiAgICAgaWYgKCFkb2N1bWVudC5sb2Fk
ZXIoKSB8fCAhcGFyYW1zLnJlbEF0dHJpYnV0ZS5pc0xpbmtQcmVsb2FkKQogICAgICAgICByZXR1
cm4gbnVsbHB0cjsKIAotICAgIEFTU0VSVChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRG
ZWF0dXJlcygpLmxpbmtQcmVsb2FkRW5hYmxlZCgpKTsKLSAgICBhdXRvIHR5cGUgPSBMaW5rTG9h
ZGVyOjpyZXNvdXJjZVR5cGVGcm9tQXNBdHRyaWJ1dGUocGFyYW1zLmFzKTsKKyAgICBBU1NFUlQo
ZG9jdW1lbnQuc2V0dGluZ3MoKS5saW5rUHJlbG9hZEVuYWJsZWQoKSk7CisgICAgYXV0byB0eXBl
ID0gTGlua0xvYWRlcjo6cmVzb3VyY2VUeXBlRnJvbUFzQXR0cmlidXRlKHBhcmFtcy5hcywgZG9j
dW1lbnQpOwogICAgIGlmICghdHlwZSkgewogICAgICAgICBkb2N1bWVudC5hZGRDb25zb2xlTWVz
c2FnZShNZXNzYWdlU291cmNlOjpPdGhlciwgTWVzc2FnZUxldmVsOjpFcnJvciwgIjxsaW5rIHJl
bD1wcmVsb2FkPiBtdXN0IGhhdmUgYSB2YWxpZCBgYXNgIHZhbHVlIl9zKTsKICAgICAgICAgcmV0
dXJuIG51bGxwdHI7CiAgICAgfQogICAgIFVSTCB1cmw7Ci0gICAgaWYgKFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkubGlua1ByZWxvYWRSZXNwb25zaXZlSW1hZ2VzRW5h
YmxlZCgpICYmIHR5cGUgPT0gQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OkltYWdlUmVzb3VyY2UgJiYg
IXBhcmFtcy5pbWFnZVNyY1NldC5pc0VtcHR5KCkpIHsKKyAgICBpZiAoZG9jdW1lbnQuc2V0dGlu
Z3MoKS5saW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVkKCkgJiYgdHlwZSA9PSBDYWNo
ZWRSZXNvdXJjZTo6VHlwZTo6SW1hZ2VSZXNvdXJjZSAmJiAhcGFyYW1zLmltYWdlU3JjU2V0Lmlz
RW1wdHkoKSkgewogICAgICAgICBhdXRvIHNvdXJjZVNpemUgPSBTaXplc0F0dHJpYnV0ZVBhcnNl
cihwYXJhbXMuaW1hZ2VTaXplcywgZG9jdW1lbnQpLmxlbmd0aCgpOwogICAgICAgICBhdXRvIGNh
bmRpZGF0ZSA9IGJlc3RGaXRTb3VyY2VGb3JJbWFnZUF0dHJpYnV0ZXMoZG9jdW1lbnQuZGV2aWNl
U2NhbGVGYWN0b3IoKSwgcGFyYW1zLmhyZWYuc3RyaW5nKCksIHBhcmFtcy5pbWFnZVNyY1NldCwg
c291cmNlU2l6ZSk7CiAgICAgICAgIHVybCA9IGRvY3VtZW50LmNvbXBsZXRlVVJMKFVSTCh7IH0s
IGNhbmRpZGF0ZS5zdHJpbmcudG9TdHJpbmcoKSkuc3RyaW5nKCkpOwpAQCAtMjU0LDcgKzI1NCw3
IEBAIHN0ZDo6dW5pcXVlX3B0cjxMaW5rUHJlbG9hZFJlc291cmNlQ2xpZW4KICAgICB9CiAgICAg
aWYgKCFNZWRpYVF1ZXJ5RXZhbHVhdG9yOjptZWRpYUF0dHJpYnV0ZU1hdGNoZXMoZG9jdW1lbnQs
IHBhcmFtcy5tZWRpYSkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwotICAgIGlmICghaXNTdXBw
b3J0ZWRUeXBlKHR5cGUudmFsdWUoKSwgcGFyYW1zLm1pbWVUeXBlKSkKKyAgICBpZiAoIWlzU3Vw
cG9ydGVkVHlwZSh0eXBlLnZhbHVlKCksIHBhcmFtcy5taW1lVHlwZSwgZG9jdW1lbnQpKQogICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIGF1dG8gb3B0aW9ucyA9IENhY2hlZFJlc291cmNl
TG9hZGVyOjpkZWZhdWx0Q2FjaGVkUmVzb3VyY2VPcHRpb25zKCk7CkBAIC0yNzEsNyArMjcxLDcg
QEAgc3RkOjp1bmlxdWVfcHRyPExpbmtQcmVsb2FkUmVzb3VyY2VDbGllbgogICAgICAgICByZXR1
cm4gbnVsbHB0cjsKIAogICAgIGlmIChjYWNoZWRMaW5rUmVzb3VyY2UgJiYgbG9hZGVyKQotICAg
ICAgICByZXR1cm4gY3JlYXRlTGlua1ByZWxvYWRSZXNvdXJjZUNsaWVudCgqY2FjaGVkTGlua1Jl
c291cmNlLCAqbG9hZGVyKTsKKyAgICAgICAgcmV0dXJuIGNyZWF0ZUxpbmtQcmVsb2FkUmVzb3Vy
Y2VDbGllbnQoKmNhY2hlZExpbmtSZXNvdXJjZSwgKmxvYWRlciwgZG9jdW1lbnQpOwogICAgIHJl
dHVybiBudWxscHRyOwogfQogCkBAIC0yODAsNyArMjgwLDcgQEAgdm9pZCBMaW5rTG9hZGVyOjpw
cmVmZXRjaElmTmVlZGVkKGNvbnN0IAogICAgIGlmICghcGFyYW1zLmhyZWYuaXNWYWxpZCgpIHx8
ICFkb2N1bWVudC5mcmFtZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBBU1NFUlQoUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5saW5rUHJlZmV0Y2hFbmFibGVkKCkp
OworICAgIEFTU0VSVChkb2N1bWVudC5zZXR0aW5ncygpLmxpbmtQcmVmZXRjaEVuYWJsZWQoKSk7
CiAgICAgT3B0aW9uYWw8UmVzb3VyY2VMb2FkUHJpb3JpdHk+IHByaW9yaXR5OwogICAgIENhY2hl
ZFJlc291cmNlOjpUeXBlIHR5cGUgPSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TGlua1ByZWZldGNo
OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlci5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmgJKHJldmlzaW9uIDI2NjMxMikK
KysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmgJKHdvcmtpbmcgY29weSkKQEAg
LTYzLDExICs2MywxMSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+TGlua0xvYWRlcigpOwogCiAg
ICAgdm9pZCBsb2FkTGluayhjb25zdCBMaW5rTG9hZFBhcmFtZXRlcnMmLCBEb2N1bWVudCYpOwot
ICAgIHN0YXRpYyBPcHRpb25hbDxDYWNoZWRSZXNvdXJjZTo6VHlwZT4gcmVzb3VyY2VUeXBlRnJv
bUFzQXR0cmlidXRlKGNvbnN0IFN0cmluZyYgYXMpOworICAgIHN0YXRpYyBPcHRpb25hbDxDYWNo
ZWRSZXNvdXJjZTo6VHlwZT4gcmVzb3VyY2VUeXBlRnJvbUFzQXR0cmlidXRlKGNvbnN0IFN0cmlu
ZyYsIERvY3VtZW50Jik7CiAKICAgICBlbnVtIGNsYXNzIE1lZGlhQXR0cmlidXRlQ2hlY2sgeyBN
ZWRpYUF0dHJpYnV0ZUVtcHR5LCBNZWRpYUF0dHJpYnV0ZU5vdEVtcHR5LCBTa2lwTWVkaWFBdHRy
aWJ1dGVDaGVjayB9OwogICAgIHN0YXRpYyB2b2lkIGxvYWRMaW5rc0Zyb21IZWFkZXIoY29uc3Qg
U3RyaW5nJiBoZWFkZXJWYWx1ZSwgY29uc3QgVVJMJiBiYXNlVVJMLCBEb2N1bWVudCYsIE1lZGlh
QXR0cmlidXRlQ2hlY2spOwotICAgIHN0YXRpYyBib29sIGlzU3VwcG9ydGVkVHlwZShDYWNoZWRS
ZXNvdXJjZTo6VHlwZSwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSk7CisgICAgc3RhdGljIGJvb2wg
aXNTdXBwb3J0ZWRUeXBlKENhY2hlZFJlc291cmNlOjpUeXBlLCBjb25zdCBTdHJpbmcmIG1pbWVU
eXBlLCBEb2N1bWVudCYpOwogCiAgICAgdm9pZCB0cmlnZ2VyRXZlbnRzKGNvbnN0IENhY2hlZFJl
c291cmNlJik7CiAgICAgdm9pZCBjYW5jZWxMb2FkKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9ET01X
aW5kb3cuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTU3LDcgKzU3LDcgQEAgdHlwZWRlZiBVU1ZTdHJp
bmcgQ1NTT01TdHJpbmc7CiAgICAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwogICAgIFtEb05v
dENoZWNrU2VjdXJpdHksIFB1dEZvcndhcmRzPWhyZWYsIFVuZm9yZ2VhYmxlXSByZWFkb25seSBh
dHRyaWJ1dGUgTG9jYXRpb24gbG9jYXRpb247CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEhpc3Rv
cnkgaGlzdG9yeTsKLSAgICBbRW5hYmxlZEF0UnVudGltZT1DdXN0b21FbGVtZW50cywgSW1wbGVt
ZW50ZWRBcz1lbnN1cmVDdXN0b21FbGVtZW50UmVnaXN0cnldIHJlYWRvbmx5IGF0dHJpYnV0ZSBD
dXN0b21FbGVtZW50UmVnaXN0cnkgY3VzdG9tRWxlbWVudHM7CisgICAgW0VuYWJsZWRCeVNldHRp
bmc9Q3VzdG9tRWxlbWVudHMsIEltcGxlbWVudGVkQXM9ZW5zdXJlQ3VzdG9tRWxlbWVudFJlZ2lz
dHJ5XSByZWFkb25seSBhdHRyaWJ1dGUgQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5IGN1c3RvbUVsZW1l
bnRzOwogICAgIFtSZXBsYWNlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIEJhclByb3AgbG9jYXRp
b25iYXI7CiAgICAgW1JlcGxhY2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgQmFyUHJvcCBtZW51
YmFyOwogICAgIFtSZXBsYWNlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIEJhclByb3AgcGVyc29u
YWxiYXI7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVy
LmlkbAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rp
b25PYnNlcnZlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAKIFsKICAgICBB
Y3RpdmVET01PYmplY3QsCiAgICAgQ29uZGl0aW9uYWw9SU5URVJTRUNUSU9OX09CU0VSVkVSLAot
ICAgIEVuYWJsZWRBdFJ1bnRpbWU9SW50ZXJzZWN0aW9uT2JzZXJ2ZXIKKyAgICBFbmFibGVkQnlT
ZXR0aW5nPUludGVyc2VjdGlvbk9ic2VydmVyCiBdIGludGVyZmFjZSBJbnRlcnNlY3Rpb25PYnNl
cnZlciB7CiAgICAgW0NhbGxXaXRoPURvY3VtZW50LCBNYXlUaHJvd0V4Y2VwdGlvbl0gY29uc3Ry
dWN0b3IoSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjayBjYWxsYmFjaywgb3B0aW9uYWwgSW50
ZXJzZWN0aW9uT2JzZXJ2ZXJJbml0IG9wdGlvbnMpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
YWdlL0ludGVyc2VjdGlvbk9ic2VydmVyRW50cnkuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeS5pZGwJKHJldmlzaW9uIDI2NjMx
MikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeS5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAgdHlwZWRlZiBkb3VibGUgRE9NSGlnaFJl
c1RpbWVTdGFtcDsKIFsKICAgICBDb25kaXRpb25hbD1JTlRFUlNFQ1RJT05fT0JTRVJWRVIsCiAg
ICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKLSAgICBFbmFibGVkQXRSdW50aW1lPUludGVy
c2VjdGlvbk9ic2VydmVyLAorICAgIEVuYWJsZWRCeVNldHRpbmc9SW50ZXJzZWN0aW9uT2JzZXJ2
ZXIsCiAgICAgSlNDdXN0b21NYXJrRnVuY3Rpb24sCiBdIGludGVyZmFjZSBJbnRlcnNlY3Rpb25P
YnNlcnZlckVudHJ5IHsKICAgICBjb25zdHJ1Y3RvcihJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5
SW5pdCBpbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5SW5pdCk7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wYWdlL05hdmlnYXRvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9O
YXZpZ2F0b3IuY3BwCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL05h
dmlnYXRvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyNCwxNiArMTI0LDE2IEBAIHN0YXRpYyBP
cHRpb25hbDxVUkw+IHNoYXJlYWJsZVVSTEZvclNoYXIKICAgICByZXR1cm4gdXJsOwogfQogCi1i
b29sIE5hdmlnYXRvcjo6Y2FuU2hhcmUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwg
Y29uc3QgU2hhcmVEYXRhJiBkYXRhKQorYm9vbCBOYXZpZ2F0b3I6OmNhblNoYXJlKERvY3VtZW50
JiBkb2N1bWVudCwgY29uc3QgU2hhcmVEYXRhJiBkYXRhKQogewogICAgIGF1dG8qIGZyYW1lID0g
dGhpcy0+ZnJhbWUoKTsKICAgICBpZiAoIWZyYW1lIHx8ICFmcmFtZS0+cGFnZSgpKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKICAgICBib29sIGhhc1NoYXJlYWJsZVRpdGxlT3JUZXh0ID0gIWRh
dGEudGl0bGUuaXNOdWxsKCkgfHwgIWRhdGEudGV4dC5pc051bGwoKTsKLSAgICBib29sIGhhc1No
YXJlYWJsZVVSTCA9ICEhc2hhcmVhYmxlVVJMRm9yU2hhcmVEYXRhKGNvbnRleHQsIGRhdGEpOwor
ICAgIGJvb2wgaGFzU2hhcmVhYmxlVVJMID0gISFzaGFyZWFibGVVUkxGb3JTaGFyZURhdGEoZG9j
dW1lbnQsIGRhdGEpOwogI2lmIEVOQUJMRShGSUxFX1NIQVJFKQotICAgIGJvb2wgaGFzU2hhcmVh
YmxlRmlsZXMgPSBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLndlYlNo
YXJlRmlsZUFQSUVuYWJsZWQoKSAmJiAhZGF0YS5maWxlcy5pc0VtcHR5KCk7CisgICAgYm9vbCBo
YXNTaGFyZWFibGVGaWxlcyA9IGRvY3VtZW50LnNldHRpbmdzKCkud2ViU2hhcmVGaWxlQVBJRW5h
YmxlZCgpICYmICFkYXRhLmZpbGVzLmlzRW1wdHkoKTsKICNlbHNlCiAgICAgYm9vbCBoYXNTaGFy
ZWFibGVGaWxlcyA9IGZhbHNlOwogI2VuZGlmCkBAIC0xNDEsOSArMTQxLDkgQEAgYm9vbCBOYXZp
Z2F0b3I6OmNhblNoYXJlKFNjcmlwdEV4ZWN1dGlvbgogICAgIHJldHVybiBoYXNTaGFyZWFibGVU
aXRsZU9yVGV4dCB8fCBoYXNTaGFyZWFibGVVUkwgfHwgaGFzU2hhcmVhYmxlRmlsZXM7CiB9CiAK
LXZvaWQgTmF2aWdhdG9yOjpzaGFyZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBj
b25zdCBTaGFyZURhdGEmIGRhdGEsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK3Zv
aWQgTmF2aWdhdG9yOjpzaGFyZShEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFNoYXJlRGF0YSYg
ZGF0YSwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogewotICAgIGlmICghY2FuU2hh
cmUoY29udGV4dCwgZGF0YSkpIHsKKyAgICBpZiAoIWNhblNoYXJlKGRvY3VtZW50LCBkYXRhKSkg
ewogICAgICAgICBwcm9taXNlLT5yZWplY3QoVHlwZUVycm9yKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KQEAgLTE1NSwyMSArMTU1LDIxIEBAIHZvaWQgTmF2aWdhdG9yOjpzaGFyZShTY3JpcHRF
eGVjdXRpb25Db24KICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIE9wdGlvbmFsPFVSTD4g
dXJsID0gc2hhcmVhYmxlVVJMRm9yU2hhcmVEYXRhKGNvbnRleHQsIGRhdGEpOworICAgIE9wdGlv
bmFsPFVSTD4gdXJsID0gc2hhcmVhYmxlVVJMRm9yU2hhcmVEYXRhKGRvY3VtZW50LCBkYXRhKTsK
ICAgICBTaGFyZURhdGFXaXRoUGFyc2VkVVJMIHNoYXJlRGF0YSA9IHsKICAgICAgICAgZGF0YSwK
ICAgICAgICAgdXJsLAogICAgICAgICB7IH0sCiAgICAgfTsKICNpZiBFTkFCTEUoRklMRV9TSEFS
RSkKLSAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS53ZWJT
aGFyZUZpbGVBUElFbmFibGVkKCkgJiYgIWRhdGEuZmlsZXMuaXNFbXB0eSgpKSB7CisgICAgaWYg
KGRvY3VtZW50LnNldHRpbmdzKCkud2ViU2hhcmVGaWxlQVBJRW5hYmxlZCgpICYmICFkYXRhLmZp
bGVzLmlzRW1wdHkoKSkgewogICAgICAgICBpZiAobV9sb2FkZXIpCiAgICAgICAgICAgICBtX2xv
YWRlci0+Y2FuY2VsKCk7CiAgICAgICAgIAogICAgICAgICBtX2xvYWRlciA9IFNoYXJlRGF0YVJl
YWRlcjo6Y3JlYXRlKFt0aGlzLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0gKEV4Y2VwdGlv
bk9yPFNoYXJlRGF0YVdpdGhQYXJzZWRVUkwmPiByZWFkRGF0YSkgbXV0YWJsZSB7CiAgICAgICAg
ICAgICBzaG93U2hhcmVEYXRhKHJlYWREYXRhLCBXVEZNb3ZlKHByb21pc2UpKTsKICAgICAgICAg
fSk7Ci0gICAgICAgIG1fbG9hZGVyLT5zdGFydChmcmFtZSgpLT5kb2N1bWVudCgpLCBXVEZNb3Zl
KHNoYXJlRGF0YSkpOworICAgICAgICBtX2xvYWRlci0+c3RhcnQoJmRvY3VtZW50LCBXVEZNb3Zl
KHNoYXJlRGF0YSkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogI2VuZGlmCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvTmF2aWdhdG9yLmgJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvTmF2aWdhdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDggKzQ5LDggQEAgcHVibGljOgog
ICAgIFN0cmluZyBwbGF0Zm9ybSgpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgdXNlckFnZW50Q2hh
bmdlZCgpOwogICAgIGJvb2wgb25MaW5lKCkgY29uc3QgZmluYWw7Ci0gICAgYm9vbCBjYW5TaGFy
ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgY29uc3QgU2hhcmVEYXRhJik7Ci0gICAgdm9pZCBz
aGFyZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgY29uc3QgU2hhcmVEYXRhJiwgUmVmPERlZmVy
cmVkUHJvbWlzZT4mJik7CisgICAgYm9vbCBjYW5TaGFyZShEb2N1bWVudCYsIGNvbnN0IFNoYXJl
RGF0YSYpOworICAgIHZvaWQgc2hhcmUoRG9jdW1lbnQmLCBjb25zdCBTaGFyZURhdGEmLCBSZWY8
RGVmZXJyZWRQcm9taXNlPiYmKTsKICAgICAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAg
IGJvb2wgc3RhbmRhbG9uZSgpIGNvbnN0OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9OYXZp
Z2F0b3JTaGFyZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0
b3JTaGFyZS5pZGwJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2
aWdhdG9yU2hhcmUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw4ICsyNiw4IEBACiAKIFsKICAg
ICBOb0ludGVyZmFjZU9iamVjdCwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdlYlNoYXJlCisgICAg
RW5hYmxlZEJ5U2V0dGluZz1XZWJTaGFyZQogXSBpbnRlcmZhY2UgTmF2aWdhdG9yU2hhcmUgewot
ICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LCBTZWN1cmVDb250ZXh0XSBib29s
ZWFuIGNhblNoYXJlKG9wdGlvbmFsIFNoYXJlRGF0YSBzaGFyZURhdGEpOwotICAgIFtDYWxsV2l0
aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LCBTZWN1cmVDb250ZXh0XSBQcm9taXNlPHVuZGVmaW5l
ZD4gc2hhcmUob3B0aW9uYWwgU2hhcmVEYXRhIHNoYXJlRGF0YSk7CisgICAgW0NhbGxXaXRoPURv
Y3VtZW50LCBTZWN1cmVDb250ZXh0XSBib29sZWFuIGNhblNoYXJlKG9wdGlvbmFsIFNoYXJlRGF0
YSBzaGFyZURhdGEpOworICAgIFtDYWxsV2l0aD1Eb2N1bWVudCwgU2VjdXJlQ29udGV4dF0gUHJv
bWlzZTx1bmRlZmluZWQ+IHNoYXJlKG9wdGlvbmFsIFNoYXJlRGF0YSBzaGFyZURhdGEpOwogfTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNw
cAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxl
ZEZlYXR1cmVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMsNyArMzMsNiBAQAogI2luY2x1ZGUg
IlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKIAogI2luY2x1ZGUgIk1lZGlhUGxheWVyLmgiCi0j
aW5jbHVkZSAiUGxhdGZvcm1TY3JlZW4uaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9PcHRp
b25zLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAKQEAgLTQxLDkgKzQwLDYg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpSdW50aW1l
RW5hYmxlZEZlYXR1cmVzKCkKIHsKLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBQTEFURk9S
TShDT0NPQSkKLSAgICBtX2lzTWVkaWFEZXZpY2VzRW5hYmxlZCA9IGZhbHNlOwotI2VuZGlmCiAj
aWYgUExBVEZPUk0oV0FUQ0hPUykKICAgICBtX2lzV2ViU29ja2V0RW5hYmxlZCA9IGZhbHNlOwog
I2VuZGlmCkBAIC01NiwxMSArNTIsNCBAQCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzJiBSdW50aW1l
RW5hYmxlZEZlCiAgICAgcmV0dXJuIHJ1bnRpbWVFbmFibGVkRmVhdHVyZXM7CiB9CiAKLSNpZiBF
TkFCTEUoVE9VQ0hfRVZFTlRTKQotYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjp0b3VjaEV2
ZW50c0VuYWJsZWQoKSBjb25zdAotewotICAgIHJldHVybiBtX3RvdWNoRXZlbnRzRW5hYmxlZC52
YWx1ZU9yKHNjcmVlbkhhc1RvdWNoRGV2aWNlKCkpOwotfQotI2VuZGlmCi0KIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0
dXJlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRG
ZWF0dXJlcy5oCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRp
bWVFbmFibGVkRmVhdHVyZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsNyArMzMsNiBAQAogCiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KLSNp
bmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00NCwx
OCArNDMsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSdW50aW1lRW5hYmxlZEZlYXR1cmVzKTsK
IHB1YmxpYzoKLSAgICB2b2lkIHNldEJsYW5rQW5jaG9yVGFyZ2V0SW1wbGllc05vT3BlbmVyRW5h
YmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2JsYW5rQW5jaG9yVGFyZ2V0SW1wbGllc05vT3BlbmVy
RW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotICAgIGJvb2wgYmxhbmtBbmNob3JUYXJnZXRJbXBsaWVz
Tm9PcGVuZXJFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9ibGFua0FuY2hvclRhcmdldEltcGxp
ZXNOb09wZW5lckVuYWJsZWQ7IH0KLQotICAgIHZvaWQgc2V0TGlua1ByZWxvYWRFbmFibGVkKGJv
b2wgaXNFbmFibGVkKSB7IG1faXNMaW5rUHJlbG9hZEVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAg
ICBib29sIGxpbmtQcmVsb2FkRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNMaW5rUHJlbG9h
ZEVuYWJsZWQ7IH0KLQotICAgIHZvaWQgc2V0TGlua1ByZWZldGNoRW5hYmxlZChib29sIGlzRW5h
YmxlZCkgeyBtX2lzTGlua1ByZWZldGNoRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotICAgIGJvb2wg
bGlua1ByZWZldGNoRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNMaW5rUHJlZmV0Y2hFbmFi
bGVkOyB9Ci0KLSAgICB2b2lkIHNldE1lZGlhUHJlbG9hZGluZ0VuYWJsZWQoYm9vbCBpc0VuYWJs
ZWQpIHsgbV9pc01lZGlhUHJlbG9hZGluZ0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAgICBib29s
IG1lZGlhUHJlbG9hZGluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzTWVkaWFQcmVsb2Fk
aW5nRW5hYmxlZDsgfQotCiAgICAgdm9pZCBzZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoYm9vbCBp
c0VuYWJsZWQpIHsgbV9pc1Jlc291cmNlVGltaW5nRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogICAg
IGJvb2wgcmVzb3VyY2VUaW1pbmdFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1Jlc291cmNl
VGltaW5nRW5hYmxlZDsgfQogCkBAIC03MCwzOSArNTcsMTggQEAgcHVibGljOgogICAgIHZvaWQg
c2V0U2hhZG93RE9NRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzU2hhZG93RE9NRW5hYmxl
ZCA9IGlzRW5hYmxlZDsgfQogICAgIGJvb2wgc2hhZG93RE9NRW5hYmxlZCgpIGNvbnN0IHsgcmV0
dXJuIG1faXNTaGFkb3dET01FbmFibGVkOyB9CiAKLSAgICB2b2lkIHNldElucHV0RXZlbnRzRW5h
YmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lucHV0RXZlbnRzRW5hYmxlZCA9IGlzRW5hYmxlZDsg
fQotICAgIGJvb2wgaW5wdXRFdmVudHNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pbnB1dEV2
ZW50c0VuYWJsZWQ7IH0KLQotICAgIHZvaWQgc2V0SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVu
YWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc0ludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFi
bGVkID0gaXNFbmFibGVkOyB9Ci0gICAgYm9vbCBpbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5h
YmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxl
ZDsgfQotCi0gICAgdm9pZCBzZXRDdXN0b21FbGVtZW50c0VuYWJsZWQoYm9vbCBhcmVFbmFibGVk
KSB7IG1fYXJlQ3VzdG9tRWxlbWVudHNFbmFibGVkID0gYXJlRW5hYmxlZDsgfQotICAgIGJvb2wg
Y3VzdG9tRWxlbWVudHNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9hcmVDdXN0b21FbGVtZW50
c0VuYWJsZWQ7IH0KLQogICAgIHZvaWQgc2V0TWVudUl0ZW1FbGVtZW50RW5hYmxlZChib29sIGlz
RW5hYmxlZCkgeyBtX2lzTWVudUl0ZW1FbGVtZW50RW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogICAg
IGJvb2wgbWVudUl0ZW1FbGVtZW50RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNNZW51SXRl
bUVsZW1lbnRFbmFibGVkOyB9CiAKICAgICB2b2lkIHNldERpcmVjdG9yeVVwbG9hZEVuYWJsZWQo
Ym9vbCBpc0VuYWJsZWQpIHsgbV9pc0RpcmVjdG9yeVVwbG9hZEVuYWJsZWQgPSBpc0VuYWJsZWQ7
IH0KICAgICBib29sIGRpcmVjdG9yeVVwbG9hZEVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lz
RGlyZWN0b3J5VXBsb2FkRW5hYmxlZDsgfQogCi0gICAgdm9pZCBzZXREYXRhVHJhbnNmZXJJdGVt
c0VuYWJsZWQoYm9vbCBhcmVFbmFibGVkKSB7IG1fYXJlRGF0YVRyYW5zZmVySXRlbXNFbmFibGVk
ID0gYXJlRW5hYmxlZDsgfQotICAgIGJvb2wgZGF0YVRyYW5zZmVySXRlbXNFbmFibGVkKCkgY29u
c3QgeyByZXR1cm4gbV9hcmVEYXRhVHJhbnNmZXJJdGVtc0VuYWJsZWQ7IH0KLQogICAgIHZvaWQg
c2V0Q3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNDdXN0
b21QYXN0ZWJvYXJkRGF0YUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIGN1c3RvbVBh
c3RlYm9hcmREYXRhRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNDdXN0b21QYXN0ZWJvYXJk
RGF0YUVuYWJsZWQ7IH0KIAotICAgIHZvaWQgc2V0V2ViU2hhcmVFbmFibGVkKGJvb2wgaXNFbmFi
bGVkKSB7IG1faXNXZWJTaGFyZUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAgICBib29sIHdlYlNo
YXJlRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNXZWJTaGFyZUVuYWJsZWQ7IH0KLQogICAg
IHZvaWQgc2V0TW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQoYm9vbCBhcmVFbmFibGVkKSB7IG1f
YXJlTW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQgPSBhcmVFbmFibGVkOyB9CiAgICAgYm9vbCBt
b2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fYXJlTW9kZXJuTWVk
aWFDb250cm9sc0VuYWJsZWQ7IH0KIAotICAgIHZvaWQgc2V0V2ViQXV0aGVudGljYXRpb25FbmFi
bGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNXZWJBdXRoZW50aWNhdGlvbkVuYWJsZWQgPSBpc0Vu
YWJsZWQ7IH0KLSAgICBib29sIHdlYkF1dGhlbnRpY2F0aW9uRW5hYmxlZCgpIGNvbnN0IHsgcmV0
dXJuIG1faXNXZWJBdXRoZW50aWNhdGlvbkVuYWJsZWQ7IH0KLQotICAgIHZvaWQgc2V0V2ViQXV0
aGVudGljYXRpb25Mb2NhbEF1dGhlbnRpY2F0b3JFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1f
aXNXZWJBdXRoZW50aWNhdGlvbkxvY2FsQXV0aGVudGljYXRvckVuYWJsZWQgPSBpc0VuYWJsZWQ7
IH0KLSAgICBib29sIHdlYkF1dGhlbnRpY2F0aW9uTG9jYWxBdXRoZW50aWNhdG9yRW5hYmxlZCgp
IGNvbnN0IHsgcmV0dXJuIG1faXNXZWJBdXRoZW50aWNhdGlvbkxvY2FsQXV0aGVudGljYXRvckVu
YWJsZWQ7IH0KLQogICAgIHZvaWQgc2V0SXNTZWN1cmVDb250ZXh0QXR0cmlidXRlRW5hYmxlZChi
b29sIGlzRW5hYmxlZCkgeyBtX2lzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVuYWJsZWQgPSBpc0Vu
YWJsZWQ7IH0KICAgICBib29sIGlzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVuYWJsZWQoKSBjb25z
dCB7IHJldHVybiBtX2lzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVuYWJsZWQ7IH0KIApAQCAtMTcw
LDIxICsxMzYsMTIgQEAgcHVibGljOgogICAgIHZvaWQgc2V0RXhwZXJpbWVudGFsUGx1Z0luU2Fu
ZGJveFByb2ZpbGVzRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2V4cGVyaW1lbnRhbFBsdWdJ
blNhbmRib3hQcm9maWxlc0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIGV4cGVyaW1l
bnRhbFBsdWdJblNhbmRib3hQcm9maWxlc0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2V4cGVy
aW1lbnRhbFBsdWdJblNhbmRib3hQcm9maWxlc0VuYWJsZWQ7IH0KIAotICAgIHZvaWQgc2V0RGlz
YWJsZWRBZGFwdGF0aW9uc01ldGFUYWdFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fZGlzYWJs
ZWRBZGFwdGF0aW9uc01ldGFUYWdFbmFibGVkID0gaXNFbmFibGVkOyB9Ci0gICAgYm9vbCBkaXNh
YmxlZEFkYXB0YXRpb25zTWV0YVRhZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2Rpc2FibGVk
QWRhcHRhdGlvbnNNZXRhVGFnRW5hYmxlZDsgfQotCiAgICAgdm9pZCBzZXRBdHRyU3R5bGVFbmFi
bGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fYXR0clN0eWxlRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQog
ICAgIGJvb2wgYXR0clN0eWxlRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fYXR0clN0eWxlRW5h
YmxlZDsgfQogCiAgICAgdm9pZCBzZXRXZWJBUElTdGF0aXN0aWNzRW5hYmxlZChib29sIGlzRW5h
YmxlZCkgeyBtX3dlYkFQSVN0YXRpc3RpY3NFbmFibGVkID0gaXNFbmFibGVkOyB9CiAgICAgYm9v
bCB3ZWJBUElTdGF0aXN0aWNzRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fd2ViQVBJU3RhdGlz
dGljc0VuYWJsZWQ7IH0KIAotICAgIHZvaWQgc2V0Q1NTQ3VzdG9tUHJvcGVydGllc0FuZFZhbHVl
c0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9DU1NDdXN0b21Qcm9wZXJ0aWVzQW5kVmFsdWVz
RW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotICAgIGJvb2wgY3NzQ3VzdG9tUHJvcGVydGllc0FuZFZh
bHVlc0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX0NTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1
ZXNFbmFibGVkOyB9Ci0KLSAgICB2b2lkIHNldFN5bnRoZXRpY0VkaXRpbmdDb21tYW5kc0VuYWJs
ZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9zeW50aGV0aWNFZGl0aW5nQ29tbWFuZHNFbmFibGVkID0g
aXNFbmFibGVkOyB9Ci0gICAgYm9vbCBzeW50aGV0aWNFZGl0aW5nQ29tbWFuZHNFbmFibGVkKCkg
Y29uc3QgeyByZXR1cm4gbV9zeW50aGV0aWNFZGl0aW5nQ29tbWFuZHNFbmFibGVkOyB9Ci0KICNp
ZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKICAgICB2b2lkIHNldExheW91dEZv
cm1hdHRpbmdDb250ZXh0RW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2xheW91dEZvcm1hdHRp
bmdDb250ZXh0RW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogICAgIGJvb2wgbGF5b3V0Rm9ybWF0dGlu
Z0NvbnRleHRFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9sYXlvdXRGb3JtYXR0aW5nQ29udGV4
dEVuYWJsZWQ7IH0KQEAgLTIyOCwxNyArMTg1LDYgQEAgcHVibGljOgogICAgIGJvb2wgdXNlckdl
c3R1cmVQcm9taXNlUHJvcGFnYXRpb25FbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV91c2VyR2Vz
dHVyZVByb21pc2VQcm9wYWdhdGlvbkVuYWJsZWQ7IH0KICAgICB2b2lkIHNldFVzZXJHZXN0dXJl
UHJvbWlzZVByb3BhZ2F0aW9uRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX3VzZXJHZXN0dXJl
UHJvbWlzZVByb3BhZ2F0aW9uRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogCi0jaWYgRU5BQkxFKE1F
RElBX1NUUkVBTSkKLSAgICBib29sIG1lZGlhUmVjb3JkZXJFbmFibGVkKCkgY29uc3QgeyByZXR1
cm4gbV9pc01lZGlhUmVjb3JkZXJFbmFibGVkOyB9Ci0gICAgdm9pZCBzZXRNZWRpYVJlY29yZGVy
RW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzTWVkaWFSZWNvcmRlckVuYWJsZWQgPSBpc0Vu
YWJsZWQ7IH0KLSAgICBib29sIG1lZGlhRGV2aWNlc0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBt
X2lzTWVkaWFEZXZpY2VzRW5hYmxlZDsgfQotICAgIHZvaWQgc2V0TWVkaWFEZXZpY2VzRW5hYmxl
ZChib29sIGlzRW5hYmxlZCkgeyBtX2lzTWVkaWFEZXZpY2VzRW5hYmxlZCA9IGlzRW5hYmxlZDsg
fQotICAgIGJvb2wgbWVkaWFTdHJlYW1FbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc01lZGlh
U3RyZWFtRW5hYmxlZDsgfQotICAgIHZvaWQgc2V0TWVkaWFTdHJlYW1FbmFibGVkKGJvb2wgaXNF
bmFibGVkKSB7IG1faXNNZWRpYVN0cmVhbUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAgICBib29s
IHNjcmVlbkNhcHR1cmVFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1NjcmVlbkNhcHR1cmVF
bmFibGVkOyB9Ci0gICAgdm9pZCBzZXRTY3JlZW5DYXB0dXJlRW5hYmxlZChib29sIGlzRW5hYmxl
ZCkgeyBtX2lzU2NyZWVuQ2FwdHVyZUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSNlbmRpZgotCiAj
aWYgRU5BQkxFKFdFQl9SVEMpCiAgICAgYm9vbCB3ZWJSVENEVE1GRW5hYmxlZCgpIGNvbnN0IHsg
cmV0dXJuIG1faXNXZWJSVENEVE1GRW5hYmxlZDsgfQogICAgIHZvaWQgc2V0V2ViUlRDRFRNRkVu
YWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1dlYlJUQ0RUTUZFbmFibGVkID0gaXNFbmFibGVk
OyB9CkBAIC0yNjgsMTEgKzIxNCw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldERhdGFMaXN0RWxl
bWVudEVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc0RhdGFMaXN0RWxlbWVudEVuYWJsZWQg
PSBpc0VuYWJsZWQ7IH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKEdBTUVQQUQpCi0gICAgdm9pZCBz
ZXRHYW1lcGFkc0VuYWJsZWQoYm9vbCBhcmVFbmFibGVkKSB7IG1fYXJlR2FtZXBhZHNFbmFibGVk
ID0gYXJlRW5hYmxlZDsgfQotICAgIGJvb2wgZ2FtZXBhZHNFbmFibGVkKCkgY29uc3QgeyByZXR1
cm4gbV9hcmVHYW1lcGFkc0VuYWJsZWQ7IH0KLSNlbmRpZgotCiAjaWYgRU5BQkxFKFdFQkdMMikK
ICAgICB2b2lkIHNldFdlYkdMMkVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1dlYkdMMkVu
YWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIHdlYkdMMkVuYWJsZWQoKSBjb25zdCB7IHJl
dHVybiBtX2lzV2ViR0wyRW5hYmxlZDsgfQpAQCAtMjk1LDc1ICsyMzYsMjggQEAgcHVibGljOgog
ICAgIHZvaWQgc2V0VHJhbnNmb3JtU3RyZWFtQVBJRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBt
X2lzVHJhbnNmb3JtU3RyZWFtQVBJRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogICAgIGJvb2wgdHJh
bnNmb3JtU3RyZWFtQVBJRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNUcmFuc2Zvcm1TdHJl
YW1BUElFbmFibGVkOyB9CiAKLSNpZiBFTkFCTEUoRE9XTkxPQURfQVRUUklCVVRFKQotICAgIHZv
aWQgc2V0RG93bmxvYWRBdHRyaWJ1dGVFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNEb3du
bG9hZEF0dHJpYnV0ZUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAgICBib29sIGRvd25sb2FkQXR0
cmlidXRlRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNEb3dubG9hZEF0dHJpYnV0ZUVuYWJs
ZWQ7IH0KLSNlbmRpZgotCi0jaWYgRU5BQkxFKElOVEVSU0VDVElPTl9PQlNFUlZFUikKLSAgICB2
b2lkIHNldEludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lu
dGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotICAgIGJvb2wgaW50ZXJz
ZWN0aW9uT2JzZXJ2ZXJFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pbnRlcnNlY3Rpb25PYnNl
cnZlckVuYWJsZWQ7IH0KLSNlbmRpZgotCi0gICAgdm9pZCBzZXRVbmRvTWFuYWdlckFQSUVuYWJs
ZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV91bmRvTWFuYWdlckFQSUVuYWJsZWQgPSBpc0VuYWJsZWQ7
IH0KLSAgICBib29sIHVuZG9NYW5hZ2VyQVBJRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fdW5k
b01hbmFnZXJBUElFbmFibGVkOyB9Ci0KLSNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQotICAg
IHZvaWQgc2V0RW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fZW5j
cnlwdGVkTWVkaWFBUElFbmFibGVkID0gaXNFbmFibGVkOyB9Ci0gICAgYm9vbCBlbmNyeXB0ZWRN
ZWRpYUFQSUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2VuY3J5cHRlZE1lZGlhQVBJRW5hYmxl
ZDsgfQotI2VuZGlmCi0KLSNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkKLSAgICB2
b2lkIHNldExlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBt
X2xlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotICAgIGJvb2wg
bGVnYWN5RW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9sZWdhY3lF
bmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQ7IH0KLSNlbmRpZgotCiAjaWYgRU5BQkxFKFNFUlZJQ0Vf
V09SS0VSKQogICAgIGJvb2wgc2VydmljZVdvcmtlckVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBt
X3NlcnZpY2VXb3JrZXJFbmFibGVkOyB9CiAgICAgdm9pZCBzZXRTZXJ2aWNlV29ya2VyRW5hYmxl
ZChib29sIGlzRW5hYmxlZCkgeyBtX3NlcnZpY2VXb3JrZXJFbmFibGVkID0gaXNFbmFibGVkOyB9
CiAjZW5kaWYKIAotI2lmIFVTRShTWVNURU1fUFJFVklFVykKLSAgICB2b2lkIHNldFN5c3RlbVBy
ZXZpZXdFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fc3lzdGVtUHJldmlld0VuYWJsZWQgPSBp
c0VuYWJsZWQ7IH0KLSAgICBib29sIHN5c3RlbVByZXZpZXdFbmFibGVkKCkgY29uc3QgeyByZXR1
cm4gbV9zeXN0ZW1QcmV2aWV3RW5hYmxlZDsgfQotI2VuZGlmCi0KICAgICB2b2lkIHNldENTU0xv
Z2ljYWxFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fQ1NTTG9naWNhbEVuYWJsZWQgPSBpc0Vu
YWJsZWQ7IH0KICAgICBib29sIGNzc0xvZ2ljYWxFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9D
U1NMb2dpY2FsRW5hYmxlZDsgfQogCi0gICAgdm9pZCBzZXRMZWdhY3lCZWZvcmVMb2FkRXZlbnRF
bmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fbGVnYWN5QmVmb3JlTG9hZEV2ZW50RW5hYmxlZCA9
IGlzRW5hYmxlZDsgfQotICAgIGJvb2wgbGVnYWN5QmVmb3JlTG9hZEV2ZW50RW5hYmxlZCgpIGNv
bnN0IHsgcmV0dXJuIG1fbGVnYWN5QmVmb3JlTG9hZEV2ZW50RW5hYmxlZDsgfQotCiAgICAgdm9p
ZCBzZXRMaW5lSGVpZ2h0VW5pdHNFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fbGluZUhlaWdo
dFVuaXRzRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogICAgIGJvb2wgbGluZUhlaWdodFVuaXRzRW5h
YmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fbGluZUhlaWdodFVuaXRzRW5hYmxlZDsgfQogCi0gICAg
Ym9vbCBhZENsaWNrQXR0cmlidXRpb25FbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9hZENsaWNr
QXR0cmlidXRpb25FbmFibGVkOyB9Ci0gICAgdm9pZCBzZXRBZENsaWNrQXR0cmlidXRpb25FbmFi
bGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fYWRDbGlja0F0dHJpYnV0aW9uRW5hYmxlZCA9IGlzRW5h
YmxlZDsgfQogICAgIGJvb2wgYWRDbGlja0F0dHJpYnV0aW9uRGVidWdNb2RlRW5hYmxlZCgpIGNv
bnN0IHsgcmV0dXJuIG1fYWRDbGlja0F0dHJpYnV0aW9uRGVidWdNb2RlRW5hYmxlZDsgfQogICAg
IHZvaWQgc2V0QWRDbGlja0F0dHJpYnV0aW9uRGVidWdNb2RlRW5hYmxlZChib29sIGlzRW5hYmxl
ZCkgeyBtX2FkQ2xpY2tBdHRyaWJ1dGlvbkRlYnVnTW9kZUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0K
IAogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiAgICAgYm9vbCBtb3VzZUV2ZW50c1NpbXVsYXRp
b25FbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9tb3VzZUV2ZW50c1NpbXVsYXRpb25FbmFibGVk
OyB9CiAgICAgdm9pZCBzZXRNb3VzZUV2ZW50c1NpbXVsYXRpb25FbmFibGVkKGJvb2wgaXNFbmFi
bGVkKSB7IG1fbW91c2VFdmVudHNTaW11bGF0aW9uRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotICAg
IGJvb2wgdG91Y2hFdmVudHNFbmFibGVkKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRUb3VjaEV2ZW50
c0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV90b3VjaEV2ZW50c0VuYWJsZWQgPSBpc0VuYWJs
ZWQ7IH0KICNlbmRpZgogCi0gICAgYm9vbCByZWZlcnJlclBvbGljeUF0dHJpYnV0ZUVuYWJsZWQo
KSBjb25zdCB7IHJldHVybiBtX3JlZmVycmVyUG9saWN5QXR0cmlidXRlRW5hYmxlZDsgfQotICAg
IHZvaWQgc2V0UmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGVFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7
IG1fcmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGVFbmFibGVkID0gaXNFbmFibGVkOyB9Ci0KICAgICBi
b29sIHBhZ2VBdFJ1bGVTdXBwb3J0RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcGFnZUF0UnVs
ZVN1cHBvcnRFbmFibGVkOyB9CiAgICAgdm9pZCBzZXRQYWdlQXRSdWxlU3VwcG9ydEVuYWJsZWQo
Ym9vbCBpc0VuYWJsZWQpIHsgbV9wYWdlQXRSdWxlU3VwcG9ydEVuYWJsZWQgPSBpc0VuYWJsZWQ7
IH0KIAotICAgIGJvb2wgaW50ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5Q2hhbmdlRW5hYmxl
ZCgpIGNvbnN0IHsgcmV0dXJuIG1faW50ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5Q2hhbmdl
RW5hYmxlZDsgfQotICAgIHZvaWQgc2V0SW50ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5Q2hh
bmdlRW5hYmxlZChib29sIGVuYWJsZWQpIHsgbV9pbnRlcnJ1cHRBdWRpb09uUGFnZVZpc2liaWxp
dHlDaGFuZ2VFbmFibGVkID0gZW5hYmxlZDsgfQotCi0gICAgYm9vbCBsaW5rUHJlbG9hZFJlc3Bv
bnNpdmVJbWFnZXNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9saW5rUHJlbG9hZFJlc3BvbnNp
dmVJbWFnZXNFbmFibGVkOyB9Ci0gICAgdm9pZCBzZXRMaW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFn
ZXNFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fbGlua1ByZWxvYWRSZXNwb25zaXZlSW1hZ2Vz
RW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotCi0gICAgdm9pZCBzZXRMYXp5SW1hZ2VMb2FkaW5nRW5h
YmxlZChib29sIGFyZUVuYWJsZWQpIHsgbV9sYXp5SW1hZ2VMb2FkaW5nRW5hYmxlZCA9IGFyZUVu
YWJsZWQ7IH0KLSAgICBib29sIGxhenlJbWFnZUxvYWRpbmdFbmFibGVkKCkgY29uc3QgeyByZXR1
cm4gbV9sYXp5SW1hZ2VMb2FkaW5nRW5hYmxlZDsgfQotCiAgICAgdm9pZCBzZXRDU1NTaGFkb3dQ
YXJ0c0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc0NTU1NoYWRvd1BhcnRzRW5hYmxlZCA9
IGlzRW5hYmxlZDsgfQogICAgIGJvb2wgY3NzU2hhZG93UGFydHNFbmFibGVkKCkgY29uc3QgeyBy
ZXR1cm4gbV9pc0NTU1NoYWRvd1BhcnRzRW5hYmxlZDsgfQogCkBAIC0zNzcsMjAgKzI3MSwxMSBA
QCBwdWJsaWM6CiAgICAgYm9vbCBzZWN1cmVDb250ZXh0Q2hlY2tzRW5hYmxlZCgpIGNvbnN0IHsg
cmV0dXJuIG1fc2VjdXJlQ29udGV4dENoZWNrc0VuYWJsZWQ7IH0KICAgICB2b2lkIHNldFNlY3Vy
ZUNvbnRleHRDaGVja3NFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fc2VjdXJlQ29udGV4dENo
ZWNrc0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KIAotICAgIHZvaWQgc2V0SXNJbkFwcEJyb3dzZXJQ
cml2YWN5RW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzSW5BcHBCcm93c2VyUHJpdmFjeUVu
YWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAgICBib29sIGlzSW5BcHBCcm93c2VyUHJpdmFjeUVuYWJs
ZWQoKSBjb25zdCB7IHJldHVybiBtX2lzSW5BcHBCcm93c2VyUHJpdmFjeUVuYWJsZWQ7IH0KLQot
ICAgIHZvaWQgc2V0TmVlZHNJbkFwcEJyb3dzZXJQcml2YWN5UXVpcmtzKGJvb2wgaXNFbmFibGVk
KSB7IG1fbmVlZHNJbkFwcEJyb3dzZXJQcml2YWN5UXVpcmtzID0gaXNFbmFibGVkOyB9Ci0gICAg
Ym9vbCBuZWVkc0luQXBwQnJvd3NlclByaXZhY3lRdWlya3MoKSBjb25zdCB7IHJldHVybiBtX25l
ZWRzSW5BcHBCcm93c2VyUHJpdmFjeVF1aXJrczsgfQotCiAjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJ
VFlfSVNPTEFURURfVFJFRSkKICAgICB2b2lkIHNldElzQWNjZXNzaWJpbGl0eUlzb2xhdGVkVHJl
ZUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9hY2Nlc3NpYmlsaXR5SXNvbGF0ZWRUcmVlID0g
aXNFbmFibGVkOyB9CiAgICAgYm9vbCBpc0FjY2Vzc2liaWxpdHlJc29sYXRlZFRyZWVFbmFibGVk
KCkgY29uc3QgeyByZXR1cm4gbV9hY2Nlc3NpYmlsaXR5SXNvbGF0ZWRUcmVlOyB9CiAjZW5kaWYK
ICAgICAKLSAgICB2b2lkIHNldFdlYlNoYXJlRmlsZUFQSUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQp
IHsgbV93ZWJTaGFyZUZpbGVBUElFbmFibGVkID0gaXNFbmFibGVkOyB9Ci0gICAgYm9vbCB3ZWJT
aGFyZUZpbGVBUElFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV93ZWJTaGFyZUZpbGVBUElFbmFi
bGVkOyB9Ci0KICNpZiBIQVZFKElOQ1JFTUVOVEFMX1BERl9BUElTKQogICAgIHZvaWQgc2V0SW5j
cmVtZW50YWxQREZMb2FkaW5nRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2luY3JlbWVudGFs
UERGTG9hZGluZ0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIGluY3JlbWVudGFsUERG
TG9hZGluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2luY3JlbWVudGFsUERGTG9hZGluZ0Vu
YWJsZWQ7IH0KQEAgLTQwNSwyNiArMjkwLDE1IEBAIHByaXZhdGU6CiAgICAgLy8gTmV2ZXIgaW5z
dGFudGlhdGUuCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlcygpOwogCi0gICAgYm9vbCBtX2Js
YW5rQW5jaG9yVGFyZ2V0SW1wbGllc05vT3BlbmVyRW5hYmxlZCB7IHRydWUgfTsKICAgICBib29s
IG1fYXJlTW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9p
c0xpbmtQcmVsb2FkRW5hYmxlZCB7IHRydWUgfTsKLSAgICBib29sIG1faXNMaW5rUHJlZmV0Y2hF
bmFibGVkIHsgZmFsc2UgfTsKLSAgICBib29sIG1faXNNZWRpYVByZWxvYWRpbmdFbmFibGVkIHsg
ZmFsc2UgfTsKICAgICBib29sIG1faXNQYWludFRpbWluZ0VuYWJsZWQgeyBmYWxzZSB9OwogICAg
IGJvb2wgbV9pc1Jlc291cmNlVGltaW5nRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lz
VXNlclRpbWluZ0VuYWJsZWQgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9pc0ludGVyYWN0aXZlRm9y
bVZhbGlkYXRpb25FbmFibGVkIHsgZmFsc2UgfTsKLSAgICBib29sIG1faXNXZWJBdXRoZW50aWNh
dGlvbkVuYWJsZWQgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9pc1dlYkF1dGhlbnRpY2F0aW9uTG9j
YWxBdXRoZW50aWNhdG9yRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzU2VjdXJlQ29u
dGV4dEF0dHJpYnV0ZUVuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc1NoYWRvd0RPTUVu
YWJsZWQgeyB0cnVlIH07Ci0gICAgYm9vbCBtX2FyZUN1c3RvbUVsZW1lbnRzRW5hYmxlZCB7IHRy
dWUgfTsKICAgICBib29sIG1faXNNZW51SXRlbUVsZW1lbnRFbmFibGVkIHsgZmFsc2UgfTsKICAg
ICBib29sIG1faXNEaXJlY3RvcnlVcGxvYWRFbmFibGVkIHsgZmFsc2UgfTsKLSAgICBib29sIG1f
YXJlRGF0YVRyYW5zZmVySXRlbXNFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNDdXN0
b21QYXN0ZWJvYXJkRGF0YUVuYWJsZWQgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9pc1dlYlNoYXJl
RW5hYmxlZCB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX2lucHV0RXZlbnRzRW5hYmxlZCB7IHRydWUg
fTsKICAgICBib29sIG1fYXJlV2ViQW5pbWF0aW9uc0VuYWJsZWQgeyB0cnVlIH07CiAgICAgYm9v
bCBtX2lzV2ViQW5pbWF0aW9uc0NTU0ludGVncmF0aW9uRW5hYmxlZCB7IHRydWUgfTsKICAgICBi
b29sIG1fYXJlV2ViQW5pbWF0aW9uc0NvbXBvc2l0ZU9wZXJhdGlvbnNFbmFibGVkIHsgZmFsc2Ug
fTsKQEAgLTQ0OCwxMCArMzIyLDggQEAgcHJpdmF0ZToKICAgICBib29sIG1fY3Jvc3NPcmlnaW5S
ZXNvdXJjZVBvbGljeUVuYWJsZWQgeyB0cnVlIH07CiAgICAgYm9vbCBtX2lzU2VydmVyVGltaW5n
RW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2V4cGVyaW1lbnRhbFBsdWdJblNhbmRib3hQ
cm9maWxlc0VuYWJsZWQgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9kaXNhYmxlZEFkYXB0YXRpb25z
TWV0YVRhZ0VuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9hdHRyU3R5bGVFbmFibGVkIHsg
ZmFsc2UgfTsKICAgICBib29sIG1fd2ViQVBJU3RhdGlzdGljc0VuYWJsZWQgeyBmYWxzZSB9Owot
ICAgIGJvb2wgbV9DU1NDdXN0b21Qcm9wZXJ0aWVzQW5kVmFsdWVzRW5hYmxlZCB7IGZhbHNlIH07
CiAgICAgYm9vbCBtX3N5bnRoZXRpY0VkaXRpbmdDb21tYW5kc0VuYWJsZWQgeyB0cnVlIH07CiAg
ICAgYm9vbCBtX2RpYWxvZ0VsZW1lbnRFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fd2Vi
U1FMRW5hYmxlZCB7IGZhbHNlIH07CkBAIC00ODEsMTIgKzM1Myw2IEBAIHByaXZhdGU6CiAjZW5k
aWYKIAogICAgIGJvb2wgbV91c2VyR2VzdHVyZVByb21pc2VQcm9wYWdhdGlvbkVuYWJsZWQgeyB0
cnVlIH07Ci0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLSAgICBib29sIG1faXNNZWRpYVJlY29y
ZGVyRW5hYmxlZCB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX2lzTWVkaWFEZXZpY2VzRW5hYmxlZCB7
IGZhbHNlIH07Ci0gICAgYm9vbCBtX2lzTWVkaWFTdHJlYW1FbmFibGVkIHsgdHJ1ZSB9OwotICAg
IGJvb2wgbV9pc1NjcmVlbkNhcHR1cmVFbmFibGVkIHsgZmFsc2UgfTsKLSNlbmRpZgogCiAjaWYg
RU5BQkxFKFdFQl9SVEMpCiAgICAgYm9vbCBtX2lzV2ViUlRDRFRNRkVuYWJsZWQgeyB0cnVlIH07
CkBAIC01MDcsMTAgKzM3Myw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzRGF0YUxpc3RFbGVt
ZW50RW5hYmxlZCB7IGZhbHNlIH07CiAjZW5kaWYKIAotI2lmIEVOQUJMRShHQU1FUEFEKQotICAg
IGJvb2wgbV9hcmVHYW1lcGFkc0VuYWJsZWQgeyBmYWxzZSB9OwotI2VuZGlmCi0KICAgICBib29s
IG1faXNSZWFkYWJsZUJ5dGVTdHJlYW1BUElFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1f
aXNXcml0YWJsZVN0cmVhbUFQSUVuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc1RyYW5z
Zm9ybVN0cmVhbUFQSUVuYWJsZWQgeyBmYWxzZSB9OwpAQCAtNTI3LDcwICszODksMzQgQEAgcHJp
dmF0ZToKICAgICBib29sIG1faXNNYXNrV2ViR0xTdHJpbmdzRW5hYmxlZCB7IGZhbHNlIH07CiAj
ZW5kaWYKIAotI2lmIEVOQUJMRShET1dOTE9BRF9BVFRSSUJVVEUpCi0gICAgYm9vbCBtX2lzRG93
bmxvYWRBdHRyaWJ1dGVFbmFibGVkIHsgZmFsc2UgfTsKLSNlbmRpZgotCi0jaWYgRU5BQkxFKEVO
Q1JZUFRFRF9NRURJQSkKLSAgICBib29sIG1fZW5jcnlwdGVkTWVkaWFBUElFbmFibGVkIHsgZmFs
c2UgfTsKLSNlbmRpZgotCi0jaWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpCi0gICAg
Ym9vbCBtX2xlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZCB7IHRydWUgfTsKLSNlbmRpZgot
Ci0jaWYgRU5BQkxFKElOVEVSU0VDVElPTl9PQlNFUlZFUikKLSAgICBib29sIG1faW50ZXJzZWN0
aW9uT2JzZXJ2ZXJFbmFibGVkIHsgZmFsc2UgfTsKLSNlbmRpZgotCiAjaWYgRU5BQkxFKFNFUlZJ
Q0VfV09SS0VSKQogICAgIGJvb2wgbV9zZXJ2aWNlV29ya2VyRW5hYmxlZCB7IGZhbHNlIH07CiAj
ZW5kaWYKIAotI2lmIFVTRShTWVNURU1fUFJFVklFVykKLSAgICBib29sIG1fc3lzdGVtUHJldmll
d0VuYWJsZWQgeyBmYWxzZSB9OwotI2VuZGlmCi0KLSAgICBib29sIG1fdW5kb01hbmFnZXJBUElF
bmFibGVkIHsgZmFsc2UgfTsKLQogICAgIGJvb2wgbV9DU1NMb2dpY2FsRW5hYmxlZCB7IGZhbHNl
IH07CiAKICAgICAvLyBGYWxzZSBieSBkZWZhdWx0IHVudGlsIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMTEzNTEgLwogICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS93
M2MvY3Nzd2ctZHJhZnRzL2lzc3Vlcy8zMjU3IGhhdmUgYmVlbiBzb3J0ZWQgb3V0LgogICAgIGJv
b2wgbV9saW5lSGVpZ2h0VW5pdHNFbmFibGVkIHsgZmFsc2UgfTsKIAotICAgIGJvb2wgbV9hZENs
aWNrQXR0cmlidXRpb25FbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fYWRDbGlja0F0dHJp
YnV0aW9uRGVidWdNb2RlRW5hYmxlZCB7IGZhbHNlIH07CiAKICNpZiBFTkFCTEUoVE9VQ0hfRVZF
TlRTKQogICAgIGJvb2wgbV9tb3VzZUV2ZW50c1NpbXVsYXRpb25FbmFibGVkIHsgZmFsc2UgfTsK
LSAgICBPcHRpb25hbDxib29sPiBtX3RvdWNoRXZlbnRzRW5hYmxlZDsKICNlbmRpZgogCiAgICAg
Ym9vbCBtX2lzSVRQRGF0YWJhc2VFbmFibGVkIHsgdHJ1ZSB9OwogCi0gICAgYm9vbCBtX3JlZmVy
cmVyUG9saWN5QXR0cmlidXRlRW5hYmxlZCB7IHRydWUgfTsKLSAgICBib29sIG1faW50ZXJydXB0
QXVkaW9PblBhZ2VWaXNpYmlsaXR5Q2hhbmdlRW5hYmxlZCB7IGZhbHNlIH07Ci0KLSAgICBib29s
IG1fbGlua1ByZWxvYWRSZXNwb25zaXZlSW1hZ2VzRW5hYmxlZCB7IGZhbHNlIH07Ci0KICNpZiBI
QVZFKE5TVVJMU0VTU0lPTl9XRUJTT0NLRVQpCiAgICAgYm9vbCBtX2lzTlNVUkxTZXNzaW9uV2Vi
U29ja2V0RW5hYmxlZCB7IGZhbHNlIH07CiAjZW5kaWYKIAotICAgIGJvb2wgbV9sYXp5SW1hZ2VM
b2FkaW5nRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3NlY3VyZUNvbnRleHRDaGVja3NF
bmFibGVkIHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9pc0NTU1NoYWRvd1BhcnRzRW5hYmxlZCB7IHRy
dWUgfTsKIAotICAgIGJvb2wgbV9pc0luQXBwQnJvd3NlclByaXZhY3lFbmFibGVkIHsgZmFsc2Ug
fTsKLSAgICBib29sIG1fbmVlZHNJbkFwcEJyb3dzZXJQcml2YWN5UXVpcmtzIHsgZmFsc2UgfTsK
LQotICAgIGJvb2wgbV9sZWdhY3lCZWZvcmVMb2FkRXZlbnRFbmFibGVkIHsgZmFsc2UgfTsKLQog
I2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCiAgICAgYm9vbCBtX2FjY2Vz
c2liaWxpdHlJc29sYXRlZFRyZWUgeyBmYWxzZSB9OwogI2VuZGlmCi0gICAgYm9vbCBtX3dlYlNo
YXJlRmlsZUFQSUVuYWJsZWQgeyBmYWxzZSB9OwogCiAjaWYgSEFWRShJTkNSRU1FTlRBTF9QREZf
QVBJUykKICAgICBib29sIG1faW5jcmVtZW50YWxQREZMb2FkaW5nRW5hYmxlZCB7IGZhbHNlIH07
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCShyZXZpc2lvbiAyNjYzMTIpCisrKyBT
b3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwJKHdvcmtpbmcgY29weSkKQEAgLTIwNCw3
ICsyMDQsNyBAQCBkb21UaW1lcnNUaHJvdHRsaW5nRW5hYmxlZDoKICAgaW5pdGlhbDogdHJ1ZQog
d2ViQXJjaGl2ZURlYnVnTW9kZUVuYWJsZWQ6CiAgIGluaXRpYWw6IGZhbHNlCi0gIGNvbmRpdGlv
bmFsOiBXRUJfQVJDSElWRQorICBjb25kaXRpb25hbDogRU5BQkxFKFdFQl9BUkNISVZFKQogbG9j
YWxGaWxlQ29udGVudFNuaWZmaW5nRW5hYmxlZDoKICAgaW5pdGlhbDogZmFsc2UKIG9mZmxpbmVX
ZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZDoKQEAgLTIzNyw3ICsyMzcsNyBAQCBhY2NlbGVyYXRl
ZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuCiAgIGluaXRpYWw6IGRlZmF1bHRBY2NlbGVy
YXRlZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQKIHJ1YmJlckJhbmRpbmdGb3JT
dWJTY3JvbGxhYmxlUmVnaW9uc0VuYWJsZWQ6CiAgIGluaXRpYWw6IHRydWUKLSAgY29uZGl0aW9u
YWw6IFJVQkJFUl9CQU5ESU5HCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoUlVCQkVSX0JBTkRJTkcp
CiAKIGV4cGVyaW1lbnRhbE5vdGlmaWNhdGlvbnNFbmFibGVkOgogICBpbml0aWFsOiBmYWxzZQpA
QCAtMjYzLDcgKzI2Myw3IEBAIHBhZ2luYXRlRHVyaW5nTGF5b3V0RW5hYmxlZDoKICAgaW5pdGlh
bDogZmFsc2UKIGZ1bGxTY3JlZW5FbmFibGVkOgogICBpbml0aWFsOiBmYWxzZQotICBjb25kaXRp
b25hbDogRlVMTFNDUkVFTl9BUEkKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShGVUxMU0NSRUVOX0FQ
SSkKIGFzeW5jaHJvbm91c1NwZWxsQ2hlY2tpbmdFbmFibGVkOgogICBpbml0aWFsOiBmYWxzZQog
CkBAIC0zMjIsMjYgKzMyMiwyNiBAQCBiYWNrc3BhY2VLZXlOYXZpZ2F0aW9uRW5hYmxlZDoKICAg
aW5pdGlhbDogdHJ1ZQogc2hvdWxkRGlzcGxheVN1YnRpdGxlczoKICAgaW5pdGlhbDogZmFsc2UK
LSAgY29uZGl0aW9uYWw6IFZJREVPCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoVklERU8pCiBzaG91
bGREaXNwbGF5Q2FwdGlvbnM6CiAgIGluaXRpYWw6IGZhbHNlCi0gIGNvbmRpdGlvbmFsOiBWSURF
TworICBjb25kaXRpb25hbDogRU5BQkxFKFZJREVPKQogc2hvdWxkRGlzcGxheVRleHREZXNjcmlw
dGlvbnM6CiAgIGluaXRpYWw6IGZhbHNlCi0gIGNvbmRpdGlvbmFsOiBWSURFTworICBjb25kaXRp
b25hbDogRU5BQkxFKFZJREVPKQogZ2VuZXJpY0N1ZUFQSUVuYWJsZWQ6CiAgIGluaXRpYWw6IGZh
bHNlCi0gIGNvbmRpdGlvbmFsOiBWSURFTworICBjb25kaXRpb25hbDogRU5BQkxFKFZJREVPKQog
dXNlR1BVUHJvY2Vzc0Zvck1lZGlhOgogICBpbml0aWFsOiBmYWxzZQotICBjb25kaXRpb25hbDog
R1BVX1BST0NFU1MKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShHUFVfUFJPQ0VTUykKIHNjcm9sbGlu
Z0Nvb3JkaW5hdG9yRW5hYmxlZDoKICAgaW5pdGlhbDogZmFsc2UKIHNjcm9sbGluZ1RyZWVJbmNs
dWRlc0ZyYW1lczoKICAgaW5pdGlhbDogZGVmYXVsdFNjcm9sbGluZ1RyZWVJbmNsdWRlc0ZyYW1l
cwogc2Nyb2xsQW5pbWF0b3JFbmFibGVkOgogICBpbml0aWFsOiB0cnVlCi0gIGNvbmRpdGlvbmFs
OiBTTU9PVEhfU0NST0xMSU5HCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoU01PT1RIX1NDUk9MTElO
RykKIGZvcmNlVXBkYXRlU2Nyb2xsYmFyc09uTWFpblRocmVhZEZvclBlcmZvcm1hbmNlVGVzdGlu
ZzoKICAgaW5pdGlhbDogZmFsc2UKIG5vdGlmaWNhdGlvbnNFbmFibGVkOgpAQCAtNDI4LDcgKzQy
OCw3IEBAIGNvcmVJbWFnZUFjY2VsZXJhdGVkRmlsdGVyUmVuZGVyRW5hYmxlZDoKIGxlZ2FjeU92
ZXJmbG93U2Nyb2xsaW5nVG91Y2hFbmFibGVkOgogICBpbml0aWFsOiB0cnVlCiAgIG9uQ2hhbmdl
OiBzZXROZWVkc1JlbGF5b3V0QWxsRnJhbWVzCi0gIGNvbmRpdGlvbmFsOiBPVkVSRkxPV19TQ1JP
TExJTkdfVE9VQ0gKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkdfVE9V
Q0gpCiAKIHdlYlNlY3VyaXR5RW5hYmxlZDoKICAgaW5pdGlhbDogdHJ1ZQpAQCAtNDY4LDIyICs0
NjgsMjIgQEAgZml4ZWRCYWNrZ3JvdW5kc1BhaW50UmVsYXRpdmVUb0RvY3VtZW50OgogdGV4dEF1
dG9zaXppbmdFbmFibGVkOgogICBpbml0aWFsOiBkZWZhdWx0VGV4dEF1dG9zaXppbmdFbmFibGVk
KCkKICAgb25DaGFuZ2U6IHNldE5lZWRzUmVjYWxjU3R5bGVJbkFsbEZyYW1lcwotICBjb25kaXRp
b25hbDogVEVYVF9BVVRPU0laSU5HCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoVEVYVF9BVVRPU0la
SU5HKQogdGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGU6CiAgIHR5cGU6IEludFNpemUK
ICAgb25DaGFuZ2U6IHNldE5lZWRzUmVjYWxjU3R5bGVJbkFsbEZyYW1lcwotICBjb25kaXRpb25h
bDogVEVYVF9BVVRPU0laSU5HCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoVEVYVF9BVVRPU0laSU5H
KQogbWluaW11bVpvb21Gb250U2l6ZToKICAgdHlwZTogZmxvYXQKICAgaW5pdGlhbDogZGVmYXVs
dE1pbmltdW1ab29tRm9udFNpemUoKQotICBjb25kaXRpb25hbDogVEVYVF9BVVRPU0laSU5HCisg
IGNvbmRpdGlvbmFsOiBFTkFCTEUoVEVYVF9BVVRPU0laSU5HKQogdGV4dEF1dG9zaXppbmdVc2Vz
SWRlbXBvdGVudE1vZGU6CiAgIGluaXRpYWw6IGZhbHNlCiAgIG9uQ2hhbmdlOiBzZXROZWVkc1Jl
Y2FsY1N0eWxlSW5BbGxGcmFtZXMKLSAgY29uZGl0aW9uYWw6IFRFWFRfQVVUT1NJWklORworICBj
b25kaXRpb25hbDogRU5BQkxFKFRFWFRfQVVUT1NJWklORykKIGlkZW1wb3RlbnRNb2RlQXV0b3Np
emluZ09ubHlIb25vcnNQZXJjZW50YWdlczoKICAgaW5pdGlhbDogZmFsc2UKLSAgY29uZGl0aW9u
YWw6IFRFWFRfQVVUT1NJWklORworICBjb25kaXRpb25hbDogRU5BQkxFKFRFWFRfQVVUT1NJWklO
RykKICAgIyBUaGlzIGlzIG9ubHkgc2V0IGJlZm9yZSB0aGUgbWFpbiBmcmFtZSBsb2FkLCBzbyB0
aGVyZSdzIG5vIG5lZWQgdG8gc3BlY2lmeSBzZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMu
CiAKIHN1YnBpeGVsQW50aWFsaWFzZWRMYXllclRleHRFbmFibGVkOgpAQCAtNTA3LDExICs1MDcs
MTEgQEAgdXNlR2lhbnRUaWxlczoKIAogbWVkaWFTb3VyY2VFbmFibGVkOgogICBpbml0aWFsOiBw
bGF0Zm9ybURlZmF1bHRNZWRpYVNvdXJjZUVuYWJsZWQoKQotICBjb25kaXRpb25hbDogTUVESUFf
U09VUkNFCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoTUVESUFfU09VUkNFKQogCiBzb3VyY2VCdWZm
ZXJDaGFuZ2VUeXBlRW5hYmxlZDoKICAgaW5pdGlhbDogdHJ1ZQotICBjb25kaXRpb25hbDogTUVE
SUFfU09VUkNFCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoTUVESUFfU09VUkNFKQogCiAjIEZJWE1F
OiBSZW5hbWUgdG8gYWxsb3dNdWx0aUVsZW1lbnRJbXBsaWNpdEZvcm1TdWJtaXNzaW9uIG9uY2Ug
d2UgdXBzdHJlYW0gdGhlIGlPUyBjaGFuZ2VzIHRvIFdlYlZpZXcubW0uCiBhbGxvd011bHRpRWxl
bWVudEltcGxpY2l0U3VibWlzc2lvbjoKQEAgLTUxOSwxMSArNTE5LDExIEBAIGFsbG93TXVsdGlF
bGVtZW50SW1wbGljaXRTdWJtaXNzaW9uOgogCiBhbGxvd3NBaXJQbGF5Rm9yTWVkaWFQbGF5YmFj
azoKICAgaW5pdGlhbDogdHJ1ZQotICBjb25kaXRpb25hbDogV0lSRUxFU1NfUExBWUJBQ0tfVEFS
R0VUCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQogCiBy
ZW1vdGVQbGF5YmFja0VuYWJsZWQ6CiAgIGluaXRpYWw6IHRydWUKLSAgY29uZGl0aW9uYWw6IFdJ
UkVMRVNTX1BMQVlCQUNLX1RBUkdFVAorICBjb25kaXRpb25hbDogRU5BQkxFKFdJUkVMRVNTX1BM
QVlCQUNLX1RBUkdFVCkKIAogc2hvdWxkQ29udmVydFBvc2l0aW9uU3R5bGVPbkNvcHk6CiAgIGlu
aXRpYWw6IGZhbHNlCkBAIC01NDEsNyArNTQxLDcgQEAgYWx3YXlzVXNlQWNjZWxlcmF0ZWRPdmVy
Zmxvd1Njcm9sbDoKICAgaW5pdGlhbDogZmFsc2UKIGltYWdlQ29udHJvbHNFbmFibGVkOgogICBp
bml0aWFsOiBmYWxzZQotICBjb25kaXRpb25hbDogU0VSVklDRV9DT05UUk9MUworICBjb25kaXRp
b25hbDogRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCiAKIGVuYWJsZUluaGVyaXRVUklRdWVyeUNv
bXBvbmVudDoKICAgaW5pdGlhbDogZmFsc2UKQEAgLTU1NiwxOCArNTU2LDE4IEBAIHVzZUltYWdl
RG9jdW1lbnRGb3JTdWJmcmFtZVBERjoKIGRhdGFEZXRlY3RvclR5cGVzOgogICB0eXBlOiBEYXRh
RGV0ZWN0b3JUeXBlcwogICBpbml0aWFsOiAKLSAgY29uZGl0aW9uYWw6IERBVEFfREVURUNUSU9O
CisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoREFUQV9ERVRFQ1RJT04pCiAKICMgQWxsb3cgU291cmNl
QnVmZmVycyB0byBzdG9yZSB1cCB0byAzMDRNQiBlYWNoLCBlbm91Z2ggZm9yIGFwcHJveGltYXRl
bHkgZml2ZSBtaW51dGVzCiAjIG9mIDEwODBwIHZpZGVvIGFuZCBzdGVyZW8gYXVkaW8uCiBtYXhp
bXVtU291cmNlQnVmZmVyU2l6ZToKICAgdHlwZTogaW50CiAgIGluaXRpYWw6IDMxODc2NzEwNAot
ICBjb25kaXRpb25hbDogTUVESUFfU09VUkNFCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoTUVESUFf
U09VUkNFKQogCiBzZXJ2aWNlQ29udHJvbHNFbmFibGVkOgogICBpbml0aWFsOiBmYWxzZQotICBj
b25kaXRpb25hbDogU0VSVklDRV9DT05UUk9MUworICBjb25kaXRpb25hbDogRU5BQkxFKFNFUlZJ
Q0VfQ09OVFJPTFMpCiAKIGFwcGxlTWFpbFBhZ2luYXRpb25RdWlya0VuYWJsZWQ6CiAgIGluaXRp
YWw6IGZhbHNlCkBAIC02MjYsNyArNjI2LDYgQEAgbGF5b3V0Vmlld3BvcnRIZWlnaHRFeHBhbnNp
b25GYWN0b3I6CiAgIGluaXRpYWw6IDAKICAgb25DaGFuZ2U6IHNldE5lZWRzUmVjYWxjU3R5bGVJ
bkFsbEZyYW1lcwogCi0jIFJ1bnRpbWUtZW5hYmxlZCBmZWF0dXJlcwogdmlzdWFsVmlld3BvcnRF
bmFibGVkOgogICBpbml0aWFsOiB0cnVlCiAgIG9uQ2hhbmdlOiBzZXROZWVkc1JlY2FsY1N0eWxl
SW5BbGxGcmFtZXMKQEAgLTcyMCwxNiArNzE5LDE2IEBAIHNob3VsZElnbm9yZUZvbnRMb2FkQ29t
cGxldGlvbnM6CiAgIGluaXRpYWw6IGZhbHNlCiAKIGFwcGxlUGF5Q2FwYWJpbGl0eURpc2Nsb3N1
cmVBbGxvd2VkOgotICBjb25kaXRpb25hbDogQVBQTEVfUEFZCisgIGNvbmRpdGlvbmFsOiBFTkFC
TEUoQVBQTEVfUEFZKQogICBpbml0aWFsOiB0cnVlCiBhcHBsZVBheUVuYWJsZWQ6Ci0gIGNvbmRp
dGlvbmFsOiBBUFBMRV9QQVkKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShBUFBMRV9QQVkpCiAgIGlu
aXRpYWw6IGRlZmF1bHRBcHBsZVBheUVuYWJsZWQKIGFwcGxlUGF5UmVtb3RlVUlFbmFibGVkOgot
ICBjb25kaXRpb25hbDogQVBQTEVfUEFZX1JFTU9URV9VSQorICBjb25kaXRpb25hbDogRU5BQkxF
KEFQUExFX1BBWV9SRU1PVEVfVUkpCiAgIGluaXRpYWw6IHRydWUKIHBheW1lbnRSZXF1ZXN0RW5h
YmxlZDoKLSAgY29uZGl0aW9uYWw6IFBBWU1FTlRfUkVRVUVTVAorICBjb25kaXRpb25hbDogRU5B
QkxFKFBBWU1FTlRfUkVRVUVTVCkKICAgaW5pdGlhbDogZmFsc2UKIAogamF2YUVuYWJsZWQ6CkBA
IC03OTksNyArNzk4LDcgQEAgc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHM6CiAKIHJlc2l6
ZU9ic2VydmVyRW5hYmxlZDoKICAgaW5pdGlhbDogZmFsc2UKLSAgY29uZGl0aW9uYWw6IFJFU0la
RV9PQlNFUlZFUgorICBjb25kaXRpb25hbDogRU5BQkxFKFJFU0laRV9PQlNFUlZFUikKIAogIyBP
bmx5IHNldCBieSBMYXlvdXQgVGVzdHMuCiBtZWRpYVR5cGVPdmVycmlkZToKQEAgLTgyOSw3ICs4
MjgsNyBAQCBleHBvc2VTcGVha2Vyc0VuYWJsZWQ6CiAKIG1lZGlhRGV2aWNlSWRlbnRpZmllclN0
b3JhZ2VEaXJlY3Rvcnk6CiAgIHR5cGU6IFN0cmluZwotICBjb25kaXRpb25hbDogTUVESUFfU1RS
RUFNCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCiAjIEZJWE1FOiBUaGlz
IHF1aXJrIGlzIG5lZWRlZCBiZWNhdXNlIG9mIFJhZGFyIDQ2NzQ1MzcgYW5kIDUyMTEyNzEuIFdl
IG5lZWQgdG8gcGhhc2UgaXQgb3V0IG9uY2UgQWRvYmUKICMgY2FuIGZpeCB0aGUgYnVnIGZyb20g
dGhlaXIgZW5kLgpAQCAtODQzLDIyICs4NDIsMjIgQEAgcGFzc2l2ZVRvdWNoTGlzdGVuZXJzQXNE
ZWZhdWx0T25Eb2N1bWVudAogdG91Y2hFdmVudEVtdWxhdGlvbkVuYWJsZWQ6CiAgIGluaXRpYWw6
IGZhbHNlCiAgIGdldHRlcjogaXNUb3VjaEV2ZW50RW11bGF0aW9uRW5hYmxlZAotICBjb25kaXRp
b25hbDogVE9VQ0hfRVZFTlRTCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQog
CiBkZXZpY2VPcmllbnRhdGlvbkV2ZW50RW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBpbml0aWFs
OiB0cnVlCi0gIGNvbmRpdGlvbmFsOiBERVZJQ0VfT1JJRU5UQVRJT04KKyAgY29uZGl0aW9uYWw6
IEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCiAKIGRldmljZU9yaWVudGF0aW9uUGVybWlzc2lv
bkFQSUVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgaW5pdGlhbDogZmFsc2UKLSAgY29uZGl0aW9u
YWw6IERFVklDRV9PUklFTlRBVElPTgorICBjb25kaXRpb25hbDogRU5BQkxFKERFVklDRV9PUklF
TlRBVElPTikKIAogc2hvdWxkRW5hYmxlVGV4dEF1dG9zaXppbmdCb29zdDoKICAgdHlwZTogYm9v
bAogICBpbml0aWFsOiBmYWxzZQotICBjb25kaXRpb25hbDogVEVYVF9BVVRPU0laSU5HCisgIGNv
bmRpdGlvbmFsOiBFTkFCTEUoVEVYVF9BVVRPU0laSU5HKQogICBvbkNoYW5nZTogc2hvdWxkRW5h
YmxlVGV4dEF1dG9zaXppbmdCb29zdENoYW5nZWQKIAogbWVkaWFDYXBhYmlsaXRpZXNFbmFibGVk
OgpAQCAtODg3LDcgKzg4Niw3IEBAIHNob3VsZElnbm9yZU1ldGFWaWV3cG9ydDoKIAogdmlkZW9R
dWFsaXR5SW5jbHVkZXNEaXNwbGF5Q29tcG9zaXRpbmdFbmFibGVkOgogICBpbml0aWFsOiBmYWxz
ZQotICBjb25kaXRpb25hbDogVklERU8KKyAgY29uZGl0aW9uYWw6IEVOQUJMRShWSURFTykKIAog
ZWRpdGFibGVJbWFnZXNFbmFibGVkOgogICBpbml0aWFsOiBmYWxzZQpAQCAtOTQxLDExICs5NDAs
MTMgQEAgZW50ZXJLZXlIaW50RW5hYmxlZDoKIAogbGVnYWN5R2V0VXNlck1lZGlhRW5hYmxlZDoK
ICAgaW5pdGlhbDogZmFsc2UKLSAgY29uZGl0aW9uYWw6IE1FRElBX1NUUkVBTQorICBjb25kaXRp
b25hbDogRU5BQkxFKE1FRElBX1NUUkVBTSkKIAorIyBGSVhNRTogU2VlbXMgdG8gYmUgdW51c2Vk
LiBSZW1vdmUgb25jZSB2ZXJpZmllZC4KIGlzSW5BcHBCcm93c2VyUHJpdmFjeUVuYWJsZWQ6CiAg
IGluaXRpYWw6IGZhbHNlCiAKKyMgRklYTUU6IFNlZW1zIHRvIGJlIHVudXNlZC4gUmVtb3ZlIG9u
Y2UgdmVyaWZpZWQuCiBOZWVkc0luQXBwQnJvd3NlclByaXZhY3lRdWlya3M6CiAgIGluaXRpYWw6
IGZhbHNlCiAKQEAgLTk1NywzMSArOTU4LDEyNiBAQCBhc3BlY3RSYXRpb09mSW1nRnJvbVdpZHRo
QW5kSGVpZ2h0RW5hYmxlCiAKIGlucHV0VHlwZUNvbG9yRW5hYmxlZDoKICAgaW5pdGlhbDogZmFs
c2UKLSAgY29uZGl0aW9uYWw6IElOUFVUX1RZUEVfQ09MT1IKKyAgY29uZGl0aW9uYWw6IEVOQUJM
RShJTlBVVF9UWVBFX0NPTE9SKQogCiBpbnB1dFR5cGVEYXRlRW5hYmxlZDoKICAgaW5pdGlhbDog
ZmFsc2UKLSAgY29uZGl0aW9uYWw6IElOUFVUX1RZUEVfREFURQorICBjb25kaXRpb25hbDogRU5B
QkxFKElOUFVUX1RZUEVfREFURSkKIAogaW5wdXRUeXBlRGF0ZVRpbWVMb2NhbEVuYWJsZWQ6CiAg
IGluaXRpYWw6IGZhbHNlCi0gIGNvbmRpdGlvbmFsOiBJTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwK
KyAgY29uZGl0aW9uYWw6IEVOQUJMRShJTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpCiAKIGlucHV0
VHlwZU1vbnRoRW5hYmxlZDoKICAgaW5pdGlhbDogZmFsc2UKLSAgY29uZGl0aW9uYWw6IElOUFVU
X1RZUEVfTU9OVEgKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShJTlBVVF9UWVBFX01PTlRIKQogCiBp
bnB1dFR5cGVUaW1lRW5hYmxlZDoKICAgaW5pdGlhbDogZmFsc2UKLSAgY29uZGl0aW9uYWw6IElO
UFVUX1RZUEVfVElNRQorICBjb25kaXRpb25hbDogRU5BQkxFKElOUFVUX1RZUEVfVElNRSkKIAog
aW5wdXRUeXBlV2Vla0VuYWJsZWQ6CiAgIGluaXRpYWw6IGZhbHNlCi0gIGNvbmRpdGlvbmFsOiBJ
TlBVVF9UWVBFX1dFRUsKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShJTlBVVF9UWVBFX1dFRUspCiAK
IGRhdGVUaW1lSW5wdXRzRWRpdGFibGVDb21wb25lbnRzRW5hYmxlZDoKICAgaW5pdGlhbDogZmFs
c2UKLSAgY29uZGl0aW9uYWw6IERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMKKyAgY29uZGl0aW9u
YWw6IEVOQUJMRShEQVRFX0FORF9USU1FX0lOUFVUX1RZUEVTKQorCitibGFua0FuY2hvclRhcmdl
dEltcGxpZXNOb09wZW5lckVuYWJsZWQ6CisgIGluaXRpYWw6IHRydWUKKworbGlua1ByZWxvYWRF
bmFibGVkOgorICBpbml0aWFsOiB0cnVlCisKK2xpbmtQcmVmZXRjaEVuYWJsZWQ6CisgIGluaXRp
YWw6IGZhbHNlCisKK2xpbmtQcmVsb2FkUmVzcG9uc2l2ZUltYWdlc0VuYWJsZWQ6CisgIGluaXRp
YWw6IGZhbHNlCisKK2Rpc2FibGVkQWRhcHRhdGlvbnNNZXRhVGFnRW5hYmxlZDoKKyAgaW5pdGlh
bDogZmFsc2UKKworbGF6eUltYWdlTG9hZGluZ0VuYWJsZWQ6CisgIGluaXRpYWw6IGZhbHNlCisK
K3JlZmVycmVyUG9saWN5QXR0cmlidXRlRW5hYmxlZDoKKyAgaW5pdGlhbDogdHJ1ZQorCitjdXN0
b21FbGVtZW50c0VuYWJsZWQ6CisgIGluaXRpYWw6IHRydWUKKworZGF0YVRyYW5zZmVySXRlbXNF
bmFibGVkOgorICBpbml0aWFsOiBmYWxzZQorCit3ZWJBdXRoZW50aWNhdGlvbkVuYWJsZWQ6Cisg
IGluaXRpYWw6IGZhbHNlCisKK3dlYkF1dGhlbnRpY2F0aW9uTG9jYWxBdXRoZW50aWNhdG9yRW5h
YmxlZDoKKyAgaW5pdGlhbDogZmFsc2UKKworIyBGSVhNRTogU2VlbXMgdG8gYmUgdW51c2VkLiBS
ZW1vdmUgb25jZSB2ZXJpZmllZC4KK21lZGlhU3RyZWFtRW5hYmxlZDoKKyAgaW5pdGlhbDogdHJ1
ZQorICBjb25kaXRpb25hbDogRU5BQkxFKE1FRElBX1NUUkVBTSkKKworbWVkaWFSZWNvcmRlckVu
YWJsZWQ6CisgIGluaXRpYWw6IGZhbHNlCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoTUVESUFfU1RS
RUFNKQorCittZWRpYURldmljZXNFbmFibGVkOgorICBpbml0aWFsOiBmYWxzZQorICBjb25kaXRp
b25hbDogRU5BQkxFKE1FRElBX1NUUkVBTSkKKworc2NyZWVuQ2FwdHVyZUVuYWJsZWQ6CisgIGlu
aXRpYWw6IGZhbHNlCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCitnYW1l
cGFkc0VuYWJsZWQ6CisgIGluaXRpYWw6IGZhbHNlCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoR0FN
RVBBRCkKKworY3NzQ3VzdG9tUHJvcGVydGllc0FuZFZhbHVlc0VuYWJsZWQ6CisgIGluaXRpYWw6
IGZhbHNlCisKK3dlYlNoYXJlRW5hYmxlZDoKKyAgaW5pdGlhbDogZmFsc2UKKword2ViU2hhcmVG
aWxlQVBJRW5hYmxlZDoKKyAgaW5pdGlhbDogZmFsc2UKKwordW5kb01hbmFnZXJBUElFbmFibGVk
OgorICBpbml0aWFsOiBmYWxzZQorCitpbnRlcnNlY3Rpb25PYnNlcnZlckVuYWJsZWQ6CisgIGlu
aXRpYWw6IGZhbHNlCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoSU5URVJTRUNUSU9OX09CU0VSVkVS
KQorCitkb3dubG9hZEF0dHJpYnV0ZUVuYWJsZWQ6CisgIGluaXRpYWw6IGZhbHNlCisgIGNvbmRp
dGlvbmFsOiBFTkFCTEUoRE9XTkxPQURfQVRUUklCVVRFKQorCitzeXN0ZW1QcmV2aWV3RW5hYmxl
ZDoKKyAgaW5pdGlhbDogZmFsc2UKKyAgY29uZGl0aW9uYWw6IFVTRShTWVNURU1fUFJFVklFVykK
KworaW50ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5Q2hhbmdlRW5hYmxlZDoKKyAgaW5pdGlh
bDogZmFsc2UKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShNRURJQV9TVFJFQU0pCisKK2VuY3J5cHRl
ZE1lZGlhQVBJRW5hYmxlZDoKKyAgaW50aWlhbDogZmFsc2UKKyAgY29uZGl0aW9uYTogRU5BQkxF
KEVOQ1JZUFRFRF9NRURJQSkKKworbGVnYWN5RW5jcnlwdGVkTWVkaWFBUElFbmFibGVkOgorICBp
bnRpaWFsOiB0cnVlCisgIGNvbmRpdGlvbmE6IEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElB
KQorCisjIEZJTVhFOiBUaGlzIGRvZXMgbm90IGFwcGVhciB0byBldmVyIGJlIHNldCB0byB0cnVl
LiBSZW1vdmUgb25jZSB2ZXJpZmllZC4KK2xlZ2FjeUJlZm9yZUxvYWRFdmVudEVuYWJsZWQ6Cisg
IGluaXRpYWw6IGZhbHNlCisKIAogIyBEZXByZWNhdGVkCiAKQEAgLTk5MiwxMyArMTA4OCwxMyBA
QCBpY2VDYW5kaWRhdGVGaWx0ZXJpbmdFbmFibGVkOgogCiBtb2NrQ2FwdHVyZURldmljZXNFbmFi
bGVkOgogICBpbml0aWFsOiBmYWxzZQotICBjb25kaXRpb25hbDogTUVESUFfU1RSRUFNCisgIGNv
bmRpdGlvbmFsOiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICBvbkNoYW5nZTogbW9ja0NhcHR1cmVE
ZXZpY2VzRW5hYmxlZENoYW5nZWQKICAgaW5zcGVjdG9yT3ZlcnJpZGU6IHRydWUKIAogbWVkaWFD
YXB0dXJlUmVxdWlyZXNTZWN1cmVDb25uZWN0aW9uOgogICBpbml0aWFsOiB0cnVlCi0gIGNvbmRp
dGlvbmFsOiBNRURJQV9TVFJFQU0KKyAgY29uZGl0aW9uYWw6IEVOQUJMRShNRURJQV9TVFJFQU0p
CiAgIGluc3BlY3Rvck92ZXJyaWRlOiB0cnVlCiAKIHNob3VsZFVzZVNlcnZpY2VXb3JrZXJTaG9y
dFRpbWVvdXQ6CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1VuZG9JdGVtLmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1VuZG9JdGVtLmlkbAkocmV2aXNpb24gMjY2MzEy
KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9VbmRvSXRlbS5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTI0LDcgKzI0LDcgQEAKICAqLwogCiBbCi0gICAgRW5hYmxlZEF0UnVudGltZT1VbmRvTWFuYWdl
ckFQSSwKKyAgICBFbmFibGVkQnlTZXR0aW5nPVVuZG9NYW5hZ2VyQVBJLAogXSBkaWN0aW9uYXJ5
IFVuZG9JdGVtSW5pdCB7CiAgICAgcmVxdWlyZWQgRE9NU3RyaW5nIGxhYmVsOwogICAgIHJlcXVp
cmVkIFZvaWRDYWxsYmFjayB1bmRvOwpAQCAtMzIsNyArMzIsNyBAQAogfTsKIAogWwotICAgIEVu
YWJsZWRBdFJ1bnRpbWU9VW5kb01hbmFnZXJBUEksCisgICAgRW5hYmxlZEJ5U2V0dGluZz1VbmRv
TWFuYWdlckFQSSwKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEpTQ3VzdG9t
TWFya0Z1bmN0aW9uLAogICAgIEN1c3RvbUlzUmVhY2hhYmxlLApJbmRleDogU291cmNlL1dlYkNv
cmUvcGFnZS9VbmRvTWFuYWdlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFn
ZS9VbmRvTWFuYWdlci5pZGwJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvVW5kb01hbmFnZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3ICsyNCw3IEBACiAgKi8K
IAogWwotICAgIEVuYWJsZWRBdFJ1bnRpbWU9VW5kb01hbmFnZXJBUEksCisgICAgRW5hYmxlZEJ5
U2V0dGluZz1VbmRvTWFuYWdlckFQSSwKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAog
ICAgIEdlbmVyYXRlSXNSZWFjaGFibGU9SW1wbERvY3VtZW50LAogXSBpbnRlcmZhY2UgVW5kb01h
bmFnZXIgewpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCShy
ZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2Uu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MTAsNyArNzEwLDcgQEAgSW1hZ2VEcmF3UmVzdWx0IFJl
bmRlckltYWdlOjpwYWludEludG9SZQogICAgICAgICBpbWFnZVJlc291cmNlKCkuY2FjaGVkSW1h
Z2UoKS0+YWRkQ2xpZW50V2FpdGluZ0ZvckFzeW5jRGVjb2RpbmcoKnRoaXMpOwogCiAjaWYgVVNF
KFNZU1RFTV9QUkVWSUVXKQotICAgIGlmIChpbWFnZUVsZW1lbnQgJiYgaW1hZ2VFbGVtZW50LT5p
c1N5c3RlbVByZXZpZXdJbWFnZSgpICYmIGRyYXdSZXN1bHQgPT0gSW1hZ2VEcmF3UmVzdWx0OjpE
aWREcmF3ICYmIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc3lzdGVt
UHJldmlld0VuYWJsZWQoKSkKKyAgICBpZiAoaW1hZ2VFbGVtZW50ICYmIGltYWdlRWxlbWVudC0+
aXNTeXN0ZW1QcmV2aWV3SW1hZ2UoKSAmJiBkcmF3UmVzdWx0ID09IEltYWdlRHJhd1Jlc3VsdDo6
RGlkRHJhdyAmJiBpbWFnZUVsZW1lbnQtPmRvY3VtZW50KCkuc2V0dGluZ3MoKS5zeXN0ZW1QcmV2
aWV3RW5hYmxlZCgpKQogICAgICAgICB0aGVtZSgpLnBhaW50U3lzdGVtUHJldmlld0JhZGdlKCpp
bWcsIHBhaW50SW5mbywgcmVjdCk7CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
MTYsOSArMTE2LDYgQEAgSW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpCYWNrdXAoU2V0dGluZwog
I2lmIEVOQUJMRShXRUJHTDIpCiAgICAgLCBtX3dlYkdMMkVuYWJsZWQoUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS53ZWJHTDJFbmFibGVkKCkpCiAjZW5kaWYKLSNpZiBF
TkFCTEUoTUVESUFfU1RSRUFNKQotICAgICwgbV9zZXRTY3JlZW5DYXB0dXJlRW5hYmxlZChSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNjcmVlbkNhcHR1cmVFbmFibGVk
KCkpCi0jZW5kaWYKICAgICAsIG1fZmV0Y2hBUElLZWVwQWxpdmVBUElFbmFibGVkKFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuZmV0Y2hBUElLZWVwQWxpdmVFbmFibGVk
KCkpCiAgICAgLCBtX3Nob3VsZE1vY2tCb2xkU3lzdGVtRm9udEZvckFjY2Vzc2liaWxpdHkoUmVu
ZGVyVGhlbWU6OnNpbmdsZXRvbigpLnNob3VsZE1vY2tCb2xkU3lzdGVtRm9udEZvckFjY2Vzc2li
aWxpdHkoKSkKICNpZiBVU0UoQVVESU9fU0VTU0lPTikKQEAgLTIyMCw5ICsyMTcsNiBAQCB2b2lk
IEludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6cmVzdG9yZVRvCiAjaWYgRU5BQkxFKFdFQkdMMikK
ICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFdlYkdMMkVu
YWJsZWQobV93ZWJHTDJFbmFibGVkKTsKICNlbmRpZgotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0p
Ci0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRTY3JlZW5D
YXB0dXJlRW5hYmxlZChtX3NldFNjcmVlbkNhcHR1cmVFbmFibGVkKTsKLSNlbmRpZgogICAgIFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0RmV0Y2hBUElLZWVwQWxp
dmVFbmFibGVkKG1fZmV0Y2hBUElLZWVwQWxpdmVBUElFbmFibGVkKTsKICAgICBSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEN1c3RvbVBhc3RlYm9hcmREYXRhRW5h
YmxlZChtX2N1c3RvbVBhc3RlYm9hcmREYXRhRW5hYmxlZCk7CiAKQEAgLTgxNCwxNSArODA4LDYg
QEAgdm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRXZWJHUFVFbmFibGVkKAogI2VuZGlmCiB9CiAK
LXZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0U2NyZWVuQ2FwdHVyZUVuYWJsZWQoYm9vbCBlbmFi
bGVkKQotewotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0gICAgUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRTY3JlZW5DYXB0dXJlRW5hYmxlZChlbmFibGVkKTsK
LSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGVuYWJsZWQpOwotI2VuZGlmCi19Ci0KIHZvaWQgSW50
ZXJuYWxTZXR0aW5nczo6c2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKGJvb2wgZW5hYmxlZCkK
IHsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEZldGNo
QVBJS2VlcEFsaXZlRW5hYmxlZChlbmFibGVkKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxTZXR0aW5ncy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxTZXR0aW5ncy5oCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaAkod29ya2luZyBjb3B5KQpAQCAtMTMyLDcgKzEz
Miw2IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBzZXRXZWJHTDJFbmFibGVkKGJvb2wpOwog
ICAgIHN0YXRpYyB2b2lkIHNldFdlYkdQVUVuYWJsZWQoYm9vbCk7CiAgICAgc3RhdGljIHZvaWQg
c2V0UGljdHVyZUluUGljdHVyZUFQSUVuYWJsZWQoYm9vbCk7Ci0gICAgc3RhdGljIHZvaWQgc2V0
U2NyZWVuQ2FwdHVyZUVuYWJsZWQoYm9vbCk7CiAgICAgc3RhdGljIHZvaWQgc2V0RmV0Y2hBUElL
ZWVwQWxpdmVFbmFibGVkKGJvb2wpOwogCiAgICAgc3RhdGljIGJvb2wgd2ViQW5pbWF0aW9uc0NT
U0ludGVncmF0aW9uRW5hYmxlZCgpOwpAQCAtMjI0LDcgKzIyMyw2IEBAIHByaXZhdGU6CiAgICAg
ICAgIC8vIFJ1bnRpbWUgZW5hYmxlZCBzZXR0aW5ncy4KICAgICAgICAgYm9vbCBtX2luZGV4ZWRE
QldvcmtlcnNFbmFibGVkOwogICAgICAgICBib29sIG1fd2ViR0wyRW5hYmxlZDsKLSAgICAgICAg
Ym9vbCBtX3NldFNjcmVlbkNhcHR1cmVFbmFibGVkOwogICAgICAgICBib29sIG1fZmV0Y2hBUElL
ZWVwQWxpdmVBUElFbmFibGVkOwogICAgICAgICAKICAgICAgICAgYm9vbCBtX3Nob3VsZE1vY2tC
b2xkU3lzdGVtRm9udEZvckFjY2Vzc2liaWxpdHk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTk2
LDcgKzk2LDYgQEAgZW51bSBGb250TG9hZFRpbWluZ092ZXJyaWRlIHsgIkJsb2NrIiwgIgogICAg
IHVuZGVmaW5lZCBzZXRJbmRleGVkREJXb3JrZXJzRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwog
ICAgIHVuZGVmaW5lZCBzZXRXZWJHTDJFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CiAgICAgdW5k
ZWZpbmVkIHNldFdlYkdQVUVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKLSAgICB1bmRlZmluZWQg
c2V0U2NyZWVuQ2FwdHVyZUVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKICAgICB1bmRlZmluZWQg
c2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CiAKICAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIERPTVN0cmluZyB1c2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCk7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCShyZXZpc2lvbiAyNjYzMTIp
CisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTU3OCw3ICs1NzgsNyBAQCB2b2lkIEludGVybmFsczo6cmVzZXRUb0NvbnNpc3RlbnRTdGF0
ZShQCiAgICAgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6ZGlzYWJsZU1vY2soKTsK
IAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS5zZXRJbnRlcnJ1cHRBdWRpb09uUGFnZVZpc2liaWxpdHlDaGFuZ2VF
bmFibGVkKGZhbHNlKTsKKyAgICBwYWdlLnNldHRpbmdzKCkuc2V0SW50ZXJydXB0QXVkaW9PblBh
Z2VWaXNpYmlsaXR5Q2hhbmdlRW5hYmxlZChmYWxzZSk7CiAgICAgV2ViQ29yZTo6TWVkaWFSZWNv
cmRlcjo6c2V0Q3VzdG9tUHJpdmF0ZVJlY29yZGVyQ3JlYXRvcihudWxscHRyKTsKICNlbmRpZgog
CkBAIC0xNjgxLDcgKzE2ODEsOSBAQCB2b2lkIEludGVybmFsczo6c2V0VXNlR1BVUHJvY2Vzc0Zv
cldlYlJUCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIHZvaWQgSW50ZXJuYWxzOjpzZXRTaG91
bGRJbnRlcnJ1cHRBdWRpb09uUGFnZVZpc2liaWxpdHlDaGFuZ2UoYm9vbCBzaG91bGRJbnRlcnJ1
cHQpCiB7Ci0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRJ
bnRlcnJ1cHRBdWRpb09uUGFnZVZpc2liaWxpdHlDaGFuZ2VFbmFibGVkKHNob3VsZEludGVycnVw
dCk7CisgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gY29udGV4dERvY3VtZW50KCk7CisgICAgaWYg
KGF1dG8qIHBhZ2UgPSBkb2N1bWVudC0+cGFnZSgpKQorICAgICAgICBwYWdlLT5zZXR0aW5ncygp
LnNldEludGVycnVwdEF1ZGlvT25QYWdlVmlzaWJpbGl0eUNoYW5nZUVuYWJsZWQoc2hvdWxkSW50
ZXJydXB0KTsKIH0KIAogdm9pZCBJbnRlcm5hbHM6OnNldE1lZGlhQ2FwdHVyZVJlcXVpcmVzU2Vj
dXJlQ29ubmVjdGlvbihib29sIGVuYWJsZWQpCkBAIC01ODE0LDcgKzU4MTYsNyBAQCBJbnRlcm5h
bHM6OlRleHRJbmRpY2F0b3JJbmZvIEludGVybmFsczo6CiAKIHZvaWQgSW50ZXJuYWxzOjphZGRQ
cmVmZXRjaExvYWRFdmVudExpc3RlbmVyKEhUTUxMaW5rRWxlbWVudCYgbGluaywgUmVmUHRyPEV2
ZW50TGlzdGVuZXI+JiYgbGlzdGVuZXIpCiB7Ci0gICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnNoYXJlZEZlYXR1cmVzKCkubGlua1ByZWZldGNoRW5hYmxlZCgpICYmIGVxdWFsTGV0dGVy
c0lnbm9yaW5nQVNDSUlDYXNlKGxpbmsucmVsKCksICJwcmVmZXRjaCIpKSB7CisgICAgaWYgKGxp
bmsuZG9jdW1lbnQoKS5zZXR0aW5ncygpLmxpbmtQcmVmZXRjaEVuYWJsZWQoKSAmJiBlcXVhbExl
dHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShsaW5rLnJlbCgpLCAicHJlZmV0Y2giKSkgewogICAgICAg
ICBsaW5rLmFsbG93UHJlZmV0Y2hMb2FkQW5kRXJyb3JGb3JUZXN0aW5nKCk7CiAgICAgICAgIGxp
bmsuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkubG9hZEV2ZW50LCBsaXN0ZW5lci5yZWxl
YXNlTm9uTnVsbCgpLCBmYWxzZSk7CiAgICAgfQpJbmRleDogU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2NjMy
OCkKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MjggQEAKKzIwMjAtMDgtMjkgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgorCisgICAg
ICAgIE1hbnkgc2V0dGluZ3MgaW4gUnVudGltZUVuYWJsZWRTZXR0aW5ncyBzaG91bGQgYXV0b2dl
bmVyYXRlZCBTZXR0aW5nczogUGFydCAxCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTU5ODEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGlzIG1vdmVzIGFuIGluaXRpYWwgY2h1bmsgb2YgUnVudGltZUVu
YWJsZWRTZXR0aW5ncyBzZXR0aW5ncyB0byBTZXR0aW5ncy55YW1sLCBmb2N1c2luZworICAgICAg
ICBvbiBzZXR0aW5ncyB0aGF0IGRvbid0IHJlcXVpcmUgc3Vic3RhbnRpYWwgcmVmYWN0b3Jpbmcg
b3IgbmV3IGZlYXR1cmVzIHRvIHdvcmsgaW4gU2V0dGluZ3MueWFtbC4KKyAgICAgICAgCisgICAg
ICAgIEluIFdlYktpdCwgdGhpcyBtZWFucyBtb3N0bHkgcmVtb3Zpbmcgbm93IHVubmVjZXNzYXJ5
IHVzZSBvZiB0aGUgd2ViY29yZUJpbmRpbmcga2V5IGluIAorICAgICAgICBXZWJQcmVmZXJlbmNl
cy55YW1sIGFuZCByZW1vdmluZyBub3cgc3VwZXJmbHVvdXMgY2FzZXMgaW4gSW5qZWN0ZWRCdW5k
bGU6Om92ZXJyaWRlQm9vbFByZWZlcmVuY2VGb3JUZXN0UnVubmVyLgorCisgICAgICAgICogU2hh
cmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6CisgICAgICAgIFJlbW92aW5nIG5vdyB1bm5lY2Vzc2Fy
eSB1c2Ugb2YgdGhlIHdlYmNvcmVCaW5kaW5nIGtleSBhbmQgZml4IGluZGVudGF0aW9uIG9mIGEg
ZmV3IGNhc2VzLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkluamVjdGVkQnVuZGxlOjpvdmVycmlkZUJv
b2xQcmVmZXJlbmNlRm9yVGVzdFJ1bm5lcik6CisgICAgICAgIFJlbW92ZSBub3cgc3VwZXJmbHVv
dXMgY2FzZXMsIGFzIGVhY2ggYm9vbGVhbiBTZXR0aW5ncyBiYXNlZCBzZXR0aW5nIGdldHMgaGFu
ZGxlZCBhdXRvbWF0aWNhbGx5LgorIAorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMpOgor
ICAgICAgICBSZW1vdmUgZXhwbGljaXQgc2V0dGluZyBvZiBzZXRJbnRlcmFjdGl2ZUZvcm1WYWxp
ZGF0aW9uRW5hYmxlZCBub3cgdGhhdCB3ZSBkb24ndCBoYXZlIHRoZQorICAgICAgICBSdW50aW1l
RW5hYmxlZFNldHRpbmdzIHZhcmlhbnQgYmVpbmcgc2V0IGJ5IHRoZSBnZW5lcmF0b3IuCisKIDIw
MjAtMDgtMjggIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgU2l0ZXMgYnVpbHQgd2l0aCBmbGFtYmUuanMgZG9uJ3Qgd29yayB3aXRoIHRyYWNrcGFkIG9u
IGlQYWQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAkocmV2
aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFt
bAkod29ya2luZyBjb3B5KQpAQCAtMSw3ICsxLDYgQEAKIEJsYW5rQW5jaG9yVGFyZ2V0SW1wbGll
c05vT3BlbmVyRW5hYmxlZDoKICAgIHR5cGU6IGJvb2wKICAgIGRlZmF1bHRWYWx1ZTogdHJ1ZQot
ICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKICAgIGh1bWFuUmVhZGFi
bGVOYW1lOiAiQmxhbmsgYW5jaG9yIHRhcmdldCBpbXBsaWVzIHJlbD1ub29wZW5lciIKICAgIGh1
bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogInRhcmdldD1fYmxhbmsgb24gYW5jaG9yIGVsZW1lbnRz
IGltcGxpZXMgcmVsPW5vb3BlbmVyIgogICAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbApAQCAtNTU4
LDI0ICs1NTcsMjEgQEAgVXNlR2lhbnRUaWxlczoKICAgZGVmYXVsdFZhbHVlOiBmYWxzZQogCiBN
ZWRpYVJlY29yZGVyRW5hYmxlZDoKLSAgICB0eXBlOiBib29sCi0gICAgZGVmYXVsdFZhbHVlOiBm
YWxzZQotICAgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCi0gICAgY29u
ZGl0aW9uOiBFTkFCTEUoTUVESUFfU1RSRUFNKQotICAgIGh1bWFuUmVhZGFibGVOYW1lOiAiTWVk
aWFSZWNvcmRlciIKLSAgICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJNZWRpYVJlY29yZGVy
IgotICAgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKKyAgdHlwZTogYm9vbAorICBkZWZhdWx0VmFs
dWU6IGZhbHNlCisgIGNvbmRpdGlvbjogRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgaHVtYW5SZWFk
YWJsZU5hbWU6ICJNZWRpYVJlY29yZGVyIgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJN
ZWRpYVJlY29yZGVyIgorICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCiAKIE1lZGlhRGV2aWNlc0Vu
YWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiBmYWxzZQotICB3ZWJjb3JlQmlu
ZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogICBjb25kaXRpb246IEVOQUJMRShNRURJQV9T
VFJFQU0pCiAKIE1lZGlhU3RyZWFtRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFs
dWU6IHRydWUKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKICAgY29u
ZGl0aW9uOiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCiBNZWRpYUVuYWJsZWQ6CkBAIC01ODcsNyAr
NTgzLDYgQEAgTWVkaWFFbmFibGVkOgogU2NyZWVuQ2FwdHVyZUVuYWJsZWQ6CiAgIHR5cGU6IGJv
b2wKICAgZGVmYXVsdFZhbHVlOiB0cnVlCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzCiAgIGNvbmRpdGlvbjogRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgUExBVEZPUk0o
TUFDKQogICBodW1hblJlYWRhYmxlTmFtZTogIlNjcmVlbkNhcHR1cmUiCiAgIGh1bWFuUmVhZGFi
bGVEZXNjcmlwdGlvbjogIkVuYWJsZSBTY3JlZW5DYXB0dXJlIgpAQCAtNjAyLDcgKzU5Nyw2IEBA
IFBlZXJDb25uZWN0aW9uRW5hYmxlZDoKIEludGVycnVwdEF1ZGlvT25QYWdlVmlzaWJpbGl0eUNo
YW5nZUVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiBXZWJDb3JlOjpSZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyOjpzaG91bGRJbnRlcnJ1cHRBdWRpb09uUGFnZVZpc2liaWxp
dHlDaGFuZ2UoKQotICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogICBj
b25kaXRpb246IEVOQUJMRShNRURJQV9TVFJFQU0pCiAKIFdlYlJUQ0gyNjRMb3dMYXRlbmN5RW5j
b2RlckVuYWJsZWQ6CkBAIC03OTUsNyArNzg5LDYgQEAgRmV0Y2hBUElFbmFibGVkOgogRG93bmxv
YWRBdHRyaWJ1dGVFbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogdHJ1ZQot
ICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogICBjb25kaXRpb246IEVO
QUJMRShET1dOTE9BRF9BVFRSSUJVVEUpCiAKIFNlbGVjdGlvblBhaW50aW5nV2l0aG91dFNlbGVj
dGlvbkdhcHNFbmFibGVkOgpAQCAtODMxLDcgKzgyNCw2IEBAIEFuaW1hdGVkSW1hZ2VBc3luY0Rl
Y29kaW5nRW5hYmxlZDoKIEN1c3RvbUVsZW1lbnRzRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBk
ZWZhdWx0VmFsdWU6IHRydWUKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXMKIAogTWVudUl0ZW1FbGVtZW50RW5hYmxlZDoKICAgdHlwZTogYm9vbApAQCAtODQxLDE0ICs4
MzMsMTIgQEAgTWVudUl0ZW1FbGVtZW50RW5hYmxlZDoKIE1lZGlhUHJlbG9hZGluZ0VuYWJsZWQ6
CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiBmYWxzZQotICB3ZWJjb3JlQmluZGluZzog
UnVudGltZUVuYWJsZWRGZWF0dXJlcwogCiBJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxl
ZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IHRydWUKICAgaHVtYW5SZWFkYWJsZU5h
bWU6ICJIVE1MIEludGVyYWN0aXZlIEZvcm0gVmFsaWRhdGlvbiIKICAgaHVtYW5SZWFkYWJsZURl
c2NyaXB0aW9uOiAiSFRNTCBpbnRlcmFjdGl2ZSBmb3JtIHZhbGlkYXRpb24iCi0gIHdlYmNvcmVC
aW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAKIFNob3VsZFN1cHByZXNzVGV4dElucHV0
RnJvbUVkaXRpbmdEdXJpbmdQcm92aXNpb25hbE5hdmlnYXRpb246CiAgIHR5cGU6IGJvb2wKQEAg
LTg1OSwzMCArODQ5LDI3IEBAIEdhbWVwYWRzRW5hYmxlZDoKICAgZGVmYXVsdFZhbHVlOiB0cnVl
CiAgIGh1bWFuUmVhZGFibGVOYW1lOiAiR2FtZXBhZHMiCiAgIGh1bWFuUmVhZGFibGVEZXNjcmlw
dGlvbjogIldlYiBHYW1lcGFkIEFQSSBzdXBwb3J0IgotICB3ZWJjb3JlQmluZGluZzogUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcwogICBjb25kaXRpb246IEVOQUJMRShHQU1FUEFEKQogCiBIaWdobGln
aHRBUElFbmFibGVkOgotICAgIHR5cGU6IGJvb2wKLSAgICBkZWZhdWx0VmFsdWU6IGZhbHNlCi0g
ICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJIaWdobGlnaHQgQVBJIgotICAgIGh1bWFuUmVhZGFibGVE
ZXNjcmlwdGlvbjogIkhpZ2hsaWdodCBBUEkgc3VwcG9ydCIKLSAgICB3ZWJjb3JlQmluZGluZzog
UnVudGltZUVuYWJsZWRGZWF0dXJlcwotICAgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKKyAgdHlw
ZTogYm9vbAorICBkZWZhdWx0VmFsdWU6IGZhbHNlCisgIGh1bWFuUmVhZGFibGVOYW1lOiAiSGln
aGxpZ2h0IEFQSSIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiSGlnaGxpZ2h0IEFQSSBz
dXBwb3J0IgorICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcworICBjYXRl
Z29yeTogZXhwZXJpbWVudGFsCiAKIElucHV0RXZlbnRzRW5hYmxlZDoKICAgdHlwZTogYm9vbAog
ICBkZWZhdWx0VmFsdWU6IHRydWUKICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJJbnB1dCBFdmVudHMi
CiAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBJbnB1dEV2ZW50cyBzdXBwb3J0
IgotICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogCiBXZWJBdXRoZW50
aWNhdGlvbkVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiBmYWxzZQogICBo
dW1hblJlYWRhYmxlTmFtZTogIldlYiBBdXRoZW50aWNhdGlvbiIKICAgaHVtYW5SZWFkYWJsZURl
c2NyaXB0aW9uOiAiRW5hYmxlIFdlYiBBdXRoZW50aWNhdGlvbiBzdXBwb3J0IgotICB3ZWJjb3Jl
QmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogICBjYXRlZ29yeTogZXhwZXJpbWVudGFs
CiAgIGNvbmRpdGlvbjogRU5BQkxFKFdFQl9BVVRITikKIApAQCAtODkxLDcgKzg3OCw2IEBAIFdl
YkF1dGhlbnRpY2F0aW9uTG9jYWxBdXRoZW50aWNhdG9yRW5hYmwKICAgZGVmYXVsdFZhbHVlOiBm
YWxzZQogICBodW1hblJlYWRhYmxlTmFtZTogIldlYiBBdXRoZW50aWNhdGlvbiBMb2NhbCBBdXRo
ZW50aWNhdG9yIgogICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgV2ViIEF1dGhl
bnRpY2F0aW9uIGxvY2FsIGF1dGhlbnRpY2F0b3Igc3VwcG9ydCIKLSAgd2ViY29yZUJpbmRpbmc6
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKICAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAogICBjb25k
aXRpb246IEVOQUJMRShXRUJfQVVUSE4pCiAKQEAgLTkzNSw3ICs5MjEsNiBAQCBMZWdhY3lFbmNy
eXB0ZWRNZWRpYUFQSUVuYWJsZWQ6CiAgIGRlZmF1bHRWYWx1ZTogdHJ1ZQogICBodW1hblJlYWRh
YmxlTmFtZTogIkVuYWJsZSBMZWdhY3kgRU1FIEFQSSIKICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0
aW9uOiAiRW5hYmxlIGxlZ2FjeSBFTUUgQVBJIgotICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVu
YWJsZWRGZWF0dXJlcwogICBjb25kaXRpb246IEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElB
KQogCiBBbGxvd01lZGlhQ29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0QXNGYWxs
YmFjazoKQEAgLTk2Myw3ICs5NDgsNiBAQCBEYXRhVHJhbnNmZXJJdGVtc0VuYWJsZWQ6CiAgIGRl
ZmF1bHRWYWx1ZTogREVGQVVMVF9EQVRBX1RSQU5TRkVSX0lURU1TX0VOQUJMRUQKICAgaHVtYW5S
ZWFkYWJsZU5hbWU6ICJEYXRhIFRyYW5zZmVyIEl0ZW1zIgogICBodW1hblJlYWRhYmxlRGVzY3Jp
cHRpb246ICJFbmFibGVzIERhdGFUcmFuc2Zlckl0ZW0gaW4gdGhlIGNsaXBib2FyZCBBUEkiCi0g
IHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAKIEN1c3RvbVBhc3RlYm9h
cmREYXRhRW5hYmxlZDoKICAgdHlwZTogYm9vbApAQCAtOTg0LDcgKzk2OCw2IEBAIFdlYlNoYXJl
RW5hYmxlZDoKICAgZGVmYXVsdFZhbHVlOiBERUZBVUxUX1dFQl9TSEFSRV9FTkFCTEVECiAgIGh1
bWFuUmVhZGFibGVOYW1lOiAiV2ViIFNoYXJlIgogICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246
ICJFbmFibGUgc3VwcG9ydCBmb3Igc2hhcmUgc2hlZXQgdmlhIFdlYiBTaGFyZSBBUEkiCi0gIHdl
YmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAKIFZpZXdwb3J0Rml0RW5hYmxl
ZDoKICAgdHlwZTogYm9vbApAQCAtMTI0Nyw3ICsxMjMwLDYgQEAgTWVkaWFDYXBhYmlsaXRpZXNF
bmFibGVkOgogU3lzdGVtUHJldmlld0VuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZh
bHVlOiBmYWxzZQotICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogICBj
b25kaXRpb246IFVTRShTWVNURU1fUFJFVklFVykKIAogQ2FjaGVBUElFbmFibGVkOgpAQCAtMTI3
MSw3ICsxMjUzLDYgQEAgQ3Jvc3NPcmlnaW5SZXNvdXJjZVBvbGljeUVuYWJsZWQ6CiBEaXNhYmxl
ZEFkYXB0YXRpb25zTWV0YVRhZ0VuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVl
OiBESVNBQkxFRF9BREFQVEFUSU9OU19NRVRBX1RBR19FTkFCTEVECi0gIHdlYmNvcmVCaW5kaW5n
OiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAKIENvbG9yRmlsdGVyRW5hYmxlZDoKICAgdHlwZTog
Ym9vbApAQCAtMTI5OSw3ICsxMjgwLDYgQEAgU3RvcmFnZUFjY2Vzc0FQSUVuYWJsZWQ6CiBMaW5r
UHJlbG9hZEVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiB0cnVlCi0gIHdl
YmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAKIElzU2VjdXJlQ29udGV4dEF0
dHJpYnV0ZUVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKQEAgLTEzMjIsNyArMTMwMiw2IEBAIEtleWdl
bkVsZW1lbnRFbmFibGVkOgogRW5jcnlwdGVkTWVkaWFBUElFbmFibGVkOgogICB0eXBlOiBib29s
CiAgIGRlZmF1bHRWYWx1ZTogdHJ1ZQotICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRG
ZWF0dXJlcwogICBjb25kaXRpb246IEVOQUJMRShFTkNSWVBURURfTUVESUEpCiAKIFZpZGVvUXVh
bGl0eUluY2x1ZGVzRGlzcGxheUNvbXBvc2l0aW5nRW5hYmxlZDoKQEAgLTEzNDcsNyArMTMyNiw2
IEBAIElzSW5BcHBCcm93c2VyUHJpdmFjeUVuYWJsZWQ6CiAgICAgZGVmYXVsdFZhbHVlOiBkZWZh
dWx0SW5BcHBCcm93c2VyUHJpdmFjeSgpCiAgICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJJbi1BcHAg
QnJvd3NlciBQcml2YWN5IgogICAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBJ
bi1BcHAgQnJvd3NlciBQcml2YWN5IgotICAgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzCiAgICAgY2F0ZWdvcnk6IGRlYnVnCiAKIE5lZWRzSW5BcHBCcm93c2VyUHJpdmFj
eVF1aXJrczoKQEAgLTEzNTUsNyArMTMzMyw2IEBAIE5lZWRzSW5BcHBCcm93c2VyUHJpdmFjeVF1
aXJrczoKICAgICBkZWZhdWx0VmFsdWU6IGZhbHNlCiAgICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJO
ZWVkcyBJbi1BcHAgQnJvd3NlciBQcml2YWN5IFF1aXJrcyIKICAgICBodW1hblJlYWRhYmxlRGVz
Y3JpcHRpb246ICJFbmFibGUgcXVpcmtzIG5lZWRlZCB0byBzdXBwb3J0IEluLUFwcCBCcm93c2Vy
IHByaXZhY3kiCi0gICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKICAg
ICBjYXRlZ29yeTogZGVidWcKIAogU2VydmljZVdvcmtlckVudGl0bGVtZW50RGlzYWJsZWRGb3JU
ZXN0aW5nOgpAQCAtMTQxMCw3ICsxMzg3LDYgQEAgSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVk
OgogICBkZWZhdWx0VmFsdWU6IHRydWUKICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJJbnRlcnNlY3Rp
b24gT2JzZXJ2ZXIiCiAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBJbnRlcnNl
Y3Rpb24gT2JzZXJ2ZXIgc3VwcG9ydCIKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXMKICAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAogICBjb25kaXRpb246IEVOQUJMRShJ
TlRFUlNFQ1RJT05fT0JTRVJWRVIpCiAKQEAgLTE1MzAsNyArMTUwNiw2IEBAIENTU0N1c3RvbVBy
b3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVkOgogICBkZWZhdWx0VmFsdWU6IGZhbHNlCiAgIGh1bWFu
UmVhZGFibGVOYW1lOiAiQ1NTIEN1c3RvbSBQcm9wZXJ0aWVzIGFuZCBWYWx1ZXMgQVBJIgogICBo
dW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgQ1NTIEN1c3RvbSBQcm9wZXJ0aWVzIGFu
ZCBWYWx1ZXMgQVBJIgotICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwog
ICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCiAKIENTU1BhaW50aW5nQVBJRW5hYmxlZDoKQEAgLTE1
OTAsMjAgKzE1NjUsMTkgQEAgUmVzaXplT2JzZXJ2ZXJFbmFibGVkOgogICBjb25kaXRpb246IEVO
QUJMRShSRVNJWkVfT0JTRVJWRVIpCiAKIEFkQ2xpY2tBdHRyaWJ1dGlvbkVuYWJsZWQ6Ci0gICAg
dHlwZTogYm9vbAotICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UKLSAgICBodW1hblJlYWRhYmxlTmFt
ZTogIkFkIENsaWNrIEF0dHJpYnV0aW9uIgotICAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjog
IkVuYWJsZSBBZCBDbGljayBBdHRyaWJ1dGlvbiBmb3IgQ3Jvc3MtU2l0ZSBMaW5rIE5hdmlnYXRp
b25zIgotICAgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCi0gICAgY2F0
ZWdvcnk6IGV4cGVyaW1lbnRhbAorICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTogZmFsc2UK
KyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJBZCBDbGljayBBdHRyaWJ1dGlvbiIKKyAgaHVtYW5SZWFk
YWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIEFkIENsaWNrIEF0dHJpYnV0aW9uIGZvciBDcm9zcy1T
aXRlIExpbmsgTmF2aWdhdGlvbnMiCisgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKIAogQWRDbGlj
a0F0dHJpYnV0aW9uRGVidWdNb2RlRW5hYmxlZDoKLSAgICB0eXBlOiBib29sCi0gICAgZGVmYXVs
dFZhbHVlOiBmYWxzZQotICAgIGh1bWFuUmVhZGFibGVOYW1lOiAiQWQgQ2xpY2sgQXR0cmlidXRp
b24gRGVidWcgTW9kZSIKLSAgICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgQWQg
Q2xpY2sgQXR0cmlidXRpb24gRGVidWcgTW9kZSIKLSAgICB3ZWJjb3JlQmluZGluZzogUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcwotICAgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKKyAgdHlwZTogYm9v
bAorICBkZWZhdWx0VmFsdWU6IGZhbHNlCisgIGh1bWFuUmVhZGFibGVOYW1lOiAiQWQgQ2xpY2sg
QXR0cmlidXRpb24gRGVidWcgTW9kZSIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5h
YmxlIEFkIENsaWNrIEF0dHJpYnV0aW9uIERlYnVnIE1vZGUiCisgIHdlYmNvcmVCaW5kaW5nOiBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzCisgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKIAogRmV0Y2hB
UElLZWVwQWxpdmVFbmFibGVkOgogICB0eXBlOiBib29sCkBAIC0xOTI2LDcgKzE5MDAsNiBAQCBV
bmRvTWFuYWdlckFQSUVuYWJsZWQ6CiAgIGh1bWFuUmVhZGFibGVOYW1lOiAiVW5kb01hbmFnZXIg
RE9NIEFQSSIKICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIHRoZSBVbmRvTWFu
YWdlciBET00gQVBJIgogICBjYXRlZ29yeTogaW50ZXJuYWwKLSAgd2ViY29yZUJpbmRpbmc6IFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXMKIAogQ1NTTG9naWNhbEVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wK
QEAgLTE5ODksNyArMTk2Miw2IEBAIFJlZmVycmVyUG9saWN5QXR0cmlidXRlRW5hYmxlZDoKICAg
aHVtYW5SZWFkYWJsZU5hbWU6ICJSZWZlcnJlciBQb2xpY3kgYXR0cmlidXRlIgogICBodW1hblJl
YWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgUmVmZXJyZXIgUG9saWN5IGF0dHJpYnV0ZSIKICAg
Y2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAotICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRG
ZWF0dXJlcwogCiBQYWdlQXRSdWxlU3VwcG9ydEVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKQEAgLTIw
MTksNyArMTk5MSw2IEBAIExpbmtQcmVmZXRjaEVuYWJsZWQ6CiAgIGRlZmF1bHRWYWx1ZTogZmFs
c2UKICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJMaW5rUHJlZmV0Y2giCiAgIGh1bWFuUmVhZGFibGVE
ZXNjcmlwdGlvbjogIkVuYWJsZSBMaW5rZWRQcmVmZXRjaCIKLSAgd2ViY29yZUJpbmRpbmc6IFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXMKICAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAogCiBMaW5rUHJl
bG9hZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVkOgpAQCAtMjAyNyw3ICsxOTk4LDYgQEAgTGlua1By
ZWxvYWRSZXNwb25zaXZlSW1hZ2VzRW5hYmxlZDoKICAgZGVmYXVsdFZhbHVlOiBmYWxzZQogICBo
dW1hblJlYWRhYmxlTmFtZTogIkxpbmsgcHJlbG9hZCByZXNwb25zaXZlIGltYWdlcyIKICAgaHVt
YW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIGxpbmsgcHJlbG9hZCByZXNwb25zaXZlIGlt
YWdlcyIKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKICAgY2F0ZWdv
cnk6IGV4cGVyaW1lbnRhbAogCiBJc05TVVJMU2Vzc2lvbldlYlNvY2tldEVuYWJsZWQ6CkBAIC0y
MDQ0LDcgKzIwMTQsNiBAQCBMYXp5SW1hZ2VMb2FkaW5nRW5hYmxlZDoKICAgZGVmYXVsdFZhbHVl
OiBmYWxzZQogICBodW1hblJlYWRhYmxlTmFtZTogIkxhenkgSW1hZ2UgTG9hZGluZyIKICAgaHVt
YW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIExhenkgSW1hZ2UgTG9hZGluZyBzdXBwb3J0
IgotICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogICBjYXRlZ29yeTog
ZXhwZXJpbWVudGFsCiAKIElzVGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nRGlzYWJsZWQ6CkBAIC0y
MTMzLDcgKzIxMDIsNiBAQCBXZWJTaGFyZUZpbGVBUElFbmFibGVkOgogICAgIGRlZmF1bHRWYWx1
ZTogZmFsc2UKICAgICBodW1hblJlYWRhYmxlTmFtZTogIldlYiBTaGFyZSBBUEkgTGV2ZWwgMiIK
ICAgICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgbGV2ZWwgMiBvZiBXZWIgU2hh
cmUgQVBJIgotICAgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAgICAg
Y2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAogCiBJbmNyZW1lbnRhbFBERkxvYWRpbmdFbmFibGVkOgpJ
bmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVu
ZGxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yMDMsOSArMjAzLDYgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6b3ZlcnJpZGVC
b29sUHJlZmVyZQogICAgIGlmIChwcmVmZXJlbmNlID09ICJXZWJLaXRUcmFuc2Zvcm1TdHJlYW1B
UElFbmFibGVkIikKICAgICAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVy
ZXMoKS5zZXRUcmFuc2Zvcm1TdHJlYW1BUElFbmFibGVkKGVuYWJsZWQpOwogCi0gICAgaWYgKHBy
ZWZlcmVuY2UgPT0gIldlYktpdEludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkIikKLSAg
ICAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRJbnRlcmFj
dGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZChlbmFibGVkKTsKLQogI2lmIEVOQUJMRShXRUJHTDIp
CiAgICAgaWYgKHByZWZlcmVuY2UgPT0gIldlYktpdFdlYkdMMkVuYWJsZWQiKQogICAgICAgICBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFdlYkdMMkVuYWJsZWQo
ZW5hYmxlZCk7CkBAIC0yMTksMjAgKzIxNiw2IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6Om92ZXJy
aWRlQm9vbFByZWZlcmUKICAgICBpZiAocHJlZmVyZW5jZSA9PSAiV2ViS2l0TW9kZXJuTWVkaWFD
b250cm9sc0VuYWJsZWQiKQogICAgICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRG
ZWF0dXJlcygpLnNldE1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkKGVuYWJsZWQpOwogCi0jaWYg
RU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKLSAgICBpZiAocHJlZmVyZW5jZSA9PSAiV2ViS2l0RW5j
cnlwdGVkTWVkaWFBUElFbmFibGVkIikgewotICAgICAgICBXZWJQcmVmZXJlbmNlc1N0b3JlOjpv
dmVycmlkZUJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6ZW5jcnlwdGVkTWVkaWFB
UElFbmFibGVkS2V5KCksIGVuYWJsZWQpOwotICAgICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpzaGFyZWRGZWF0dXJlcygpLnNldEVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZChlbmFibGVkKTsK
LSAgICB9Ci0jZW5kaWYKLQotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0gICAgaWYgKHByZWZl
cmVuY2UgPT0gIldlYktpdE1lZGlhRGV2aWNlc0VuYWJsZWQiKQotICAgICAgICBSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldE1lZGlhRGV2aWNlc0VuYWJsZWQoZW5h
YmxlZCk7Ci0gICAgaWYgKHByZWZlcmVuY2UgPT0gIldlYktpdFNjcmVlbkNhcHR1cmVFbmFibGVk
IikKLSAgICAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRT
Y3JlZW5DYXB0dXJlRW5hYmxlZChlbmFibGVkKTsKLSNlbmRpZgotCiAjaWYgRU5BQkxFKFdFQl9S
VEMpCiAgICAgaWYgKHByZWZlcmVuY2UgPT0gIldlYktpdFdlYlJUQ01ETlNJQ0VDYW5kaWRhdGVz
RW5hYmxlZCIpCiAgICAgICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVz
KCkuc2V0V2ViUlRDTUROU0lDRUNhbmRpZGF0ZXNFbmFibGVkKGVuYWJsZWQpOwpAQCAtMjYyLDkg
KzI0NSw2IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6Om92ZXJyaWRlQm9vbFByZWZlcmUKICAgICBp
ZiAocHJlZmVyZW5jZSA9PSAiV2ViS2l0V2ViQVBJU3RhdGlzdGljc0VuYWJsZWQiKQogICAgICAg
ICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFdlYkFQSVN0YXRp
c3RpY3NFbmFibGVkKGVuYWJsZWQpOwogCi0gICAgaWYgKHByZWZlcmVuY2UgPT0gIkNTU0N1c3Rv
bVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVkIikKLSAgICAgICAgUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRDU1NDdXN0b21Qcm9wZXJ0aWVzQW5kVmFsdWVzRW5h
YmxlZChlbmFibGVkKTsKLQogI2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQog
ICAgIGlmIChwcmVmZXJlbmNlID09ICJMYXlvdXRGb3JtYXR0aW5nQ29udGV4dEVuYWJsZWQiKQog
ICAgICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldExheW91
dEZvcm1hdHRpbmdDb250ZXh0RW5hYmxlZChlbmFibGVkKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCShyZXZpc2lvbiAyNjYzMTIpCisrKyBT
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzcyNiw5ICszNzI2LDYgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhj
b25zdCBXZQogICAgIHNldHRpbmdzLnNldFBheW1lbnRSZXF1ZXN0RW5hYmxlZChzdG9yZS5nZXRC
b29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmFwcGxlUGF5RW5hYmxlZEtleSgpKSk7
CiAjZW5kaWYKIAotICAgIC8vIEZJWE1FOiBUaGlzIGlzIGJvdGggYSBSdW50aW1lRW5hYmxlZEZl
YXR1cmVzIChnZW5lcmF0ZWQpIGFuZCBhIHNldHRpbmcuIEl0IHNob3VsZCBwaWNrIG9uZS4KLSAg
ICBzZXR0aW5ncy5zZXRJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZChzdG9yZS5nZXRC
b29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmludGVyYWN0aXZlRm9ybVZhbGlkYXRp
b25FbmFibGVkS2V5KCkpKTsKLQogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgc2V0Rm9y
Y2VBbHdheXNVc2VyU2NhbGFibGUobV9mb3JjZUFsd2F5c1VzZXJTY2FsYWJsZSB8fCBzdG9yZS5n
ZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmZvcmNlQWx3YXlzVXNlclNjYWxh
YmxlS2V5KCkpKTsKIApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24g
MjY2MzEyKQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDgtMjkgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBw
bGUuY29tPgorCisgICAgICAgIE1hbnkgc2V0dGluZ3MgaW4gUnVudGltZUVuYWJsZWRTZXR0aW5n
cyBzaG91bGQgYXV0b2dlbmVyYXRlZCBTZXR0aW5nczogUGFydCAxCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTU5ODEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIG1vdmVzIGFuIGluaXRpYWwgY2h1
bmsgb2YgUnVudGltZUVuYWJsZWRTZXR0aW5ncyBzZXR0aW5ncyB0byBTZXR0aW5ncy55YW1sLCBm
b2N1c2luZworICAgICAgICBvbiBzZXR0aW5ncyB0aGF0IGRvbid0IHJlcXVpcmUgc3Vic3RhbnRp
YWwgcmVmYWN0b3Jpbmcgb3IgbmV3IGZlYXR1cmVzIHRvIHdvcmsgaW4gU2V0dGluZ3MueWFtbC4K
KworICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJl
ZmVyZW5jZXNDaGFuZ2VkOl0pOgorICAgICAgICBVcGRhdGUgY2hhbmdlZCBzZXR0aW5ncyB0byB1
c2UgU2V0dGluZ3MgcmF0aGVyIHRoYW4gUnVudGltZUVuYWJsZWRTZXR0aW5ncy4KKwogMjAyMC0w
OC0yOCAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIGFs
bW9zdCBhbGwgdGhlIHJlbWFpbmluZyB1c2VzIG9mIGxpdmUgcmFuZ2VzCkluZGV4OiBTb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCShyZXZpc2lvbiAyNjYzMTIpCisr
KyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTMyODUsOSArMzI4NSw5IEBAIC0gKHZvaWQpX3ByZWZlcmVuY2VzQ2hhbmdlZDooV2Vi
UHJlZmVyZW4KICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIHNldHRpbmdzLnNldE1vY2tD
YXB0dXJlRGV2aWNlc0VuYWJsZWQoZmFsc2UpOwogICAgIHNldHRpbmdzLnNldE1lZGlhQ2FwdHVy
ZVJlcXVpcmVzU2VjdXJlQ29ubmVjdGlvbih0cnVlKTsKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldE1lZGlhU3RyZWFtRW5hYmxlZChmYWxzZSk7Ci0gICAg
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRNZWRpYURldmljZXNF
bmFibGVkKGZhbHNlKTsKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJl
cygpLnNldE1lZGlhUmVjb3JkZXJFbmFibGVkKHByZWZlcmVuY2VzLm1lZGlhUmVjb3JkZXJFbmFi
bGVkKTsKKyAgICBzZXR0aW5ncy5zZXRNZWRpYVN0cmVhbUVuYWJsZWQoZmFsc2UpOworICAgIHNl
dHRpbmdzLnNldE1lZGlhRGV2aWNlc0VuYWJsZWQoZmFsc2UpOworICAgIHNldHRpbmdzLnNldE1l
ZGlhUmVjb3JkZXJFbmFibGVkKHByZWZlcmVuY2VzLm1lZGlhUmVjb3JkZXJFbmFibGVkKTsKICNl
bmRpZgogCiAjaWYgRU5BQkxFKFdFQl9SVEMpCkBAIC0zMzA4LDcgKzMzMDgsNyBAQCAtICh2b2lk
KV9wcmVmZXJlbmNlc0NoYW5nZWQ6KFdlYlByZWZlcmVuCiAKICAgICBSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldExpbmVIZWlnaHRVbml0c0VuYWJsZWQoW3ByZWZl
cmVuY2VzIGxpbmVIZWlnaHRVbml0c0VuYWJsZWRdKTsKIAotICAgIFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0QWRDbGlja0F0dHJpYnV0aW9uRW5hYmxlZChbcHJl
ZmVyZW5jZXMgYWRDbGlja0F0dHJpYnV0aW9uRW5hYmxlZF0pOworICAgIHNldHRpbmdzLnNldEFk
Q2xpY2tBdHRyaWJ1dGlvbkVuYWJsZWQoW3ByZWZlcmVuY2VzIGFkQ2xpY2tBdHRyaWJ1dGlvbkVu
YWJsZWRdKTsKIAogICAgIHNldHRpbmdzLnNldEhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdF
bmFibGVkKFtwcmVmZXJlbmNlcyBoaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZF0p
OwogCkBAIC0zMzIwLDIxICszMzIwLDIxIEBAIC0gKHZvaWQpX3ByZWZlcmVuY2VzQ2hhbmdlZDoo
V2ViUHJlZmVyZW4KICAgICBzZXR0aW5ncy5zZXRDb25zdGFudFByb3BlcnRpZXNFbmFibGVkKFtw
cmVmZXJlbmNlcyBjb25zdGFudFByb3BlcnRpZXNFbmFibGVkXSk7CiAKICNpZiBFTkFCTEUoR0FN
RVBBRCkKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEdh
bWVwYWRzRW5hYmxlZChbcHJlZmVyZW5jZXMgZ2FtZXBhZHNFbmFibGVkXSk7CisgICAgc2V0dGlu
Z3Muc2V0R2FtZXBhZHNFbmFibGVkKFtwcmVmZXJlbmNlcyBnYW1lcGFkc0VuYWJsZWRdKTsKICNl
bmRpZgogCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRI
aWdobGlnaHRBUElFbmFibGVkKFtwcmVmZXJlbmNlcyBoaWdobGlnaHRBUElFbmFibGVkXSk7CiAK
ICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFNoYWRvd0RP
TUVuYWJsZWQoW3ByZWZlcmVuY2VzIHNoYWRvd0RPTUVuYWJsZWRdKTsKLSAgICBSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEN1c3RvbUVsZW1lbnRzRW5hYmxlZChb
cHJlZmVyZW5jZXMgY3VzdG9tRWxlbWVudHNFbmFibGVkXSk7Ci0gICAgUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXREYXRhVHJhbnNmZXJJdGVtc0VuYWJsZWQoW3By
ZWZlcmVuY2VzIGRhdGFUcmFuc2Zlckl0ZW1zRW5hYmxlZF0pOworICAgIHNldHRpbmdzLnNldEN1
c3RvbUVsZW1lbnRzRW5hYmxlZChbcHJlZmVyZW5jZXMgY3VzdG9tRWxlbWVudHNFbmFibGVkXSk7
CisgICAgc2V0dGluZ3Muc2V0RGF0YVRyYW5zZmVySXRlbXNFbmFibGVkKFtwcmVmZXJlbmNlcyBk
YXRhVHJhbnNmZXJJdGVtc0VuYWJsZWRdKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpz
aGFyZWRGZWF0dXJlcygpLnNldEN1c3RvbVBhc3RlYm9hcmREYXRhRW5hYmxlZChbcHJlZmVyZW5j
ZXMgY3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVkXSk7CiAKICNpZiBFTkFCTEUoQVRUQUNITUVO
VF9FTEVNRU5UKQogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCku
c2V0QXR0YWNobWVudEVsZW1lbnRFbmFibGVkKFtwcmVmZXJlbmNlcyBhdHRhY2htZW50RWxlbWVu
dEVuYWJsZWRdKTsKICNlbmRpZgogCi0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS5zZXRJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZChbc2VsZiBpbnRl
cmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZF0pOworICAgIHNldHRpbmdzLnNldEludGVyYWN0
aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkKFtzZWxmIGludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25F
bmFibGVkXSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5z
ZXRNb2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZChbcHJlZmVyZW5jZXMgbW9kZXJuTWVkaWFDb250
cm9sc0VuYWJsZWRdKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJl
cygpLnNldFdlYkFuaW1hdGlvbnNDU1NJbnRlZ3JhdGlvbkVuYWJsZWQoW3ByZWZlcmVuY2VzIHdl
YkFuaW1hdGlvbnNDU1NJbnRlZ3JhdGlvbkVuYWJsZWRdKTsKIApAQCAtMzM1OCw0NCArMzM1OCw0
NCBAQCAtICh2b2lkKV9wcmVmZXJlbmNlc0NoYW5nZWQ6KFdlYlByZWZlcmVuCiAjZW5kaWYKIAog
I2lmIEVOQUJMRShET1dOTE9BRF9BVFRSSUJVVEUpCi0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2hhcmVkRmVhdHVyZXMoKS5zZXREb3dubG9hZEF0dHJpYnV0ZUVuYWJsZWQoW3ByZWZlcmVu
Y2VzIGRvd25sb2FkQXR0cmlidXRlRW5hYmxlZF0pOworICAgIHNldHRpbmdzLnNldERvd25sb2Fk
QXR0cmlidXRlRW5hYmxlZChbcHJlZmVyZW5jZXMgZG93bmxvYWRBdHRyaWJ1dGVFbmFibGVkXSk7
CiAjZW5kaWYKIAogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCku
c2V0V2ViQW5pbWF0aW9uc0VuYWJsZWQoW3ByZWZlcmVuY2VzIHdlYkFuaW1hdGlvbnNFbmFibGVk
XSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRXZWJB
bmltYXRpb25zQ29tcG9zaXRlT3BlcmF0aW9uc0VuYWJsZWQoW3ByZWZlcmVuY2VzIHdlYkFuaW1h
dGlvbnNDb21wb3NpdGVPcGVyYXRpb25zRW5hYmxlZF0pOwogICAgIFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0V2ViQW5pbWF0aW9uc011dGFibGVUaW1lbGluZXNF
bmFibGVkKFtwcmVmZXJlbmNlcyB3ZWJBbmltYXRpb25zTXV0YWJsZVRpbWVsaW5lc0VuYWJsZWRd
KTsKIAotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0Q1NT
Q3VzdG9tUHJvcGVydGllc0FuZFZhbHVlc0VuYWJsZWQoW3ByZWZlcmVuY2VzIENTU0N1c3RvbVBy
b3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVkXSk7CisgICAgc2V0dGluZ3Muc2V0Q1NTQ3VzdG9tUHJv
cGVydGllc0FuZFZhbHVlc0VuYWJsZWQoW3ByZWZlcmVuY2VzIENTU0N1c3RvbVByb3BlcnRpZXNB
bmRWYWx1ZXNFbmFibGVkXSk7CiAKICNpZiBFTkFCTEUoSU5URVJTRUNUSU9OX09CU0VSVkVSKQot
ICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0SW50ZXJzZWN0
aW9uT2JzZXJ2ZXJFbmFibGVkKHByZWZlcmVuY2VzLmludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxl
ZCk7CisgICAgc2V0dGluZ3Muc2V0SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkKHByZWZlcmVu
Y2VzLmludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZCk7CiAjZW5kaWYKIAogICAgIFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0VXNlclRpbWluZ0VuYWJsZWQocHJl
ZmVyZW5jZXMudXNlclRpbWluZ0VuYWJsZWQpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNoYXJlZEZlYXR1cmVzKCkuc2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLnJl
c291cmNlVGltaW5nRW5hYmxlZCk7Ci0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS5zZXRMaW5rUHJlbG9hZEVuYWJsZWQocHJlZmVyZW5jZXMubGlua1ByZWxvYWRF
bmFibGVkKTsKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNl
dE1lZGlhUHJlbG9hZGluZ0VuYWJsZWQocHJlZmVyZW5jZXMubWVkaWFQcmVsb2FkaW5nRW5hYmxl
ZCk7CisgICAgc2V0dGluZ3Muc2V0TGlua1ByZWxvYWRFbmFibGVkKHByZWZlcmVuY2VzLmxpbmtQ
cmVsb2FkRW5hYmxlZCk7CisgICAgc2V0dGluZ3Muc2V0TWVkaWFQcmVsb2FkaW5nRW5hYmxlZChw
cmVmZXJlbmNlcy5tZWRpYVByZWxvYWRpbmdFbmFibGVkKTsKICAgICBSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldElzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVuYWJs
ZWQocHJlZmVyZW5jZXMuaXNTZWN1cmVDb250ZXh0QXR0cmlidXRlRW5hYmxlZCk7CiAgICAgUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXREaXJlY3RvcnlVcGxvYWRF
bmFibGVkKFtwcmVmZXJlbmNlcyBkaXJlY3RvcnlVcGxvYWRFbmFibGVkXSk7CiAgICAgUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRNZW51SXRlbUVsZW1lbnRFbmFi
bGVkKFtwcmVmZXJlbmNlcyBtZW51SXRlbUVsZW1lbnRFbmFibGVkXSk7CiAgICAgUnVudGltZUVu
YWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRBY2Nlc3NpYmlsaXR5T2JqZWN0TW9k
ZWxFbmFibGVkKFtwcmVmZXJlbmNlcyBhY2Nlc3NpYmlsaXR5T2JqZWN0TW9kZWxFbmFibGVkXSk7
CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRBcmlhUmVm
bGVjdGlvbkVuYWJsZWQoW3ByZWZlcmVuY2VzIGFyaWFSZWZsZWN0aW9uRW5hYmxlZF0pOwogICAg
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0RmV0Y2hBUElLZWVw
QWxpdmVFbmFibGVkKFtwcmVmZXJlbmNlcyBmZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWRdKTsKLSAg
ICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFJlZmVycmVyUG9s
aWN5QXR0cmlidXRlRW5hYmxlZChbcHJlZmVyZW5jZXMgcmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGVF
bmFibGVkXSk7Ci0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5z
ZXRMaW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVkKFtwcmVmZXJlbmNlcyBsaW5rUHJl
bG9hZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVkXSk7CisgICAgc2V0dGluZ3Muc2V0UmVmZXJyZXJQ
b2xpY3lBdHRyaWJ1dGVFbmFibGVkKFtwcmVmZXJlbmNlcyByZWZlcnJlclBvbGljeUF0dHJpYnV0
ZUVuYWJsZWRdKTsKKyAgICBzZXR0aW5ncy5zZXRMaW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFnZXNF
bmFibGVkKFtwcmVmZXJlbmNlcyBsaW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVkXSk7
CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXREaWFsb2dF
bGVtZW50RW5hYmxlZChbcHJlZmVyZW5jZXMgZGlhbG9nRWxlbWVudEVuYWJsZWRdKTsKICAgICBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEtleWdlbkVsZW1lbnRF
bmFibGVkKFtwcmVmZXJlbmNlcyBrZXlnZW5FbGVtZW50RW5hYmxlZF0pOwogICAgIFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0Q1NTU2hhZG93UGFydHNFbmFibGVk
KFtwcmVmZXJlbmNlcyBjc3NTaGFkb3dQYXJ0c0VuYWJsZWRdKTsKICAgICBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldExheW91dEZvcm1hdHRpbmdDb250ZXh0SW50
ZWdyYXRpb25FbmFibGVkKFtwcmVmZXJlbmNlcyBsYXlvdXRGb3JtYXR0aW5nQ29udGV4dEludGVn
cmF0aW9uRW5hYmxlZF0pOwotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1
cmVzKCkuc2V0SXNJbkFwcEJyb3dzZXJQcml2YWN5RW5hYmxlZChbcHJlZmVyZW5jZXMgaXNJbkFw
cEJyb3dzZXJQcml2YWN5RW5hYmxlZF0pOworICAgIHNldHRpbmdzLnNldElzSW5BcHBCcm93c2Vy
UHJpdmFjeUVuYWJsZWQoW3ByZWZlcmVuY2VzIGlzSW5BcHBCcm93c2VyUHJpdmFjeUVuYWJsZWRd
KTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFdlYlNR
TERpc2FibGVkKCFbcHJlZmVyZW5jZXMgd2ViU1FMRW5hYmxlZF0pOwogICAgIAogI2lmIEVOQUJM
RShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNo
YXJlZEZlYXR1cmVzKCkuc2V0TGVnYWN5RW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKHByZWZlcmVu
Y2VzLmxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZCk7CisgICAgc2V0dGluZ3Muc2V0TGVn
YWN5RW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKHByZWZlcmVuY2VzLmxlZ2FjeUVuY3J5cHRlZE1l
ZGlhQVBJRW5hYmxlZCk7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCi0g
ICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRFbmNyeXB0ZWRN
ZWRpYUFQSUVuYWJsZWQocHJlZmVyZW5jZXMuZW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKTsKKyAg
ICBzZXR0aW5ncy5zZXRFbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQocHJlZmVyZW5jZXMuZW5jcnlw
dGVkTWVkaWFBUElFbmFibGVkKTsKICNlbmRpZgogCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2hhcmVkRmVhdHVyZXMoKS5zZXRVc2VyR2VzdHVyZVByb21pc2VQcm9wYWdhdGlvbkVuYWJs
ZWQocHJlZmVyZW5jZXMudXNlckdlc3R1cmVQcm9taXNlUHJvcGFnYXRpb25FbmFibGVkKTsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3
IEBACisyMDIwLTA4LTI5ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAg
ICBNYW55IHNldHRpbmdzIGluIFJ1bnRpbWVFbmFibGVkU2V0dGluZ3Mgc2hvdWxkIGF1dG9nZW5l
cmF0ZWQgU2V0dGluZ3M6IFBhcnQgMQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjE1OTgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhpcyBtb3ZlcyBhbiBpbml0aWFsIGNodW5rIG9mIFJ1bnRpbWVFbmFi
bGVkU2V0dGluZ3Mgc2V0dGluZ3MgdG8gU2V0dGluZ3MueWFtbCwgZm9jdXNpbmcKKyAgICAgICAg
b24gc2V0dGluZ3MgdGhhdCBkb24ndCByZXF1aXJlIHN1YnN0YW50aWFsIHJlZmFjdG9yaW5nIG9y
IG5ldyBmZWF0dXJlcyB0byB3b3JrIGluIFNldHRpbmdzLnlhbWwuCisKKyAgICAgICAgKiBXZWJW
aWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZCk6Cisg
ICAgICAgIFVwZGF0ZSBjaGFuZ2VkIHNldHRpbmdzIHRvIHVzZSBTZXR0aW5ncyByYXRoZXIgdGhh
biBSdW50aW1lRW5hYmxlZFNldHRpbmdzLgorCiAyMDIwLTA4LTIwICBEYXJpbiBBZGxlciAgPGRh
cmluQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIG5vZGUgZ2VvbWV0cnkgZnVuY3Rpb25zIGZy
b20gUmFuZ2UgdG8gUmVuZGVyT2JqZWN0CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9X
ZWJWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3
LmNwcAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmll
dy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyNDIsNyArNTI0Miw3IEBAIEhSRVNVTFQgV2ViVmll
dzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2UKICAgICBociA9IHByZWZzUHJpdmF0ZS0+Y3VzdG9t
RWxlbWVudHNFbmFibGVkKCZlbmFibGVkKTsKICAgICBpZiAoRkFJTEVEKGhyKSkKICAgICAgICAg
cmV0dXJuIGhyOwotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCku
c2V0Q3VzdG9tRWxlbWVudHNFbmFibGVkKCEhZW5hYmxlZCk7CisgICAgc2V0dGluZ3Muc2V0Q3Vz
dG9tRWxlbWVudHNFbmFibGVkKCEhZW5hYmxlZCk7CiAKICAgICBociA9IHByZWZzUHJpdmF0ZS0+
bWVudUl0ZW1FbGVtZW50RW5hYmxlZCgmZW5hYmxlZCk7CiAgICAgaWYgKEZBSUxFRChocikpCkBA
IC01MjgyLDcgKzUyODIsNyBAQCBIUkVTVUxUIFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hh
bmdlCiAgICAgaHIgPSBwcmVmc1ByaXZhdGUtPkNTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNF
bmFibGVkKCZlbmFibGVkKTsKICAgICBpZiAoRkFJTEVEKGhyKSkKICAgICAgICAgcmV0dXJuIGhy
OwotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0Q1NTQ3Vz
dG9tUHJvcGVydGllc0FuZFZhbHVlc0VuYWJsZWQoISFlbmFibGVkKTsKKyAgICBzZXR0aW5ncy5z
ZXRDU1NDdXN0b21Qcm9wZXJ0aWVzQW5kVmFsdWVzRW5hYmxlZCghIWVuYWJsZWQpOwogCiAgICAg
aHIgPSBwcmVmc1ByaXZhdGUtPnVzZXJUaW1pbmdFbmFibGVkKCZlbmFibGVkKTsKICAgICBpZiAo
RkFJTEVEKGhyKSkKQEAgLTUzMDcsNyArNTMwNyw3IEBAIEhSRVNVTFQgV2ViVmlldzo6bm90aWZ5
UHJlZmVyZW5jZXNDaGFuZ2UKICAgICBociA9IHByZWZzUHJpdmF0ZS0+bWVkaWFQcmVsb2FkaW5n
RW5hYmxlZCgmZW5hYmxlZCk7CiAgICAgaWYgKEZBSUxFRChocikpCiAgICAgICAgIHJldHVybiBo
cjsKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldE1lZGlh
UHJlbG9hZGluZ0VuYWJsZWQoISFlbmFibGVkKTsKKyAgICBzZXR0aW5ncy5zZXRNZWRpYVByZWxv
YWRpbmdFbmFibGVkKCEhZW5hYmxlZCk7CiAKICAgICBociA9IHByZWZzUHJpdmF0ZS0+aXNTZWN1
cmVDb250ZXh0QXR0cmlidXRlRW5hYmxlZCgmZW5hYmxlZCk7CiAgICAgaWYgKEZBSUxFRChocikp
CkBAIC01MzE3LDcgKzUzMTcsNyBAQCBIUkVTVUxUIFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2Vz
Q2hhbmdlCiAgICAgaHIgPSBwcmVmc1ByaXZhdGUtPmRhdGFUcmFuc2Zlckl0ZW1zRW5hYmxlZCgm
ZW5hYmxlZCk7CiAgICAgaWYgKEZBSUxFRChocikpCiAgICAgICAgIHJldHVybiBocjsKLSAgICBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldERhdGFUcmFuc2Zlckl0
ZW1zRW5hYmxlZCghIWVuYWJsZWQpOworICAgIHNldHRpbmdzLnNldERhdGFUcmFuc2Zlckl0ZW1z
RW5hYmxlZCghIWVuYWJsZWQpOwogCiAgICAgaHIgPSBwcmVmc1ByaXZhdGUtPmluc3BlY3RvckFk
ZGl0aW9uc0VuYWJsZWQoJmVuYWJsZWQpOwogICAgIGlmIChGQUlMRUQoaHIpKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407556</attachid>
            <date>2020-08-29 17:38:14 -0700</date>
            <delta_ts>2020-08-29 17:39:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215981-20200829173813.patch</filename>
            <type>text/plain</type>
            <size>166894</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2NjMyNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzMCBAQAorMjAyMC0wOC0yOSAgU2FtIFdl
aW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgTWFueSBzZXR0aW5ncyBpbiBSdW50
aW1lRW5hYmxlZFNldHRpbmdzIHNob3VsZCBhdXRvZ2VuZXJhdGVkIFNldHRpbmdzOiBQYXJ0IDEK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTk4MQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgbW92
ZXMgYW4gaW5pdGlhbCBjaHVuayBvZiBSdW50aW1lRW5hYmxlZFNldHRpbmdzIHNldHRpbmdzIHRv
IFNldHRpbmdzLnlhbWwsIGZvY3VzaW5nCisgICAgICAgIG9uIHNldHRpbmdzIHRoYXQgZG9uJ3Qg
cmVxdWlyZSBzdWJzdGFudGlhbCByZWZhY3RvcmluZyBvciBuZXcgZmVhdHVyZXMgdG8gd29yayBp
biBTZXR0aW5ncy55YW1sLgorICAgICAgICAKKyAgICAgICAgVGhlIG9uZSAic3Vic3RhbnRpYWwi
IGNoYW5nZSB0byBTZXR0aW5ncyBnZW5lcmF0aW9uIHdhcyB0byBzd2l0Y2ggdGhlIGNvbmRpdGlv
bmFsIGtleSwgdG8gcmVxdWlyZQorICAgICAgICB0aGUgY29tcGxldGUgY29uZGl0aW9uYWwgZm9y
bSAoZS5nLiByZXF1aXJlIEVOQUJMRShGT08pIHJhdGhlciB0aGFuIEZPTyksIHdoaWNoIG1hdGNo
ZXMgCisgICAgICAgIFdlYlByZWZlcmVuY2VzLnlhbWwgaW4gV2ViS2l0LCBhbmQgaXMgbW9yZSB2
ZXJzaXRpbGUgYWxsb3dpbmcgbm9uLUVOQUJMRSBiYXNlZCBjb25kaXRpb25hbHMuIAorCisgICAg
ICAgICogTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9CYXNpY0NyZWRlbnRpYWwuaWRsOgor
ICAgICAgICAqIE1vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbHNDb250YWlu
ZXIuaWRsOgorICAgICAgICAqIE1vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvTmF2aWdhdG9y
Q3JlZGVudGlhbHMuaWRsOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFL
ZXlNZXNzYWdlRXZlbnQuaWRsOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVk
aWFLZXlTZXNzaW9uLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlh
S2V5U3RhdHVzTWFwLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlh
S2V5U3lzdGVtQWNjZXNzLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5cy5pZGw6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JF
TUUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1l
ZGlhS2V5TWVzc2FnZUV2ZW50LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlh
L2xlZ2FjeS9XZWJLaXRNZWRpYUtleU5lZWRlZEV2ZW50LmlkbDoKKyAgICAgICAgKiBNb2R1bGVz
L2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5cy5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWQuaWRsOgorICAgICAgICAqIE1vZHVsZXMv
Z2FtZXBhZC9HYW1lcGFkQnV0dG9uLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2dhbWVwYWQvR2Ft
ZXBhZEV2ZW50LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2dhbWVwYWQvTmF2aWdhdG9yR2FtZXBh
ZC5pZGw6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXJlY29yZGVyL0Jsb2JFdmVudC5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIuaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyRXJyb3JFdmVudC5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaWRsOgorICAgICAgICAq
IE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVN0cmVhbVRyYWNrOjp1cGRhdGVDYXB0dXJlQWNjb3JkaW5nVG9NdXRlZFN0YXRl
KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvck1lZGlhRGV2aWNlcy5p
ZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVz
cG9uc2UuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckF0dGVz
dGF0aW9uUmVzcG9uc2UuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGlj
YXRvclJlc3BvbnNlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNy
ZWRlbnRpYWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UHVibGljS2V5Q3JlZGVudGlhbDo6aXNV
c2VyVmVyaWZ5aW5nUGxhdGZvcm1BdXRoZW50aWNhdG9yQXZhaWxhYmxlKToKKyAgICAgICAgKiBN
b2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuaWRsOgorICAgICAgICAqIFNjcmlw
dHMvU2V0dGluZ3NUZW1wbGF0ZXMvSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5jcHAuZXJiOgor
ICAgICAgICAqIFNjcmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXMvSW50ZXJuYWxTZXR0aW5nc0dlbmVy
YXRlZC5oLmVyYjoKKyAgICAgICAgKiBTY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL1NldHRpbmdz
LmNwcC5lcmI6CisgICAgICAgICogU2NyaXB0cy9TZXR0aW5nc1RlbXBsYXRlcy9TZXR0aW5ncy5o
LmVyYjoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogY3NzL0RPTUNTU0N1c3RvbVByb3BlcnR5RGVzY3JpcHRvci5pZGw6CisgICAgICAgICog
Y3NzL0RPTUNTU1JlZ2lzdGVyQ3VzdG9tUHJvcGVydHkuaWRsOgorICAgICAgICAqIGRvbS9CZWZv
cmVMb2FkRXZlbnQuaWRsOgorICAgICAgICAqIGRvbS9DdXN0b21FbGVtZW50UmVnaXN0cnkuaWRs
OgorICAgICAgICAqIGRvbS9EYXRhVHJhbnNmZXIuaWRsOgorICAgICAgICAqIGRvbS9EYXRhVHJh
bnNmZXJJdGVtLmlkbDoKKyAgICAgICAgKiBkb20vRGF0YVRyYW5zZmVySXRlbUxpc3QuaWRsOgor
ICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVVcGdy
YWRlQ2FuZGlkYXRlRWxlbWVudCk6CisgICAgICAgICogZG9tL0RvY3VtZW50LmlkbDoKKyAgICAg
ICAgKiBkb20vRWxlbWVudC5pZGw6CisgICAgICAgICogZG9tL0lucHV0RXZlbnQuaWRsOgorICAg
ICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OmRpc3BhdGNoQmVm
b3JlTG9hZEV2ZW50KToKKyAgICAgICAgKiBkb20vU3RhdGljUmFuZ2UuaWRsOgorICAgICAgICAq
IGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cmVnaXN0ZXJD
dXN0b21VbmRvU3RlcCk6CisgICAgICAgICogaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MQW5jaG9yRWxlbWVudDo6aXNTeXN0ZW1QcmV2aWV3TGluayk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MQW5jaG9yRWxlbWVudDo6cGFyc2VBZENsaWNrQXR0cmli
dXRpb24gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEFuY2hvckVsZW1lbnQ6OmhhbmRs
ZUNsaWNrKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxBbmNob3JFbGVtZW50OjpyZWZlcnJlclBv
bGljeSBjb25zdCk6CisgICAgICAgICogaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5pZGw6CisgICAg
ICAgICogaHRtbC9IVE1MQXJlYUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEJ1dHRv
bkVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEZpZWxkU2V0RWxlbWVudC5pZGw6Cisg
ICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTElG
cmFtZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElGcmFtZUVsZW1lbnQ6OnJl
ZmVycmVyUG9saWN5IGNvbnN0KToKKyAgICAgICAgKiBodG1sL0hUTUxJRnJhbWVFbGVtZW50Lmlk
bDoKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEltYWdlRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MSW1hZ2VFbGVtZW50Ojppc1N5c3RlbVByZXZpZXdJbWFnZSBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpyZWZlcnJlclBvbGljeSBjb25zdCk6CisgICAg
ICAgICogaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1
dEVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEtleWdlbkVsZW1lbnQuaWRsOgorICAg
ICAgICAqIGh0bWwvSFRNTExpbmtFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxM
aW5rRWxlbWVudDo6YXMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTExpbmtFbGVtZW50
OjpyZWZlcnJlclBvbGljeSBjb25zdCk6CisgICAgICAgICogaHRtbC9IVE1MTGlua0VsZW1lbnQu
aWRsOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp1cGRhdGVTaG91bGRDb250aW51ZUFmdGVyTmVlZEtleSk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllcktleU5lZWRl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp3ZWJraXRTZXRNZWRpYUtl
eXMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6a2V5QWRkZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJJbml0aWFsaXphdGlv
bkRhdGFFbmNvdW50ZXJlZCk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbDoK
KyAgICAgICAgKiBodG1sL0hUTUxNZXRhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MTWV0YUVsZW1lbnQ6OnByb2Nlc3MpOgorICAgICAgICAqIGh0bWwvSFRNTE9iamVjdEVsZW1l
bnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTE91dHB1dEVsZW1lbnQuaWRsOgorICAgICAgICAq
IGh0bWwvSFRNTFBpY3R1cmVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQaWN0
dXJlRWxlbWVudDo6aXNTeXN0ZW1QcmV2aWV3SW1hZ2UpOgorICAgICAgICAqIGh0bWwvSFRNTFNj
cmlwdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNjcmlwdEVsZW1lbnQ6OnJl
ZmVycmVyUG9saWN5IGNvbnN0KToKKyAgICAgICAgKiBodG1sL0hUTUxTY3JpcHRFbGVtZW50Lmlk
bDoKKyAgICAgICAgKiBodG1sL0hUTUxTZWxlY3RFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1s
L0hUTUxUZXh0QXJlYUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvTGlua1JlbEF0dHJpYnV0
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMaW5rUmVsQXR0cmlidXRlOjpMaW5rUmVsQXR0cmli
dXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkxpbmtSZWxBdHRyaWJ1dGU6OmlzU3VwcG9ydGVkKToK
KyAgICAgICAgKiBodG1sL01lZGlhRW5jcnlwdGVkRXZlbnQuaWRsOgorICAgICAgICAqIGh0bWwv
V2ViS2l0TWVkaWFLZXlFcnJvci5pZGw6CisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFByZWxv
YWRTY2FubmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRva2VuUHJlbG9hZFNjYW5uZXI6OlN0
YXJ0VGFnU2Nhbm5lcjo6U3RhcnRUYWdTY2FubmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRva2Vu
UHJlbG9hZFNjYW5uZXI6OlN0YXJ0VGFnU2Nhbm5lcjo6cHJvY2Vzc0F0dHJpYnV0ZXMpOgorICAg
ICAgICAoV2ViQ29yZTo6VG9rZW5QcmVsb2FkU2Nhbm5lcjo6U3RhcnRUYWdTY2FubmVyOjpjcmVh
dGVQcmVsb2FkUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpUb2tlblByZWxvYWRTY2FubmVy
OjpTdGFydFRhZ1NjYW5uZXI6OnByb2Nlc3NBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6
VG9rZW5QcmVsb2FkU2Nhbm5lcjo6U3RhcnRUYWdTY2FubmVyOjpyZXNvdXJjZVR5cGUgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6VG9rZW5QcmVsb2FkU2Nhbm5lcjo6c2Nhbik6CisgICAgICAg
ICogbG9hZGVyL0ltYWdlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlTG9hZGVy
Ojp1cGRhdGVGcm9tRWxlbWVudCk6CisgICAgICAgICogbG9hZGVyL0xpbmtMb2FkZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TGlua0xvYWRlcjo6cmVzb3VyY2VUeXBlRnJvbUFzQXR0cmlidXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUxpbmtQcmVsb2FkUmVzb3VyY2VDbGllbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6TGlua0xvYWRlcjo6aXNTdXBwb3J0ZWRUeXBlKToKKyAgICAgICAg
KFdlYkNvcmU6OkxpbmtMb2FkZXI6OnByZWxvYWRJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpMaW5rTG9hZGVyOjpwcmVmZXRjaElmTmVlZGVkKToKKyAgICAgICAgKiBsb2FkZXIvTGlua0xv
YWRlci5oOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKKyAgICAgICAgKiBwYWdlL0lu
dGVyc2VjdGlvbk9ic2VydmVyLmlkbDoKKyAgICAgICAgKiBwYWdlL0ludGVyc2VjdGlvbk9ic2Vy
dmVyRW50cnkuaWRsOgorICAgICAgICAqIHBhZ2UvTmF2aWdhdG9yLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok5hdmlnYXRvcjo6Y2FuU2hhcmUpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9y
OjpzaGFyZSk6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3IuaDoKKyAgICAgICAgKiBwYWdlL05h
dmlnYXRvclNoYXJlLmlkbDoKKyAgICAgICAgKiBwYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6UnVudGltZUVu
YWJsZWRGZWF0dXJlcyk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVz
Ojp0b3VjaEV2ZW50c0VuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2UvUnVu
dGltZUVuYWJsZWRGZWF0dXJlcy5oOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2V0TW91c2VFdmVudHNTaW11bGF0aW9uRW5hYmxlZCk6CisgICAgICAgIChXZWJD
b3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRCbGFua0FuY2hvclRhcmdldEltcGxpZXNO
b09wZW5lckVuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6YmxhbmtBbmNob3JUYXJnZXRJbXBsaWVzTm9PcGVuZXJFbmFibGVkIGNvbnN0
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNl
dExpbmtQcmVsb2FkRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpsaW5rUHJlbG9hZEVuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0TGlua1ByZWZldGNoRW5h
YmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpsaW5rUHJlZmV0Y2hFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldE1lZGlhUHJlbG9hZGluZ0VuYWJsZWQpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6bWVkaWFQcmVs
b2FkaW5nRW5hYmxlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzZXRJbnB1dEV2ZW50c0VuYWJsZWQpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6aW5wdXRFdmVudHNFbmFibGVkIGNv
bnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNldEludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmludGVyYWN0aXZlRm9ybVZhbGlkYXRp
b25FbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnNldEN1c3RvbUVsZW1lbnRzRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpjdXN0b21FbGVtZW50c0VuYWJsZWQg
Y29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2V0RGF0YVRyYW5zZmVySXRlbXNFbmFibGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmRhdGFUcmFuc2Zlckl0ZW1zRW5hYmxlZCBjb25z
dCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpz
ZXRXZWJTaGFyZUVuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVu
YWJsZWRGZWF0dXJlczo6d2ViU2hhcmVFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldFdlYkF1dGhlbnRpY2F0aW9uRW5h
YmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVz
Ojp3ZWJBdXRoZW50aWNhdGlvbkVuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0V2ViQXV0aGVudGljYXRpb25Mb2NhbEF1
dGhlbnRpY2F0b3JFbmFibGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OndlYkF1dGhlbnRpY2F0aW9uTG9jYWxBdXRoZW50aWNhdG9yRW5hYmxl
ZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzZXREaXNhYmxlZEFkYXB0YXRpb25zTWV0YVRhZ0VuYWJsZWQpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6ZGlzYWJsZWRBZGFwdGF0aW9u
c01ldGFUYWdFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM6OnNldENTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVk
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmNz
c0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldFN5bnRoZXRpY0VkaXRpbmdD
b21tYW5kc0VuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c3ludGhldGljRWRpdGluZ0NvbW1hbmRzRW5hYmxlZCBjb25zdCk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjptZWRpYVJlY29y
ZGVyRW5hYmxlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzZXRNZWRpYVJlY29yZGVyRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjptZWRpYURldmljZXNFbmFibGVkIGNv
bnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNldE1lZGlhRGV2aWNlc0VuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6bWVkaWFTdHJlYW1FbmFibGVkIGNvbnN0KTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldE1lZGlhU3RyZWFt
RW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzY3JlZW5DYXB0dXJlRW5hYmxlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRTY3JlZW5DYXB0dXJlRW5hYmxlZCk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRHYW1l
cGFkc0VuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6Z2FtZXBhZHNFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldERvd25sb2FkQXR0cmlidXRlRW5hYmxlZCk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpkb3du
bG9hZEF0dHJpYnV0ZUVuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmludGVy
c2VjdGlvbk9ic2VydmVyRW5hYmxlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRVbmRvTWFuYWdlckFQSUVuYWJsZWQpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6dW5kb01hbmFn
ZXJBUElFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNldEVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjplbmNyeXB0ZWRNZWRpYUFQ
SUVuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2V0TGVnYWN5RW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmxlZ2FjeUVuY3J5cHRl
ZE1lZGlhQVBJRW5hYmxlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRTeXN0ZW1QcmV2aWV3RW5hYmxlZCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzeXN0ZW1QcmV2aWV3RW5h
YmxlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzZXRMZWdhY3lCZWZvcmVMb2FkRXZlbnRFbmFibGVkKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmxlZ2FjeUJlZm9yZUxvYWRFdmVu
dEVuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6YWRDbGlja0F0dHJpYnV0aW9uRW5hYmxlZCBjb25zdCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRBZENsaWNrQXR0cmli
dXRpb25FbmFibGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNldFRvdWNoRXZlbnRzRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpyZWZlcnJlclBvbGljeUF0dHJpYnV0ZUVuYWJs
ZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2V0UmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGVFbmFibGVkKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmludGVycnVwdEF1ZGlvT25QYWdl
VmlzaWJpbGl0eUNoYW5nZUVuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0SW50ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmls
aXR5Q2hhbmdlRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpsaW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVkIGNvbnN0KTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldExp
bmtQcmVsb2FkUmVzcG9uc2l2ZUltYWdlc0VuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0TGF6eUltYWdlTG9hZGluZ0VuYWJsZWQp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6bGF6
eUltYWdlTG9hZGluZ0VuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0SXNJbkFwcEJyb3dzZXJQcml2YWN5RW5hYmxlZCk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc0lu
QXBwQnJvd3NlclByaXZhY3lFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldE5lZWRzSW5BcHBCcm93c2VyUHJpdmFjeVF1
aXJrcyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpuZWVkc0luQXBwQnJvd3NlclByaXZhY3lRdWlya3MgY29uc3QpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0V2ViU2hhcmVGaWxlQVBJRW5h
YmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVz
Ojp3ZWJTaGFyZUZpbGVBUElFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdl
L1NldHRpbmdzLnlhbWw6CisgICAgICAgICogcGFnZS9VbmRvSXRlbS5pZGw6CisgICAgICAgICog
cGFnZS9VbmRvTWFuYWdlci5pZGw6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckltYWdlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjpwYWludEludG9SZWN0KToKKyAgICAg
ICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50
ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpCYWNrdXApOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJu
YWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3JlVG8pOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJu
YWxTZXR0aW5nczo6c2V0U2NyZWVuQ2FwdHVyZUVuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAq
IHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxT
ZXR0aW5ncy5pZGw6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SW50ZXJuYWxzOjpyZXNldFRvQ29uc2lzdGVudFN0YXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OkludGVybmFsczo6c2V0U2hvdWxkSW50ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5
Q2hhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6YWRkUHJlZmV0Y2hMb2FkRXZl
bnRMaXN0ZW5lcik6CisKIDIwMjAtMDgtMjggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KIAogICAgICAgICBVcGRhdGUgUGFubmVyTm9kZSB0byBzdXBwb3J0IGstcmF0ZSBhdXRvbWF0
aW9uIG9mIGl0cyBBdWRpb1BhcmFtcwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVk
ZW50aWFsbWFuYWdlbWVudC9CYXNpY0NyZWRlbnRpYWwuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQmFzaWNDcmVkZW50aWFsLmlk
bAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50aWFs
bWFuYWdlbWVudC9CYXNpY0NyZWRlbnRpYWwuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsy
Nyw3IEBACiAgICAgSW50ZXJmYWNlTmFtZT1DcmVkZW50aWFsLAogICAgIENvbmRpdGlvbmFsPVdF
Ql9BVVRITiwKICAgICBDdXN0b21Ub0pTT2JqZWN0LAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2Vi
QXV0aGVudGljYXRpb24sCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJBdXRoZW50aWNhdGlvbiwK
ICAgICBFeHBvc2VkPVdpbmRvdywKICAgICBTZWN1cmVDb250ZXh0CiBdIGludGVyZmFjZSBCYXNp
Y0NyZWRlbnRpYWwgewpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50aWFsbWFu
YWdlbWVudC9DcmVkZW50aWFsc0NvbnRhaW5lci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVkZW50aWFsc0NvbnRhaW5lci5p
ZGwJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvY3JlZGVudGlh
bG1hbmFnZW1lbnQvQ3JlZGVudGlhbHNDb250YWluZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0y
Niw3ICsyNiw3IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1XRUJfQVVUSE4sCi0gICAgRW5hYmxl
ZEF0UnVudGltZT1XZWJBdXRoZW50aWNhdGlvbiwKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkF1
dGhlbnRpY2F0aW9uLAogICAgIEV4cG9zZWQ9V2luZG93LAogICAgIEltcGxlbWVudGF0aW9uTGFj
a3NWVGFibGUsCiAgICAgU2VjdXJlQ29udGV4dCwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvTmF2aWdhdG9yQ3JlZGVudGlhbHMuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvTmF2aWdh
dG9yQ3JlZGVudGlhbHMuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50L05hdmlnYXRvckNyZWRlbnRpYWxzLmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9V0VCX0FV
VEhOLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViQXV0aGVudGljYXRpb24sCisgICAgRW5hYmxl
ZEJ5U2V0dGluZz1XZWJBdXRoZW50aWNhdGlvbiwKIF0gcGFydGlhbCBpbnRlcmZhY2UgTmF2aWdh
dG9yIHsKICAgICBbU2VjdXJlQ29udGV4dCwgU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRl
IENyZWRlbnRpYWxzQ29udGFpbmVyIGNyZWRlbnRpYWxzOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlNZXNzYWdlRXZlbnQuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlN
ZXNzYWdlRXZlbnQuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50LmlkbAkod29ya2luZyBjb3B5
KQpAQCAtNDAsNyArNDAsNyBAQCBkaWN0aW9uYXJ5IE1lZGlhS2V5TWVzc2FnZUV2ZW50SW5pdCA6
IEV2CiAKIFsKICAgICBDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEsCi0gICAgRW5hYmxlZEF0
UnVudGltZT1FbmNyeXB0ZWRNZWRpYUFQSSwKKyAgICBFbmFibGVkQnlTZXR0aW5nPUVuY3J5cHRl
ZE1lZGlhQVBJLAogICAgIERpc2FibGVkQnlRdWlyaz1oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQ
SVN1cHBvcnQsCiBdIGludGVyZmFjZSBNZWRpYUtleU1lc3NhZ2VFdmVudCA6IEV2ZW50IHsKICAg
ICBjb25zdHJ1Y3RvcihET01TdHJpbmcgdHlwZSwgTWVkaWFLZXlNZXNzYWdlRXZlbnRJbml0IGV2
ZW50SW5pdERpY3QpOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleVNlc3Npb24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmlkbAkocmV2aXNpb24gMjY2MzEyKQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24u
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBACiBbCiAgICAgQWN0aXZlRE9NT2Jq
ZWN0LAogICAgIENvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwKLSAgICBFbmFibGVkQXRSdW50
aW1lPUVuY3J5cHRlZE1lZGlhQVBJLAorICAgIEVuYWJsZWRCeVNldHRpbmc9RW5jcnlwdGVkTWVk
aWFBUEksCiAgICAgRXhwb3J0VG9XcmFwcGVkRnVuY3Rpb24sCiAgICAgRGlzYWJsZWRCeVF1aXJr
PWhhc0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydCwKIF0gaW50ZXJmYWNlIE1lZGlhS2V5
U2Vzc2lvbiA6IEV2ZW50VGFyZ2V0IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5j
cnlwdGVkbWVkaWEvTWVkaWFLZXlTdGF0dXNNYXAuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTdGF0dXNNYXAuaWRsCShyZXZp
c2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5U3RhdHVzTWFwLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgsNyBAQCBlbnVt
IE1lZGlhS2V5U3RhdHVzIHsKIAogWwogICAgIENvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwK
LSAgICBFbmFibGVkQXRSdW50aW1lPUVuY3J5cHRlZE1lZGlhQVBJLAorICAgIEVuYWJsZWRCeVNl
dHRpbmc9RW5jcnlwdGVkTWVkaWFBUEksCiAgICAgRGlzYWJsZWRCeVF1aXJrPWhhc0Jyb2tlbkVu
Y3J5cHRlZE1lZGlhQVBJU3VwcG9ydCwKIF0gaW50ZXJmYWNlIE1lZGlhS2V5U3RhdHVzTWFwIHsK
ICAgICBpdGVyYWJsZTxCdWZmZXJTb3VyY2UsIE1lZGlhS2V5U3RhdHVzPjsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVk
aWFLZXlTeXN0ZW1BY2Nlc3MuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMjgsNyArMjgsNyBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9RU5DUllQVEVE
X01FRElBLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9RW5jcnlwdGVkTWVkaWFBUEksCisgICAgRW5h
YmxlZEJ5U2V0dGluZz1FbmNyeXB0ZWRNZWRpYUFQSSwKICAgICBEaXNhYmxlZEJ5UXVpcms9aGFz
QnJva2VuRW5jcnlwdGVkTWVkaWFBUElTdXBwb3J0LAogICAgIEltcGxlbWVudGF0aW9uTGFja3NW
VGFibGUsCiBdIGludGVyZmFjZSBNZWRpYUtleVN5c3RlbUFjY2VzcyB7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuaWRsCShy
ZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlh
L01lZGlhS2V5cy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAKIAogWwogICAg
IENvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwKLSAgICBFbmFibGVkQXRSdW50aW1lPUVuY3J5
cHRlZE1lZGlhQVBJLAorICAgIEVuYWJsZWRCeVNldHRpbmc9RW5jcnlwdGVkTWVkaWFBUEksCiAg
ICAgRXhwb3J0VG9XcmFwcGVkRnVuY3Rpb24sCiAgICAgRGlzYWJsZWRCeVF1aXJrPWhhc0Jyb2tl
bkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydCwKIF0gaW50ZXJmYWNlIE1lZGlhS2V5cyB7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL05hdmlnYXRvckVNRS5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZp
Z2F0b3JFTUUuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2VuY3J5cHRlZG1lZGlhL05hdmlnYXRvckVNRS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcg
KzI4LDcgQEAKIAogWwogICAgIENvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwKLSAgICBFbmFi
bGVkQXRSdW50aW1lPUVuY3J5cHRlZE1lZGlhQVBJLAorICAgIEVuYWJsZWRCeVNldHRpbmc9RW5j
cnlwdGVkTWVkaWFBUEksCiAgICAgRGlzYWJsZWRCeVF1aXJrPWhhc0Jyb2tlbkVuY3J5cHRlZE1l
ZGlhQVBJU3VwcG9ydCwKIF0gcGFydGlhbCBpbnRlcmZhY2UgTmF2aWdhdG9yIHsKICAgICBbQ2Fs
bFdpdGg9RG9jdW1lbnRdIFByb21pc2U8TWVkaWFLZXlTeXN0ZW1BY2Nlc3M+IHJlcXVlc3RNZWRp
YUtleVN5c3RlbUFjY2VzcyhET01TdHJpbmcga2V5U3lzdGVtLCBzZXF1ZW5jZTxNZWRpYUtleVN5
c3RlbUNvbmZpZ3VyYXRpb24+IHN1cHBvcnRlZENvbmZpZ3VyYXRpb24pOwpJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlNZXNz
YWdlRXZlbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlw
dGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5TWVzc2FnZUV2ZW50LmlkbAkocmV2aXNpb24g
MjY2MzEyKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kv
V2ViS2l0TWVkaWFLZXlNZXNzYWdlRXZlbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsy
NSw3IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1MRUdBQ1lfRU5DUllQVEVEX01FRElBLAotICAg
IEVuYWJsZWRBdFJ1bnRpbWU9TGVnYWN5RW5jcnlwdGVkTWVkaWFBUEksCisgICAgRW5hYmxlZEJ5
U2V0dGluZz1MZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSSwKIF0gaW50ZXJmYWNlIFdlYktpdE1lZGlh
S2V5TWVzc2FnZUV2ZW50IDogRXZlbnQgewogICAgIGNvbnN0cnVjdG9yKERPTVN0cmluZyB0eXBl
LCBvcHRpb25hbCBXZWJLaXRNZWRpYUtleU1lc3NhZ2VFdmVudEluaXQgZXZlbnRJbml0RGljdCk7
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dl
YktpdE1lZGlhS2V5TmVlZGVkRXZlbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5TmVlZGVkRXZlbnQu
aWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleU5lZWRlZEV2ZW50LmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMjUsNyArMjUsNyBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9TEVHQUNZX0VOQ1JZUFRF
RF9NRURJQSwKLSAgICBFbmFibGVkQXRSdW50aW1lPUxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJLAor
ICAgIEVuYWJsZWRCeVNldHRpbmc9TGVnYWN5RW5jcnlwdGVkTWVkaWFBUEksCiBdIGludGVyZmFj
ZSBXZWJLaXRNZWRpYUtleU5lZWRlZEV2ZW50IDogRXZlbnQgewogICAgIGNvbnN0cnVjdG9yKERP
TVN0cmluZyB0eXBlLCBvcHRpb25hbCBXZWJLaXRNZWRpYUtleU5lZWRlZEV2ZW50SW5pdCBldmVu
dEluaXREaWN0KTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlTZXNzaW9uLmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Np
b24uaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC0yNiw3ICsyNiw3IEBACiBbCiAgICAgQWN0aXZlRE9NT2JqZWN0LAogICAgIENvbmRpdGlv
bmFsPUxFR0FDWV9FTkNSWVBURURfTUVESUEsCi0gICAgRW5hYmxlZEF0UnVudGltZT1MZWdhY3lF
bmNyeXB0ZWRNZWRpYUFQSSwKKyAgICBFbmFibGVkQnlTZXR0aW5nPUxlZ2FjeUVuY3J5cHRlZE1l
ZGlhQVBJLAogXSBpbnRlcmZhY2UgV2ViS2l0TWVkaWFLZXlTZXNzaW9uIDogRXZlbnRUYXJnZXQg
ewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBXZWJLaXRNZWRpYUtleUVycm9yIGVycm9yOwogCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRN
ZWRpYUtleXMuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlw
dGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5cy5pZGwJKHJldmlzaW9uIDI2NjMxMikKKysr
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlh
S2V5cy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDcgQEAKICAKIFsKICAgICBDb25k
aXRpb25hbD1MRUdBQ1lfRU5DUllQVEVEX01FRElBLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9TGVn
YWN5RW5jcnlwdGVkTWVkaWFBUEksCisgICAgRW5hYmxlZEJ5U2V0dGluZz1MZWdhY3lFbmNyeXB0
ZWRNZWRpYUFQSSwKIF0gaW50ZXJmYWNlIFdlYktpdE1lZGlhS2V5cyB7CiAgICAgW01heVRocm93
RXhjZXB0aW9uXSBjb25zdHJ1Y3RvcihET01TdHJpbmcga2V5U3lzdGVtKTsKIApJbmRleDogU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWQuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBhZC9HYW1lcGFkLmlkbAkocmV2aXNpb24gMjY2MzEy
KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWQuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0yNCw3ICsyNCw3IEBACiAgKi8KIAogWwotICAgIEVuYWJsZWRBdFJ1bnRpbWU9
R2FtZXBhZHMsCisgICAgRW5hYmxlZEJ5U2V0dGluZz1HYW1lcGFkcywKICAgICBDb25kaXRpb25h
bD1HQU1FUEFELAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKIF0gaW50ZXJmYWNlIEdh
bWVwYWQgewpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWRCdXR0
b24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBhZC9HYW1l
cGFkQnV0dG9uLmlkbAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9nYW1lcGFkL0dhbWVwYWRCdXR0b24uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3ICsyNCw3
IEBACiAgKi8KIAogWwotICAgIEVuYWJsZWRBdFJ1bnRpbWU9R2FtZXBhZHMsCisgICAgRW5hYmxl
ZEJ5U2V0dGluZz1HYW1lcGFkcywKICAgICBDb25kaXRpb25hbD1HQU1FUEFELAogICAgIEltcGxl
bWVudGF0aW9uTGFja3NWVGFibGUKIF0gaW50ZXJmYWNlIEdhbWVwYWRCdXR0b24gewpJbmRleDog
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWRFdmVudC5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWRFdmVudC5pZGwJKHJl
dmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBhZC9HYW1lcGFk
RXZlbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKIFsKICAgICBDb25k
aXRpb25hbD1HQU1FUEFELAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9R2FtZXBhZHMsCisgICAgRW5h
YmxlZEJ5U2V0dGluZz1HYW1lcGFkcywKIF0gaW50ZXJmYWNlIEdhbWVwYWRFdmVudCA6IEV2ZW50
IHsKICAgICBjb25zdHJ1Y3RvcihET01TdHJpbmcgdHlwZSwgb3B0aW9uYWwgR2FtZXBhZEV2ZW50
SW5pdCBldmVudEluaXREaWN0KTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1l
cGFkL05hdmlnYXRvckdhbWVwYWQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZ2FtZXBhZC9OYXZpZ2F0b3JHYW1lcGFkLmlkbAkocmV2aXNpb24gMjY2MzEyKQorKysg
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL05hdmlnYXRvckdhbWVwYWQuaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw2IEBACiBbCiAgICAgQ29uZGl0aW9uYWw9R0FNRVBBRCwK
IF0gcGFydGlhbCBpbnRlcmZhY2UgTmF2aWdhdG9yIHsKLSAgICBbRW5hYmxlZEF0UnVudGltZT1H
YW1lcGFkc10gc2VxdWVuY2U8R2FtZXBhZD4gZ2V0R2FtZXBhZHMoKTsKKyAgICBbRW5hYmxlZEJ5
U2V0dGluZz1HYW1lcGFkc10gc2VxdWVuY2U8R2FtZXBhZD4gZ2V0R2FtZXBhZHMoKTsKIH07CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9CbG9iRXZlbnQuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9CbG9i
RXZlbnQuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhcmVjb3JkZXIvQmxvYkV2ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBA
QCB0eXBlZGVmIGRvdWJsZSBET01IaWdoUmVzVGltZVN0YW1wOwogCiBbCiAgICAgQ29uZGl0aW9u
YWw9TUVESUFfU1RSRUFNLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9TWVkaWFSZWNvcmRlciwKKyAg
ICBFbmFibGVkQnlTZXR0aW5nPU1lZGlhUmVjb3JkZXIsCiAgICAgRXhwb3NlZD1XaW5kb3cKIF0g
IGludGVyZmFjZSBCbG9iRXZlbnQgOiBFdmVudCB7CiAgICAgY29uc3RydWN0b3IoRE9NU3RyaW5n
IHR5cGUsIEJsb2JFdmVudEluaXQgZXZlbnRJbml0RGljdCk7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIuaWRsCShy
ZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIv
TWVkaWFSZWNvcmRlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDcgQEAgZW51bSBS
ZWNvcmRpbmdTdGF0ZSB7ICJpbmFjdGl2ZSIsICJyZWNvcgogWwogICAgIEFjdGl2ZURPTU9iamVj
dCwKICAgICBDb25kaXRpb25hbD1NRURJQV9TVFJFQU0sCi0gICAgRW5hYmxlZEF0UnVudGltZT1N
ZWRpYVJlY29yZGVyLAorICAgIEVuYWJsZWRCeVNldHRpbmc9TWVkaWFSZWNvcmRlciwKICAgICBF
eHBvc2VkPVdpbmRvdwogXSBpbnRlcmZhY2UgTWVkaWFSZWNvcmRlciA6IEV2ZW50VGFyZ2V0IHsK
ICAgICBbQ2FsbFdpdGg9RG9jdW1lbnQsIE1heVRocm93RXhjZXB0aW9uXSBjb25zdHJ1Y3RvcihN
ZWRpYVN0cmVhbSBzdHJlYW0sIG9wdGlvbmFsIE1lZGlhUmVjb3JkZXJPcHRpb25zIG9wdGlvbnMp
OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3Jk
ZXJFcnJvckV2ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlckVycm9yRXZlbnQuaWRsCShyZXZpc2lvbiAyNjYzMTIp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlckVy
cm9yRXZlbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBAIGRpY3Rpb25hcnkg
TWVkaWFSZWNvcmRlckVycm9yRXZlbnRJbml0IDoKIFsKICAgICBDb25kaXRpb25hbD1NRURJQV9T
VFJFQU0sCiAgICAgRXhwb3NlZD1XaW5kb3csCi0gICAgRW5hYmxlZEF0UnVudGltZT1NZWRpYVJl
Y29yZGVyCisgICAgRW5hYmxlZEJ5U2V0dGluZz1NZWRpYVJlY29yZGVyCiBdIGludGVyZmFjZSBN
ZWRpYVJlY29yZGVyRXJyb3JFdmVudCA6IEV2ZW50IHsKICAgICBjb25zdHJ1Y3RvcihET01TdHJp
bmcgdHlwZSwgTWVkaWFSZWNvcmRlckVycm9yRXZlbnRJbml0IGV2ZW50SW5pdERpY3QpOwogCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURl
dmljZXMuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDcg
QEAKIAogICAgIE1lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50cyBnZXRTdXBwb3J0ZWRDb25z
dHJhaW50cygpOwogICAgIFtQcml2YXRlSWRlbnRpZmllciwgUHVibGljSWRlbnRpZmllcl0gUHJv
bWlzZTxNZWRpYVN0cmVhbT4gZ2V0VXNlck1lZGlhKG9wdGlvbmFsIE1lZGlhU3RyZWFtQ29uc3Ry
YWludHMgY29uc3RyYWludHMpOwotICAgIFtFbmFibGVkQXRSdW50aW1lPVNjcmVlbkNhcHR1cmVd
IFByb21pc2U8TWVkaWFTdHJlYW0+IGdldERpc3BsYXlNZWRpYShvcHRpb25hbCBEaXNwbGF5TWVk
aWFTdHJlYW1Db25zdHJhaW50cyBjb25zdHJhaW50cyk7CisgICAgW0VuYWJsZWRCeVNldHRpbmc9
U2NyZWVuQ2FwdHVyZV0gUHJvbWlzZTxNZWRpYVN0cmVhbT4gZ2V0RGlzcGxheU1lZGlhKG9wdGlv
bmFsIERpc3BsYXlNZWRpYVN0cmVhbUNvbnN0cmFpbnRzIGNvbnN0cmFpbnRzKTsKIH07CiAKIFsK
QEAgLTU4LDcgKzU4LDcgQEAKIAogWwogICAgIENvbmRpdGlvbmFsPU1FRElBX1NUUkVBTSwKLSAg
ICBFbmFibGVkQXRSdW50aW1lPVNjcmVlbkNhcHR1cmUKKyAgICBFbmFibGVkQnlTZXR0aW5nPVNj
cmVlbkNhcHR1cmUKIF0gZW51bSBEaXNwbGF5Q2FwdHVyZVN1cmZhY2VUeXBlIHsKICAgICAibW9u
aXRvciIsCiAgICAgIndpbmRvdyIsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAJKHJldmlzaW9uIDI2NjMx
MikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFj
ay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3Miw3ICs0NzIsNyBAQCB2b2lkIE1lZGlhU3RyZWFt
VHJhY2s6OnVwZGF0ZUNhcHR1cmVBY2NvCiAgICAgYXV0byogYWN0aXZlQXVkaW9Tb3VyY2UgPSBS
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24oKS5hdWRpb0NhcHR1cmVGYWN0b3J5
KCkuYWN0aXZlU291cmNlKCk7CiAgICAgaWYgKGFjdGl2ZUF1ZGlvU291cmNlICYmIGlzU291cmNl
Q2FwdHVyaW5nRm9yVHJhY2tJbkRvY3VtZW50KCphY3RpdmVBdWRpb1NvdXJjZSwgZG9jdW1lbnQp
KSB7CiAgICAgICAgIGJvb2wgcGFnZU11dGVkID0gcGFnZS0+bXV0ZWRTdGF0ZSgpICYgTWVkaWFQ
cm9kdWNlcjo6QXVkaW9BbmRWaWRlb0NhcHR1cmVJc011dGVkOwotICAgICAgICBhY3RpdmVBdWRp
b1NvdXJjZS0+c2V0TXV0ZWQocGFnZU11dGVkIHx8IChkb2N1bWVudC5oaWRkZW4oKSAmJiBSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmludGVycnVwdEF1ZGlvT25QYWdl
VmlzaWJpbGl0eUNoYW5nZUVuYWJsZWQoKSkpOworICAgICAgICBhY3RpdmVBdWRpb1NvdXJjZS0+
c2V0TXV0ZWQocGFnZU11dGVkIHx8IChkb2N1bWVudC5oaWRkZW4oKSAmJiBkb2N1bWVudC5zZXR0
aW5ncygpLmludGVycnVwdEF1ZGlvT25QYWdlVmlzaWJpbGl0eUNoYW5nZUVuYWJsZWQoKSkpOwog
ICAgIH0KIAogICAgIGF1dG8qIGFjdGl2ZVZpZGVvU291cmNlID0gUmVhbHRpbWVNZWRpYVNvdXJj
ZUNlbnRlcjo6c2luZ2xldG9uKCkudmlkZW9DYXB0dXJlRmFjdG9yeSgpLmFjdGl2ZVNvdXJjZSgp
OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JNZWRp
YURldmljZXMuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vTmF2aWdhdG9yTWVkaWFEZXZpY2VzLmlkbAkocmV2aXNpb24gMjY2MzEyKQorKysgU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JNZWRpYURldmljZXMuaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1N
RURJQV9TVFJFQU0sCi0gICAgRW5hYmxlZEF0UnVudGltZT1NZWRpYURldmljZXMsCisgICAgRW5h
YmxlZEJ5U2V0dGluZz1NZWRpYURldmljZXMsCiBdIHBhcnRpYWwgaW50ZXJmYWNlIE5hdmlnYXRv
ciB7CiAgICAgW1NhbWVPYmplY3QsIFNlY3VyZUNvbnRleHQsIENvbnRleHRBbGxvd3NNZWRpYURl
dmljZXNdIHJlYWRvbmx5IGF0dHJpYnV0ZSBNZWRpYURldmljZXMgbWVkaWFEZXZpY2VzOwogICAg
IFtDdXN0b20sIEVuYWJsZWRCeVNldHRpbmc9TGVnYWN5R2V0VXNlck1lZGlhXSB1bmRlZmluZWQg
Z2V0VXNlck1lZGlhKG9iamVjdCBjb25zdHJhaW50cywgb2JqZWN0PyBzdWNjZXNzQ2FsbGJhY2ss
IG9iamVjdD8gZXJyb3JDYWxsYmFjayk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1dGhuL0F1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVz
cG9uc2UuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1dGhuL0F1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5pZGwJKHdvcmtpbmcgY29weSkK
QEAgLTI1LDcgKzI1LDcgQEAKIAogWwogICAgIENvbmRpdGlvbmFsPVdFQl9BVVRITiwKLSAgICBF
bmFibGVkQXRSdW50aW1lPVdlYkF1dGhlbnRpY2F0aW9uLAorICAgIEVuYWJsZWRCeVNldHRpbmc9
V2ViQXV0aGVudGljYXRpb24sCiAgICAgRXhwb3NlZD1XaW5kb3csCiAgICAgU2VjdXJlQ29udGV4
dAogXSBpbnRlcmZhY2UgQXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlIDogQXV0aGVudGlj
YXRvclJlc3BvbnNlIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0
aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2Uu
aWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhu
L0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLmlkbAkod29ya2luZyBjb3B5KQpAQCAt
MjUsNyArMjUsNyBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9V0VCX0FVVEhOLAotICAgIEVuYWJs
ZWRBdFJ1bnRpbWU9V2ViQXV0aGVudGljYXRpb24sCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJB
dXRoZW50aWNhdGlvbiwKICAgICBFeHBvc2VkPVdpbmRvdywKICAgICBTZWN1cmVDb250ZXh0CiBd
IGludGVyZmFjZSBBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZSA6IEF1dGhlbnRpY2F0
b3JSZXNwb25zZSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhl
bnRpY2F0b3JSZXNwb25zZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdXRobi9BdXRoZW50aWNhdG9yUmVzcG9uc2UuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisr
KyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JSZXNwb25zZS5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKIFsKICAgICBDb25kaXRpb25hbD1X
RUJfQVVUSE4sCiAgICAgQ3VzdG9tVG9KU09iamVjdCwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdl
YkF1dGhlbnRpY2F0aW9uLAorICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViQXV0aGVudGljYXRpb24s
CiAgICAgRXhwb3NlZD1XaW5kb3csCiAgICAgU2VjdXJlQ29udGV4dCwKIF0gaW50ZXJmYWNlIEF1
dGhlbnRpY2F0b3JSZXNwb25zZSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbC5jcHAJKHJldmlzaW9uIDI2NjMx
MikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlh
bC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDcgKzMzLDcgQEAKICNpbmNsdWRlICJEb2N1bWVu
dC5oIgogI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiUGFnZS5o
IgotI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKKyNpbmNsdWRlICJTZXR0aW5n
cy5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L0Jhc2U2NC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CkBAIC02MSw3ICs2MSw3IEBAIFB1YmxpY0tleUNyZWRlbnRpYWw6OlB1YmxpY0tleUNyZWRlbnRp
YWwKIAogdm9pZCBQdWJsaWNLZXlDcmVkZW50aWFsOjppc1VzZXJWZXJpZnlpbmdQbGF0Zm9ybUF1
dGhlbnRpY2F0b3JBdmFpbGFibGUoRG9jdW1lbnQmIGRvY3VtZW50LCBET01Qcm9taXNlRGVmZXJy
ZWQ8SURMQm9vbGVhbj4mJiBwcm9taXNlKQogewotICAgIGlmICghUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2hhcmVkRmVhdHVyZXMoKS53ZWJBdXRoZW50aWNhdGlvbkxvY2FsQXV0aGVudGljYXRv
ckVuYWJsZWQoKSkgeworICAgIGlmICghZG9jdW1lbnQuc2V0dGluZ3MoKS53ZWJBdXRoZW50aWNh
dGlvbkxvY2FsQXV0aGVudGljYXRvckVuYWJsZWQoKSkgewogICAgICAgICBwcm9taXNlLnJlc29s
dmUoZmFsc2UpOwogICAgICAgICByZXR1cm47CiAgICAgfQpJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsLmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuaWRsCShy
ZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1Ymxp
Y0tleUNyZWRlbnRpYWwuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKIFsK
ICAgICBDb25kaXRpb25hbD1XRUJfQVVUSE4sCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJBdXRo
ZW50aWNhdGlvbiwKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkF1dGhlbnRpY2F0aW9uLAogICAg
IEV4cG9zZWQ9V2luZG93LAogICAgIFNlY3VyZUNvbnRleHQsCiBdIGludGVyZmFjZSBQdWJsaWNL
ZXlDcmVkZW50aWFsIDogQmFzaWNDcmVkZW50aWFsIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1Nj
cmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXMvSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5jcHAuZXJi
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1NjcmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXMv
SW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5jcHAuZXJiCShyZXZpc2lvbiAyNjYzMTIpCisrKyBT
b3VyY2UvV2ViQ29yZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL0ludGVybmFsU2V0dGluZ3NH
ZW5lcmF0ZWQuY3BwLmVyYgkod29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgsNyBAQCBJbnRlcm5h
bFNldHRpbmdzR2VuZXJhdGVkOjpJbnRlcm5hbFNldHRpCiA8JS0gZm9yIEBzZXR0aW5nIGluIEBz
ZXR0aW5ncyBkbyAtJT4KIDwlLSBpZiBAc2V0dGluZy5leGNsdWRlRnJvbUludGVybmFsU2V0dGlu
Z3MgPT0gZmFsc2UgYW5kIEBzZXR0aW5nLmlkbFR5cGUgLSU+CiA8JS0gaWYgQHNldHRpbmcuY29u
ZGl0aW9uYWwgLSU+Ci0jaWYgRU5BQkxFKDwlPSBAc2V0dGluZy5jb25kaXRpb25hbCAlPikKKyNp
ZiA8JT0gQHNldHRpbmcuY29uZGl0aW9uYWwgJT4KIDwlLSBlbmQgLSU+CiAgICAgLCBtXzwlPSBA
c2V0dGluZy5uYW1lICU+KHBhZ2UtPnNldHRpbmdzKCkuPCU9IEBzZXR0aW5nLmdldHRlckZ1bmN0
aW9uTmFtZSAlPigpKQogPCUtIGlmIEBzZXR0aW5nLmNvbmRpdGlvbmFsIC0lPgpAQCAtNTgsNyAr
NTgsNyBAQCB2b2lkIEludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWQ6OnJlc2V0VG9DCiA8JS0gZm9y
IEBzZXR0aW5nIGluIEBzZXR0aW5ncyBkbyAtJT4KIDwlLSBpZiBAc2V0dGluZy5leGNsdWRlRnJv
bUludGVybmFsU2V0dGluZ3MgPT0gZmFsc2UgYW5kIEBzZXR0aW5nLmlkbFR5cGUgLSU+CiA8JS0g
aWYgQHNldHRpbmcuY29uZGl0aW9uYWwgLSU+Ci0jaWYgRU5BQkxFKDwlPSBAc2V0dGluZy5jb25k
aXRpb25hbCAlPikKKyNpZiA8JT0gQHNldHRpbmcuY29uZGl0aW9uYWwgJT4KIDwlLSBlbmQgLSU+
CiAgICAgbV9wYWdlLT5zZXR0aW5ncygpLjwlPSBAc2V0dGluZy5zZXR0ZXJGdW5jdGlvbk5hbWUg
JT4obV88JT0gQHNldHRpbmcubmFtZSAlPik7CiA8JS0gaWYgQHNldHRpbmcuY29uZGl0aW9uYWwg
LSU+CkBAIC03Myw3ICs3Myw3IEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZDo6cmVz
ZXRUb0MKIHZvaWQgSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZDo6PCU9IEBzZXR0aW5nLnNldHRl
ckZ1bmN0aW9uTmFtZSAlPig8JT0gQHNldHRpbmcucGFyYW1ldGVyVHlwZSAlPiA8JT0gQHNldHRp
bmcubmFtZSAlPikKIHsKIDwlLSBpZiBAc2V0dGluZy5jb25kaXRpb25hbCAtJT4KLSNpZiBFTkFC
TEUoPCU9IEBzZXR0aW5nLmNvbmRpdGlvbmFsICU+KQorI2lmIDwlPSBAc2V0dGluZy5jb25kaXRp
b25hbCAlPgogICAgIG1fcGFnZS0+c2V0dGluZ3MoKS48JT0gQHNldHRpbmcuc2V0dGVyRnVuY3Rp
b25OYW1lICU+KDwlPSBAc2V0dGluZy5uYW1lICU+KTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFN
KDwlPSBAc2V0dGluZy5uYW1lICU+KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1NjcmlwdHMvU2V0
dGluZ3NUZW1wbGF0ZXMvSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5oLmVyYgo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL0ludGVybmFsU2V0
dGluZ3NHZW5lcmF0ZWQuaC5lcmIJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3Jl
L1NjcmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXMvSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5oLmVy
Ygkod29ya2luZyBjb3B5KQpAQCAtNTMsNyArNTMsNyBAQCBwcml2YXRlOgogPCUtIGZvciBAc2V0
dGluZyBpbiBAc2V0dGluZ3MgZG8gLSU+CiA8JS0gaWYgQHNldHRpbmcuZXhjbHVkZUZyb21JbnRl
cm5hbFNldHRpbmdzID09IGZhbHNlIGFuZCBAc2V0dGluZy5pZGxUeXBlIC0lPgogPCUtIGlmIEBz
ZXR0aW5nLmNvbmRpdGlvbmFsIC0lPgotI2lmIEVOQUJMRSg8JT0gQHNldHRpbmcuY29uZGl0aW9u
YWwgJT4pCisjaWYgPCU9IEBzZXR0aW5nLmNvbmRpdGlvbmFsICU+CiA8JS0gZW5kIC0lPgogICAg
IDwlPSBAc2V0dGluZy50eXBlICU+IG1fPCU9IEBzZXR0aW5nLm5hbWUgJT47CiA8JS0gaWYgQHNl
dHRpbmcuY29uZGl0aW9uYWwgLSU+CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9TY3JpcHRzL1NldHRp
bmdzVGVtcGxhdGVzL1NldHRpbmdzLmNwcC5lcmIKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvU2NyaXB0cy9TZXR0aW5nc1RlbXBsYXRlcy9TZXR0aW5ncy5jcHAuZXJiCShyZXZpc2lvbiAy
NjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL1NldHRp
bmdzLmNwcC5lcmIJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDcgKzQ2LDcgQEAgU2V0dGluZ3M6OlNl
dHRpbmdzKFBhZ2UqIHBhZ2UpCiA8JS0gZW5kIC0lPgogPCUtIGZvciBAY29uZGl0aW9uYWwgaW4g
QGNvbmRpdGlvbmFscyBkbyAtJT4KIDwlLSBpZiBAY29uZGl0aW9uYWwubm9uQm9vbFNldHRpbmdz
Lmxlbmd0aCAhPSAwIC0lPgotI2lmIEVOQUJMRSg8JT0gQGNvbmRpdGlvbmFsLmNvbmRpdGlvbiAl
PikKKyNpZiA8JT0gQGNvbmRpdGlvbmFsLmNvbmRpdGlvbiAlPgogPCUtIGZvciBAc2V0dGluZyBp
biBAY29uZGl0aW9uYWwubm9uQm9vbFNldHRpbmdzIC0lPgogICAgICwgbV88JT0gQHNldHRpbmcu
bmFtZSAlPig8JT0gQHNldHRpbmcuaW5pdGlhbCAlPikKIDwlLSBlbmQgLSU+CkBAIC01OCw3ICs1
OCw3IEBAIFNldHRpbmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdlKQogPCUtIGVuZCAtJT4KIDwlLSBm
b3IgQGNvbmRpdGlvbmFsIGluIEBjb25kaXRpb25hbHMgZG8gLSU+CiA8JS0gaWYgQGNvbmRpdGlv
bmFsLmJvb2xTZXR0aW5ncy5sZW5ndGggIT0gMCAtJT4KLSNpZiBFTkFCTEUoPCU9IEBjb25kaXRp
b25hbC5jb25kaXRpb24gJT4pCisjaWYgPCU9IEBjb25kaXRpb25hbC5jb25kaXRpb24gJT4KIDwl
LSBmb3IgQHNldHRpbmcgaW4gQGNvbmRpdGlvbmFsLmJvb2xTZXR0aW5ncyAtJT4KICAgICAsIG1f
PCU9IEBzZXR0aW5nLm5hbWUgJT4oPCU9IEBzZXR0aW5nLmluaXRpYWwgJT4pCiA8JS0gZW5kIC0l
PgpAQCAtOTcsNyArOTcsNyBAQCB2b2lkIFNldHRpbmdzOjo8JT0gQHNldHRpbmcuc2V0dGVyRnVu
Y3RpCiA8JS0gZW5kIC0lPgogPCUtIGZvciBAY29uZGl0aW9uYWwgaW4gQGNvbmRpdGlvbmFscyBk
byAtJT4KIDwlLSBpZiBAY29uZGl0aW9uYWwuc2V0dGluZ3NXaXRoQ29tcGxleEdldHRlcnMubGVu
Z3RoICE9IDAgb3IgQGNvbmRpdGlvbmFsLnNldHRpbmdzV2l0aENvbXBsZXhTZXR0ZXJzLmxlbmd0
aCAhPSAwLSU+Ci0jaWYgRU5BQkxFKDwlPSBAY29uZGl0aW9uYWwuY29uZGl0aW9uICU+KQorI2lm
IDwlPSBAY29uZGl0aW9uYWwuY29uZGl0aW9uICU+CiA8JS0gZm9yIEBzZXR0aW5nIGluIEBjb25k
aXRpb25hbC5zZXR0aW5nc1dpdGhDb21wbGV4R2V0dGVycyBkbyAtJT4KIDwlPSBAc2V0dGluZy5w
YXJhbWV0ZXJUeXBlICU+IFNldHRpbmdzOjo8JT0gQHNldHRpbmcuZ2V0dGVyRnVuY3Rpb25OYW1l
ICU+KCkgY29uc3QKIHsKQEAgLTEzMSw3ICsxMzEsNyBAQCB2b2lkIFNldHRpbmdzOjo8JT0gQHNl
dHRpbmcuc2V0dGVyRnVuY3RpCiAgICAgICAgIHJldHVybjsKICAgICBtXzwlPSBAc2V0dGluZy5u
YW1lICU+SW5zcGVjdG9yT3ZlcnJpZGUgPSA8JT0gQHNldHRpbmcubmFtZSAlPkluc3BlY3Rvck92
ZXJyaWRlOwogPCUtIGlmIEBzZXR0aW5nLmNvbmRpdGlvbmFsIC0lPgotI2lmIEVOQUJMRSg8JT0g
QHNldHRpbmcuY29uZGl0aW9uYWwgJT4pCisjaWYgPCU9IEBzZXR0aW5nLmNvbmRpdGlvbmFsICU+
CiA8JS0gZW5kIC0lPgogICAgIDwlPSBAc2V0dGluZy5vbkNoYW5nZSAlPigpOwogPCUtIGlmIEBz
ZXR0aW5nLmNvbmRpdGlvbmFsIC0lPgpJbmRleDogU291cmNlL1dlYkNvcmUvU2NyaXB0cy9TZXR0
aW5nc1RlbXBsYXRlcy9TZXR0aW5ncy5oLmVyYgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL1NldHRpbmdzLmguZXJiCShyZXZpc2lvbiAyNjYz
MTIpCisrKyBTb3VyY2UvV2ViQ29yZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL1NldHRpbmdz
LmguZXJiCSh3b3JraW5nIGNvcHkpCkBAIC01NCw3ICs1NCw3IEBAIHB1YmxpYzoKIDwlLSBlbmQg
LSU+CiAKIDwlLSBmb3IgQGNvbmRpdGlvbmFsIGluIEBjb25kaXRpb25hbHMgZG8gLSU+Ci0jaWYg
RU5BQkxFKDwlPSBAY29uZGl0aW9uYWwuY29uZGl0aW9uICU+KQorI2lmIDwlPSBAY29uZGl0aW9u
YWwuY29uZGl0aW9uICU+CiA8JS0gZm9yIEBzZXR0aW5nIGluIEBjb25kaXRpb25hbC5zZXR0aW5n
cyBkbyAtJT4KICAgICA8JS0gaWYgQHNldHRpbmcuaGFzQ29tcGxleEdldHRlcj8gLSU+CiAgICAg
V0VCQ09SRV9FWFBPUlQgPCU9IEBzZXR0aW5nLnBhcmFtZXRlclR5cGUgJT4gPCU9IEBzZXR0aW5n
LmdldHRlckZ1bmN0aW9uTmFtZSAlPigpIGNvbnN0OwpAQCAtOTEsNyArOTEsNyBAQCBwcml2YXRl
OgogCiA8JS0gZm9yIEBjb25kaXRpb25hbCBpbiBAY29uZGl0aW9uYWxzIGRvIC0lPgogPCUtIGlm
IEBjb25kaXRpb25hbC5ub25Cb29sU2V0dGluZ3MubGVuZ3RoICE9IDAgLSU+Ci0jaWYgRU5BQkxF
KDwlPSBAY29uZGl0aW9uYWwuY29uZGl0aW9uICU+KQorI2lmIDwlPSBAY29uZGl0aW9uYWwuY29u
ZGl0aW9uICU+CiA8JS0gZm9yIEBzZXR0aW5nIGluIEBjb25kaXRpb25hbC5ub25Cb29sU2V0dGlu
Z3MgLSU+CiAgICAgPCU9IEBzZXR0aW5nLnR5cGUgJT4gbV88JT0gQHNldHRpbmcubmFtZSAlPjsK
IDwlLSBlbmQgLSU+CkBAIC0xMDUsNyArMTA1LDcgQEAgcHJpdmF0ZToKIAogPCUtIGZvciBAY29u
ZGl0aW9uYWwgaW4gQGNvbmRpdGlvbmFscyBkbyAtJT4KIDwlLSBpZiBAY29uZGl0aW9uYWwuYm9v
bFNldHRpbmdzLmxlbmd0aCAhPSAwIC0lPgotI2lmIEVOQUJMRSg8JT0gQGNvbmRpdGlvbmFsLmNv
bmRpdGlvbiAlPikKKyNpZiA8JT0gQGNvbmRpdGlvbmFsLmNvbmRpdGlvbiAlPgogPCUtIGZvciBA
c2V0dGluZyBpbiBAY29uZGl0aW9uYWwuYm9vbFNldHRpbmdzIC0lPgogICAgIDwlPSBAc2V0dGlu
Zy50eXBlICU+IG1fPCU9IEBzZXR0aW5nLm5hbWUgJT4gOiAxOwogPCUtIGVuZCAtJT4KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJ
KHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTA3Niw4ICsxMDc2LDggQEAKIAkJNDE2
RTBCM0EyMDlCQzNDQjAwNEE5NUQ5IC8qIEZldGNoSWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2RTBCMzcyMDlCQzNDMjAwNEE5NUQ5
IC8qIEZldGNoSWRlbnRpZmllci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTQxNkUyOUE2MTAyRkE5NjIwMDdGQzE0RSAvKiBXb3JrZXJSZXBvcnRp
bmdQcm94eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDE2RTI5QTUxMDJGQTk2MjAwN0ZDMTRFIC8qIFdvcmtlclJlcG9ydGluZ1Byb3h5LmggKi87IH07
CiAJCTQxNkU2RkU4MUJCRDEyREYwMDBBM0Y2NCAvKiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1
aWx0aW5zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
QjAzRDgwNjFCQjMxMTBEMDBCNzY0RDkgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlu
cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTQx
NkU2RkU4MUJCRDEyREYwMDBBM0Y3NCAvKiBUcmFuc2Zvcm1TdHJlYW1JbnRlcm5hbHNCdWlsdGlu
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUIwM0Q4
MDYxQkIzMTEwRDAwQjc2NEVBIC8qIFRyYW5zZm9ybVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE2RTZG
RTgxQkJEMTJERjAwMEEzRjY1IC8qIEpTRE9NQmluZGluZ0ludGVybmFsc0J1aWx0aW5zLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QjAzRDgwNjFCQjMx
MTBEMDBCNzY0REEgLyogSlNET01CaW5kaW5nSW50ZXJuYWxzQnVpbHRpbnMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0MTZFNkZFODFCQkQxMkRG
MDAwQTNGNzQgLyogVHJhbnNmb3JtU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlCMDNEODA2MUJCMzExMEQwMEI3
NjRFQSAvKiBUcmFuc2Zvcm1TdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxNkU2RkU4MUJCRDEyREYwMDBB
NjAzMyAvKiBTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEM5IC8qIFN0cmVh
bUludGVybmFsc0J1aWx0aW5zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJNDE2RTZGRTgxQkJEMTJERjAwMEE2MDQzIC8qIFJlYWRhYmxlQnl0ZVN0
cmVhbUludGVybmFsc0J1aWx0aW5zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5QjAzRDgwNjFCQjMxMTBEMDBCNzNGNjQgLyogUmVhZGFibGVCeXRlU3Ry
ZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk0MTZFNkZFODFCQkQxMkRGMDAwQTYwNTMgLyogV3JpdGFibGVTdHJl
YW1JbnRlcm5hbHNCdWlsdGlucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEU5IC8qIFdyaXRhYmxlU3RyZWFtSW50
ZXJuYWxzQnVpbHRpbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwpAQCAtMTAwMTksNiArMTAwMTksMTIgQEAKIAkJN0FGOUIyMDkxOENGQjVGMjAwQzY0
QkVGIC8qIEpTVlRUUmVnaW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
VlRUUmVnaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdBRjlCMjBBMThDRkI1
RjMwMEM2NEJFRiAvKiBKU1ZUVFJlZ2lvbkxpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNWVFRSZWdpb25MaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJN0FGOUIyMEIxOENGQjVGMzAwQzY0QkVGIC8qIEpTVlRUUmVnaW9uTGlzdC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1ZUVFJlZ2lvbkxpc3QuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0MwMTFGM0QyNEZBRDM2MDAwNUJFRjEwIC8qIFNldHRp
bmdzLmNwcC5lcmIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gU2V0dGluZ3MuY3BwLmVyYjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJN0MwMTFGM0UyNEZBRDM2MDAwNUJFRjEwIC8qIEludGVybmFsU2V0dGluZ3NHZW5l
cmF0ZWQuY3BwLmVyYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBJbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmNwcC5lcmI7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdDMDExRjNGMjRGQUQzNjAwMDVCRUYxMCAvKiBJ
bnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmlkbC5lcmIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSW50ZXJuYWxTZXR0aW5nc0dl
bmVyYXRlZC5pZGwuZXJiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzAxMUY0MDI0
RkFEMzYwMDA1QkVGMTAgLyogU2V0dGluZ3MuaC5lcmIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU2V0dGluZ3MuaC5lcmI7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdDMDExRjQxMjRGQUQzNjAwMDVCRUYxMCAvKiBJ
bnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmguZXJiICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEludGVybmFsU2V0dGluZ3NHZW5l
cmF0ZWQuaC5lcmI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdDMDExRjQzMjRGQUQz
NjEwMDVCRUYxMCAvKiBHZW5lcmF0ZVNldHRpbmdzLnJiICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQucnVieTsgbmFtZSA9IEdlbmVy
YXRlU2V0dGluZ3MucmI7IHBhdGggPSBTY3JpcHRzL0dlbmVyYXRlU2V0dGluZ3MucmI7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDMDE3QzNEMjQ5NjlGMTMwMERDMEMwMiAvKiBOYXZp
Z2F0b3JQbHVnaW5zLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBOYXZpZ2F0b3JQbHVnaW5zLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJN0MwMjlDNkQyNDkzQzhGODAwMjY4MjA0IC8qIENvbG9yVHlwZXMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQ29sb3JUeXBlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk3QzBDRUYyODFFNEE1NDJDMDA4REVCODAgLyogSlNET01Db25zdHJ1Y3RvckJhc2UuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNET01Db25zdHJ1Y3RvckJhc2UuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTExNTY2LDEwICsxMTU3MiwxMCBAQAogCQk5
QjAzRDgwNjFCQjMxMTBEMDBCNzY0QzkgLyogU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaDsg
cGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaDsg
c291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJOUIwM0Q4MDYxQkIzMTEwRDAw
Qjc2NEQ4IC8qIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gUmVhZGFibGVTdHJlYW1CdWlsdGlucy5oOyBwYXRoID0gRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9SZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9Q
Uk9EVUNUU19ESVI7IH07CiAJCTlCMDNEODA2MUJCMzExMEQwMEI3NjREOSAvKiBSZWFkYWJsZVN0
cmVhbUludGVybmFsc0J1aWx0aW5zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oOyBzb3VyY2VUcmVlID0g
QlVJTFRfUFJPRFVDVFNfRElSOyB9OwotCQk5QjAzRDgwNjFCQjMxMTBEMDBCNzY0RUEgLyogVHJh
bnNmb3JtU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gVHJhbnNmb3JtU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaDsgcGF0aCA9IERlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvVHJhbnNmb3JtU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaDsgc291
cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJOUIwM0Q4MDYxQkIzMTEwRDAwQjc2
NERBIC8qIEpTRE9NQmluZGluZ0ludGVybmFsc0J1aWx0aW5zLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IEpTRE9NQmluZGluZ0ludGVybmFsc0J1aWx0aW5zLmg7IHBhdGggPSBE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NQmluZGluZ0ludGVybmFsc0J1aWx0aW5zLmg7IHNv
dXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTlCMDNEODA2MUJCMzExMEQwMEI3
NjRFOCAvKiBXcml0YWJsZVN0cmVhbUJ1aWx0aW5zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IFdyaXRhYmxlU3RyZWFtQnVpbHRpbnMuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvV3JpdGFibGVTdHJlYW1CdWlsdGlucy5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJP
RFVDVFNfRElSOyB9OwogCQk5QjAzRDgwNjFCQjMxMTBEMDBCNzY0RTkgLyogV3JpdGFibGVTdHJl
YW1JbnRlcm5hbHNCdWlsdGlucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBX
cml0YWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL1dyaXRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaDsgc291cmNlVHJlZSA9IEJV
SUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJOUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEVBIC8qIFRyYW5z
Zm9ybVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IFRyYW5zZm9ybVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmg7IHBhdGggPSBEZXJpdmVk
U291cmNlcy9XZWJDb3JlL1RyYW5zZm9ybVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmg7IHNvdXJj
ZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTlCMDk4QkQ1MUYzRDYwMzMwMDJERDU2
MiAvKiBEYXRhVHJhbnNmZXJJdGVtLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IERhdGFUcmFuc2Zlckl0ZW0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk5QjA5OEJERDFGM0Q2NzNEMDAyREQ1NjIgLyogSlNEYXRhVHJhbnNmZXJJdGVtLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRGF0YVRyYW5zZmVySXRlbS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlCMDk4QkRFMUYzRDY3M0QwMDJERDU2MiAv
KiBKU0RhdGFUcmFuc2Zlckl0ZW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNEYXRhVHJhbnNmZXJJdGVtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xODY0
OCwxMCArMTg2NTQsMTIgQEAKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCiAJ
CQkJRjQ4Mzg5NzkxRTFERDIzQTAwNzZCN0VBIC8qIEVkaXRpbmdIaXN0b3J5ICovLAorCQkJCTdD
MDExRjNDMjRGQUQzNjAwMDVCRUYxMCAvKiBTZXR0aW5nc1RlbXBsYXRlcyAqLywKIAkJCQlBMUUw
ODY2RjI0OEFBQzg1MDBFNDk2RDkgLyogY2hlY2steGNmaWxlbGlzdHMuc2ggKi8sCiAJCQkJMzcx
N0Q3RTUxN0VDQzNBNjAwM0MyNzZEIC8qIGV4dHJhY3QtbG9jYWxpemFibGUtc3RyaW5ncy5wbCAq
LywKIAkJCQlBMUUwODY3MDI0OEFBQzg1MDBFNDk2RDkgLyogZ2VuZXJhdGUtZGVyaXZlZC1zb3Vy
Y2VzLnNoICovLAogCQkJCUExRTA4NjZFMjQ4QUFDODUwMEU0OTZEOSAvKiBnZW5lcmF0ZS11bmlm
aWVkLXNvdXJjZXMuc2ggKi8sCisJCQkJN0MwMTFGNDMyNEZBRDM2MTAwNUJFRjEwIC8qIEdlbmVy
YXRlU2V0dGluZ3MucmIgKi8sCiAJCQkJMzdENDU2RkIxQTlBNTBCNjAwMzMzMEExIC8qIExvY2Fs
aXphYmxlU3RyaW5ncy5wbSAqLywKIAkJCSk7CiAJCQluYW1lID0gU2NyaXB0czsKQEAgLTIxOTI4
LDYgKzIxOTM2LDE5IEBACiAJCQlwYXRoID0gbWFjT1M7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91
cD4iOwogCQl9OworCQk3QzAxMUYzQzI0RkFEMzYwMDA1QkVGMTAgLyogU2V0dGluZ3NUZW1wbGF0
ZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTdDMDEx
RjNFMjRGQUQzNjAwMDVCRUYxMCAvKiBJbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmNwcC5lcmIg
Ki8sCisJCQkJN0MwMTFGNDEyNEZBRDM2MDAwNUJFRjEwIC8qIEludGVybmFsU2V0dGluZ3NHZW5l
cmF0ZWQuaC5lcmIgKi8sCisJCQkJN0MwMTFGM0YyNEZBRDM2MDAwNUJFRjEwIC8qIEludGVybmFs
U2V0dGluZ3NHZW5lcmF0ZWQuaWRsLmVyYiAqLywKKwkJCQk3QzAxMUYzRDI0RkFEMzYwMDA1QkVG
MTAgLyogU2V0dGluZ3MuY3BwLmVyYiAqLywKKwkJCQk3QzAxMUY0MDI0RkFEMzYwMDA1QkVGMTAg
LyogU2V0dGluZ3MuaC5lcmIgKi8sCisJCQkpOworCQkJbmFtZSA9IFNldHRpbmdzVGVtcGxhdGVz
OworCQkJcGF0aCA9IFNjcmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXM7CisJCQlzb3VyY2VUcmVlID0g
Ijxncm91cD4iOworCQl9OwogCQk3QzMzMEEwNDFERjlGOTNCMDBEMzM5NUMgLyogR2VvbG9jYXRp
b24gKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApJbmRleDogU291
cmNlL1dlYkNvcmUvY3NzL0RPTUNTU0N1c3RvbVByb3BlcnR5RGVzY3JpcHRvci5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0RPTUNTU0N1c3RvbVByb3BlcnR5RGVzY3JpcHRv
ci5pZGwJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9ET01DU1NDdXN0
b21Qcm9wZXJ0eURlc2NyaXB0b3IuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBA
CiAKIFsKICAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKLSAgICBFbmFibGVkQXRSdW50aW1lPUNT
U0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXMKKyAgICBFbmFibGVkQnlTZXR0aW5nPUNTU0N1c3Rv
bVByb3BlcnRpZXNBbmRWYWx1ZXMKIF0gZGljdGlvbmFyeSBET01DU1NDdXN0b21Qcm9wZXJ0eURl
c2NyaXB0b3IgewogICAgIHJlcXVpcmVkIERPTVN0cmluZyBuYW1lOwogICAgICAgICAgICAgIERP
TVN0cmluZyBzeW50YXggICAgICAgPSAiKiI7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvRE9N
Q1NTUmVnaXN0ZXJDdXN0b21Qcm9wZXJ0eS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvY3NzL0RPTUNTU1JlZ2lzdGVyQ3VzdG9tUHJvcGVydHkuaWRsCShyZXZpc2lvbiAyNjYzMTIp
CisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvRE9NQ1NTUmVnaXN0ZXJDdXN0b21Qcm9wZXJ0eS5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTI0LDcgKzI0LDcgQEAKICovCiAKIFsKLSAgICBFbmFibGVkQXRS
dW50aW1lPUNTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXMKKyAgICBFbmFibGVkQnlTZXR0aW5n
PUNTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXMKIF0gcGFydGlhbCBpbnRlcmZhY2UgRE9NQ1NT
TmFtZXNwYWNlIHsKICAgICBbQ2FsbFdpdGg9RG9jdW1lbnQsIE1heVRocm93RXhjZXB0aW9uXSBz
dGF0aWMgdW5kZWZpbmVkIHJlZ2lzdGVyUHJvcGVydHkoRE9NQ1NTQ3VzdG9tUHJvcGVydHlEZXNj
cmlwdG9yIGRlc2NyaXB0b3IpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9CZWZvcmVM
b2FkRXZlbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9CZWZvcmVMb2Fk
RXZlbnQuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vQmVmb3Jl
TG9hZEV2ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNyBAQAogICovCiAKIFsK
LSAgICBFbmFibGVkQXRSdW50aW1lPUxlZ2FjeUJlZm9yZUxvYWRFdmVudAorICAgIEVuYWJsZWRC
eVNldHRpbmc9TGVnYWN5QmVmb3JlTG9hZEV2ZW50CiBdIGludGVyZmFjZSBCZWZvcmVMb2FkRXZl
bnQgOiBFdmVudCB7CiAgICAgY29uc3RydWN0b3IoRE9NU3RyaW5nIHR5cGUsIG9wdGlvbmFsIEJl
Zm9yZUxvYWRFdmVudEluaXQgZXZlbnRJbml0RGljdCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2RvbS9DdXN0b21FbGVtZW50UmVnaXN0cnkuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2RvbS9DdXN0b21FbGVtZW50UmVnaXN0cnkuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBT
b3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5LmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMjQsNyArMjQsNyBAQAogKi8KIAogWwotICAgIEVuYWJsZWRBdFJ1bnRpbWU9Q3VzdG9t
RWxlbWVudHMsCisgICAgRW5hYmxlZEJ5U2V0dGluZz1DdXN0b21FbGVtZW50cywKICAgICBHZW5l
cmF0ZUlzUmVhY2hhYmxlPUltcGxTY3JpcHRFeGVjdXRpb25Db250ZXh0LAogICAgIEpTR2VuZXJh
dGVUb05hdGl2ZU9iamVjdCwKIF0gaW50ZXJmYWNlIEN1c3RvbUVsZW1lbnRSZWdpc3RyeSB7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVyLmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVyLmlkbAkocmV2aXNpb24gMjY2MzEyKQorKysg
U291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM1
LDcgKzM1LDcgQEAKICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGVmZmVjdEFsbG93ZWQ7CiAKICAg
ICAvLyBGSVhNRTogaXRlbXMgc2hvdWxkIHVzZSBbU2FtZU9iamVjdF0gb25jZSB0aGF0IGlzIHN1
cHBvcnRlZC4KLSAgICBbRW5hYmxlZEF0UnVudGltZT1EYXRhVHJhbnNmZXJJdGVtcywgQ2FsbFdp
dGg9RG9jdW1lbnRdIHJlYWRvbmx5IGF0dHJpYnV0ZSBEYXRhVHJhbnNmZXJJdGVtTGlzdCBpdGVt
czsKKyAgICBbRW5hYmxlZEJ5U2V0dGluZz1EYXRhVHJhbnNmZXJJdGVtcywgQ2FsbFdpdGg9RG9j
dW1lbnRdIHJlYWRvbmx5IGF0dHJpYnV0ZSBEYXRhVHJhbnNmZXJJdGVtTGlzdCBpdGVtczsKIAog
ICAgIHVuZGVmaW5lZCBzZXREcmFnSW1hZ2UoRWxlbWVudD8gaW1hZ2UsIGxvbmcgeCwgbG9uZyB5
KTsgLy8gRklYTUU6IEVsZW1lbnQgYXJndW1lbnQgaXMgbm90IG51bGxhYmxlIGluIHRoZSBIVE1M
IHN0YW5kYXJkLgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRlbS5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlckl0ZW0uaWRs
CShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRl
bS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAKICAqLwogCiBbCi0gICAgRW5h
YmxlZEF0UnVudGltZT1EYXRhVHJhbnNmZXJJdGVtcywKKyAgICBFbmFibGVkQnlTZXR0aW5nPURh
dGFUcmFuc2Zlckl0ZW1zLAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiBdIGludGVy
ZmFjZSBEYXRhVHJhbnNmZXJJdGVtIHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5n
IGtpbmQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRlbUxpc3QuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXJJdGVtTGlzdC5p
ZGwJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXJJ
dGVtTGlzdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAKICAqLwogCiBbCi0g
ICAgRW5hYmxlZEF0UnVudGltZT1EYXRhVHJhbnNmZXJJdGVtcywKKyAgICBFbmFibGVkQnlTZXR0
aW5nPURhdGFUcmFuc2Zlckl0ZW1zLAogICAgIEpTR2VuZXJhdGVUb05hdGl2ZU9iamVjdCwKICAg
ICBKU0dlbmVyYXRlVG9KU09iamVjdCwKIF0gaW50ZXJmYWNlIERhdGFUcmFuc2Zlckl0ZW1MaXN0
IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkocmV2aXNpb24gMjY2MzEyKQorKysgU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTUwLDcgKzk1
MCw3IEBAIHZvaWQgRG9jdW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChjb25zdCBDaGkKIAogc3RhdGlj
IEFMV0FZU19JTkxJTkUgUmVmPEhUTUxFbGVtZW50PiBjcmVhdGVVcGdyYWRlQ2FuZGlkYXRlRWxl
bWVudChEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUpCiB7Ci0g
ICAgaWYgKCFSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmN1c3RvbUVs
ZW1lbnRzRW5hYmxlZCgpCisgICAgaWYgKCFkb2N1bWVudC5zZXR0aW5ncygpLmN1c3RvbUVsZW1l
bnRzRW5hYmxlZCgpCiAgICAgICAgIHx8IERvY3VtZW50Ojp2YWxpZGF0ZUN1c3RvbUVsZW1lbnRO
YW1lKG5hbWUubG9jYWxOYW1lKCkpICE9IEN1c3RvbUVsZW1lbnROYW1lVmFsaWRhdGlvblN0YXR1
czo6VmFsaWQpCiAgICAgICAgIHJldHVybiBIVE1MVW5rbm93bkVsZW1lbnQ6OmNyZWF0ZShuYW1l
LCBkb2N1bWVudCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbAkocmV2aXNpb24gMjY2
MzEyKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMTI3LDcgKzEyNyw3IEBAIHR5cGVkZWYgKEhUTUxTY3JpcHRFbGVtZW50IG9yIFNWR1Njcmlw
dEUKICAgICBib29sZWFuIHF1ZXJ5Q29tbWFuZFN0YXRlKERPTVN0cmluZyBjb21tYW5kSWQpOwog
ICAgIGJvb2xlYW4gcXVlcnlDb21tYW5kU3VwcG9ydGVkKERPTVN0cmluZyBjb21tYW5kSWQpOwog
ICAgIERPTVN0cmluZyBxdWVyeUNvbW1hbmRWYWx1ZShET01TdHJpbmcgY29tbWFuZElkKTsKLSAg
ICBbRW5hYmxlZEF0UnVudGltZT1VbmRvTWFuYWdlckFQSV0gcmVhZG9ubHkgYXR0cmlidXRlIFVu
ZG9NYW5hZ2VyIHVuZG9NYW5hZ2VyOworICAgIFtFbmFibGVkQnlTZXR0aW5nPVVuZG9NYW5hZ2Vy
QVBJXSByZWFkb25seSBhdHRyaWJ1dGUgVW5kb01hbmFnZXIgdW5kb01hbmFnZXI7CiAKICAgICAv
LyBTcGVjaWFsIGV2ZW50IGhhbmRsZXIgSURMIGF0dHJpYnV0ZXMgdGhhdCBvbmx5IGFwcGx5IHRv
IERvY3VtZW50IG9iamVjdHMuCiAgICAgW0xlbmllbnRUaGlzXSBhdHRyaWJ1dGUgRXZlbnRIYW5k
bGVyIG9ucmVhZHlzdGF0ZWNoYW5nZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5pZGwJKHJldmlz
aW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMTMxLDcgKzEzMSw3IEBACiAgICAgW05vdEVudW1lcmFibGVdIGF0dHJpYnV0ZSBF
dmVudEhhbmRsZXIgb25iZWZvcmVsb2FkOwogCiAgICAgLy8gTm9uIHN0YW5kYXJkIGV2ZW50IGhh
bmRsZXIgKGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9yZWZlcmVuY2Uvd2Via2l0anMvZWxl
bWVudC8xNjM0MjA1LW9ud2Via2l0bmVlZGtleSkuCi0gICAgW05vdEVudW1lcmFibGUsIENvbmRp
dGlvbmFsPUxFR0FDWV9FTkNSWVBURURfTUVESUEsIEVuYWJsZWRBdFJ1bnRpbWU9TGVnYWN5RW5j
cnlwdGVkTWVkaWFBUEldIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb253ZWJraXRuZWVka2V5Owor
ICAgIFtOb3RFbnVtZXJhYmxlLCBDb25kaXRpb25hbD1MRUdBQ1lfRU5DUllQVEVEX01FRElBLCBF
bmFibGVkQnlTZXR0aW5nPUxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJXSBhdHRyaWJ1dGUgRXZlbnRI
YW5kbGVyIG9ud2Via2l0bmVlZGtleTsKIAogICAgIC8vIE5vbiBzdGFuZGFyZCBldmVudCBoYW5k
bGVyIChodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vcmVmZXJlbmNlL3dlYmtpdGpzL2VsZW1l
bnQvMTYzMzk0My1vbndlYmtpdHByZXNlbnRhdGlvbm1vZGVjaGFuZ2VkKS4KICAgICBbTm90RW51
bWVyYWJsZSwgQ29uZGl0aW9uYWw9VklERU9fUFJFU0VOVEFUSU9OX01PREVdIGF0dHJpYnV0ZSBF
dmVudEhhbmRsZXIgb253ZWJraXRwcmVzZW50YXRpb25tb2RlY2hhbmdlZDsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2RvbS9JbnB1dEV2ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9kb20vSW5wdXRFdmVudC5pZGwJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3Jl
L2RvbS9JbnB1dEV2ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQsNyArMjQsNyBAQAogKi8K
IAogWwotICAgIEVuYWJsZWRBdFJ1bnRpbWU9SW5wdXRFdmVudHMsCisgICAgRW5hYmxlZEJ5U2V0
dGluZz1JbnB1dEV2ZW50cywKIF0gaW50ZXJmYWNlIElucHV0RXZlbnQgOiBVSUV2ZW50IHsKICAg
ICBjb25zdHJ1Y3RvcihET01TdHJpbmcgdHlwZSwgb3B0aW9uYWwgSW5wdXRFdmVudEluaXQgZXZl
bnRJbml0RGljdCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAJKHJldmlzaW9uIDI2NjMxMikKKysr
IFNvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjAsMTAgKzYw
LDEwIEBACiAjaW5jbHVkZSAiUmVuZGVyQm94LmgiCiAjaW5jbHVkZSAiUmVuZGVyVGV4dENvbnRy
b2wuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCi0jaW5jbHVkZSAiUnVudGltZUVuYWJsZWRG
ZWF0dXJlcy5oIgogI2luY2x1ZGUgIlNWR0VsZW1lbnQuaCIKICNpbmNsdWRlICJTY29wZWRFdmVu
dFF1ZXVlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RGlzYWxsb3dlZFNjb3BlLmgiCisjaW5jbHVkZSAi
U2V0dGluZ3MuaCIKICNpbmNsdWRlICJTdG9yYWdlRXZlbnQuaCIKICNpbmNsdWRlICJTdHlsZVJl
c29sdmVyLmgiCiAjaW5jbHVkZSAiU3R5bGVTaGVldENvbnRlbnRzLmgiCkBAIC0yNDIyLDcgKzI0
MjIsNyBAQCB2b2lkIE5vZGU6OmRpc3BhdGNoRE9NQWN0aXZhdGVFdmVudChFdmVuCiAKIGJvb2wg
Tm9kZTo6ZGlzcGF0Y2hCZWZvcmVMb2FkRXZlbnQoY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpCiB7
Ci0gICAgaWYgKCFSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmxlZ2Fj
eUJlZm9yZUxvYWRFdmVudEVuYWJsZWQoKSkKKyAgICBpZiAoIWRvY3VtZW50KCkuc2V0dGluZ3Mo
KS5sZWdhY3lCZWZvcmVMb2FkRXZlbnRFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwog
CiAgICAgaWYgKCFkb2N1bWVudCgpLmhhc0xpc3RlbmVyVHlwZShEb2N1bWVudDo6QkVGT1JFTE9B
RF9MSVNURU5FUikpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vU3RhdGljUmFuZ2UuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9TdGF0aWNSYW5nZS5pZGwJKHJldmlzaW9u
IDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9TdGF0aWNSYW5nZS5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTI0LDcgKzI0LDcgQEAKICAqLwogCiBbCi0gICAgRW5hYmxlZEF0UnVudGltZT1J
bnB1dEV2ZW50cywKKyAgICBFbmFibGVkQnlTZXR0aW5nPUlucHV0RXZlbnRzLAogICAgIEltcGxl
bWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRXhwb3NlZD1XaW5kb3csCiBdIGludGVyZmFjZSBT
dGF0aWNSYW5nZSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCShyZXZpc2lvbiAy
NjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTE4MjEsNyArMTgyMSw3IEBAIHZvaWQgRWRpdG9yOjpyZWRvKCkKIAogdm9pZCBFZGl0
b3I6OnJlZ2lzdGVyQ3VzdG9tVW5kb1N0ZXAoUmVmPEN1c3RvbVVuZG9TdGVwPiYmIHVuZG9TdGVw
KQogewotICAgIEFTU0VSVChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygp
LnVuZG9NYW5hZ2VyQVBJRW5hYmxlZCgpKTsKKyAgICBBU1NFUlQobV9kb2N1bWVudC5zZXR0aW5n
cygpLnVuZG9NYW5hZ2VyQVBJRW5hYmxlZCgpKTsKICAgICBpZiAoYXV0byogY2xpZW50ID0gdGhp
cy0+Y2xpZW50KCkpCiAgICAgICAgIGNsaWVudC0+cmVnaXN0ZXJVbmRvU3RlcChXVEZNb3ZlKHVu
ZG9TdGVwKSk7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50
LmNwcAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9y
RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4NCw3ICszODQsNyBAQCB2b2lkIEhUTUxB
bmNob3JFbGVtZW50OjpzZW5kUGluZ3MoY29uc3QgCiAjaWYgVVNFKFNZU1RFTV9QUkVWSUVXKQog
Ym9vbCBIVE1MQW5jaG9yRWxlbWVudDo6aXNTeXN0ZW1QcmV2aWV3TGluaygpCiB7Ci0gICAgaWYg
KCFSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnN5c3RlbVByZXZpZXdF
bmFibGVkKCkpCisgICAgaWYgKCFkb2N1bWVudCgpLnNldHRpbmdzKCkuc3lzdGVtUHJldmlld0Vu
YWJsZWQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgc3RhdGljIE1haW5UaHJlYWRO
ZXZlckRlc3Ryb3llZDxjb25zdCBBdG9tU3RyaW5nPiBzeXN0ZW1QcmV2aWV3UmVsVmFsdWUoImFy
IiwgQXRvbVN0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOwpAQCAtNDEyLDcgKzQxMiw3IEBA
IE9wdGlvbmFsPEFkQ2xpY2tBdHRyaWJ1dGlvbj4gSFRNTEFuY2hvckUKIAogICAgIGF1dG8qIHBh
Z2UgPSBkb2N1bWVudCgpLnBhZ2UoKTsKICAgICBpZiAoIXBhZ2UgfHwgcGFnZS0+c2Vzc2lvbklE
KCkuaXNFcGhlbWVyYWwoKQotICAgICAgICB8fCAhUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5hZENsaWNrQXR0cmlidXRpb25FbmFibGVkKCkKKyAgICAgICAgfHwgIWRv
Y3VtZW50KCkuc2V0dGluZ3MoKS5hZENsaWNrQXR0cmlidXRpb25FbmFibGVkKCkKICAgICAgICAg
fHwgIVVzZXJHZXN0dXJlSW5kaWNhdG9yOjpwcm9jZXNzaW5nVXNlckdlc3R1cmUoKSkKICAgICAg
ICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIApAQCAtNDg2LDcgKzQ4Niw3IEBAIHZvaWQgSFRNTEFu
Y2hvckVsZW1lbnQ6OmhhbmRsZUNsaWNrKEV2ZW4KIAogICAgIFN0cmluZyBkb3dubG9hZEF0dHJp
YnV0ZTsKICNpZiBFTkFCTEUoRE9XTkxPQURfQVRUUklCVVRFKQotICAgIGlmIChSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmRvd25sb2FkQXR0cmlidXRlRW5hYmxlZCgp
KSB7CisgICAgaWYgKGRvY3VtZW50KCkuc2V0dGluZ3MoKS5kb3dubG9hZEF0dHJpYnV0ZUVuYWJs
ZWQoKSkgewogICAgICAgICAvLyBJZ25vcmUgdGhlIGRvd25sb2FkIGF0dHJpYnV0ZSBjb21wbGV0
ZWx5IGlmIHRoZSBocmVmIFVSTCBpcyBjcm9zcyBvcmlnaW4uCiAgICAgICAgIGJvb2wgaXNTYW1l
T3JpZ2luID0gY29tcGxldGVkVVJMLnByb3RvY29sSXNEYXRhKCkgfHwgZG9jdW1lbnQoKS5zZWN1
cml0eU9yaWdpbigpLmNhblJlcXVlc3QoY29tcGxldGVkVVJMKTsKICAgICAgICAgaWYgKGlzU2Ft
ZU9yaWdpbikKQEAgLTQ5OCw3ICs0OTgsNyBAQCB2b2lkIEhUTUxBbmNob3JFbGVtZW50OjpoYW5k
bGVDbGljayhFdmVuCiAKICAgICBTeXN0ZW1QcmV2aWV3SW5mbyBzeXN0ZW1QcmV2aWV3SW5mbzsK
ICNpZiBVU0UoU1lTVEVNX1BSRVZJRVcpCi0gICAgc3lzdGVtUHJldmlld0luZm8uaXNQcmV2aWV3
ID0gaXNTeXN0ZW1QcmV2aWV3TGluaygpICYmIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJl
ZEZlYXR1cmVzKCkuc3lzdGVtUHJldmlld0VuYWJsZWQoKTsKKyAgICBzeXN0ZW1QcmV2aWV3SW5m
by5pc1ByZXZpZXcgPSBpc1N5c3RlbVByZXZpZXdMaW5rKCkgJiYgZG9jdW1lbnQoKS5zZXR0aW5n
cygpLnN5c3RlbVByZXZpZXdFbmFibGVkKCk7CiAKICAgICBpZiAoc3lzdGVtUHJldmlld0luZm8u
aXNQcmV2aWV3KSB7CiAgICAgICAgIHN5c3RlbVByZXZpZXdJbmZvLmVsZW1lbnQuZWxlbWVudElk
ZW50aWZpZXIgPSBkb2N1bWVudCgpLmlkZW50aWZpZXJGb3JFbGVtZW50KCp0aGlzKTsKQEAgLTUx
NSw3ICs1MTUsNyBAQCB2b2lkIEhUTUxBbmNob3JFbGVtZW50OjpoYW5kbGVDbGljayhFdmVuCiAg
ICAgT3B0aW9uYWw8TmV3RnJhbWVPcGVuZXJQb2xpY3k+IG5ld0ZyYW1lT3BlbmVyUG9saWN5Owog
ICAgIGlmIChoYXNSZWwoUmVsYXRpb246Ok9wZW5lcikpCiAgICAgICAgIG5ld0ZyYW1lT3BlbmVy
UG9saWN5ID0gTmV3RnJhbWVPcGVuZXJQb2xpY3k6OkFsbG93OwotICAgIGVsc2UgaWYgKGhhc1Jl
bChSZWxhdGlvbjo6Tm9PcGVuZXIpIHx8IChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRG
ZWF0dXJlcygpLmJsYW5rQW5jaG9yVGFyZ2V0SW1wbGllc05vT3BlbmVyRW5hYmxlZCgpICYmIGVx
dWFsSWdub3JpbmdBU0NJSUNhc2UoZWZmZWN0aXZlVGFyZ2V0LCAiX2JsYW5rIikpKQorICAgIGVs
c2UgaWYgKGhhc1JlbChSZWxhdGlvbjo6Tm9PcGVuZXIpIHx8IChkb2N1bWVudCgpLnNldHRpbmdz
KCkuYmxhbmtBbmNob3JUYXJnZXRJbXBsaWVzTm9PcGVuZXJFbmFibGVkKCkgJiYgZXF1YWxJZ25v
cmluZ0FTQ0lJQ2FzZShlZmZlY3RpdmVUYXJnZXQsICJfYmxhbmsiKSkpCiAgICAgICAgIG5ld0Zy
YW1lT3BlbmVyUG9saWN5ID0gTmV3RnJhbWVPcGVuZXJQb2xpY3k6OlN1cHByZXNzOwogCiAgICAg
YXV0byBhZENsaWNrQXR0cmlidXRpb24gPSBwYXJzZUFkQ2xpY2tBdHRyaWJ1dGlvbigpOwpAQCAt
NjMxLDcgKzYzMSw3IEBAIFN0cmluZyBIVE1MQW5jaG9yRWxlbWVudDo6cmVmZXJyZXJQb2xpY3kK
IAogUmVmZXJyZXJQb2xpY3kgSFRNTEFuY2hvckVsZW1lbnQ6OnJlZmVycmVyUG9saWN5KCkgY29u
c3QKIHsKLSAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5y
ZWZlcnJlclBvbGljeUF0dHJpYnV0ZUVuYWJsZWQoKSkKKyAgICBpZiAoZG9jdW1lbnQoKS5zZXR0
aW5ncygpLnJlZmVycmVyUG9saWN5QXR0cmlidXRlRW5hYmxlZCgpKQogICAgICAgICByZXR1cm4g
cGFyc2VSZWZlcnJlclBvbGljeShhdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKHJlZmVy
cmVycG9saWN5QXR0ciksIFJlZmVycmVyUG9saWN5U291cmNlOjpSZWZlcnJlclBvbGljeUF0dHJp
YnV0ZSkudmFsdWVPcihSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmcpOwogICAgIHJldHVybiBS
ZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmc7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxBbmNob3JFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxBbmNob3JFbGVtZW50LmlkbAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTE5LDExICsx
OSwxMSBAQAogICovCiAKIGludGVyZmFjZSBIVE1MQW5jaG9yRWxlbWVudCA6IEhUTUxFbGVtZW50
IHsKLSAgICBbQ0VSZWFjdGlvbnM9Tm90TmVlZGVkLCBFbmFibGVkQXRSdW50aW1lPUFkQ2xpY2tB
dHRyaWJ1dGlvbiwgUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBhZGNhbXBhaWduaWQ7Ci0g
ICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRlZCwgRW5hYmxlZEF0UnVudGltZT1BZENsaWNrQXR0cmli
dXRpb24sIFJlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgYWRkZXN0aW5hdGlvbjsKKyAgICBb
Q0VSZWFjdGlvbnM9Tm90TmVlZGVkLCBFbmFibGVkQnlTZXR0aW5nPUFkQ2xpY2tBdHRyaWJ1dGlv
biwgUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBhZGNhbXBhaWduaWQ7CisgICAgW0NFUmVh
Y3Rpb25zPU5vdE5lZWRlZCwgRW5hYmxlZEJ5U2V0dGluZz1BZENsaWNrQXR0cmlidXRpb24sIFJl
ZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgYWRkZXN0aW5hdGlvbjsKICAgICBbQ0VSZWFjdGlv
bnM9Tm90TmVlZGVkLCBSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGNoYXJzZXQ7CiAgICAg
W0NFUmVhY3Rpb25zPU5vdE5lZWRlZCwgUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBjb29y
ZHM7Ci0gICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRlZCwgQ29uZGl0aW9uYWw9RE9XTkxPQURfQVRU
UklCVVRFLCBFbmFibGVkQXRSdW50aW1lPURvd25sb2FkQXR0cmlidXRlLCBSZWZsZWN0XSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIGRvd25sb2FkOworICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWQsIENv
bmRpdGlvbmFsPURPV05MT0FEX0FUVFJJQlVURSwgRW5hYmxlZEJ5U2V0dGluZz1Eb3dubG9hZEF0
dHJpYnV0ZSwgUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBkb3dubG9hZDsKICAgICBbQ0VS
ZWFjdGlvbnM9Tm90TmVlZGVkLCBSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGhyZWZsYW5n
OwogICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWQsIFJlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJp
bmcgbmFtZTsKICAgICBbQ0VSZWFjdGlvbnM9Tm90TmVlZGVkLCBSZWZsZWN0XSBhdHRyaWJ1dGUg
VVNWU3RyaW5nIHBpbmc7CkBAIC0zNyw3ICszNyw3IEBAIGludGVyZmFjZSBIVE1MQW5jaG9yRWxl
bWVudCA6IEhUTUxFbGVtZW4KIAogICAgIFtQdXRGb3J3YXJkcz12YWx1ZV0gcmVhZG9ubHkgYXR0
cmlidXRlIERPTVRva2VuTGlzdCByZWxMaXN0OwogCi0gICAgW0VuYWJsZWRBdFJ1bnRpbWU9UmVm
ZXJyZXJQb2xpY3lBdHRyaWJ1dGUsIEltcGxlbWVudGVkQXM9cmVmZXJyZXJQb2xpY3lGb3JCaW5k
aW5ncywgQ0VSZWFjdGlvbnM9Tm90TmVlZGVkXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlZmVycmVy
UG9saWN5OworICAgIFtFbmFibGVkQnlTZXR0aW5nPVJlZmVycmVyUG9saWN5QXR0cmlidXRlLCBJ
bXBsZW1lbnRlZEFzPXJlZmVycmVyUG9saWN5Rm9yQmluZGluZ3MsIENFUmVhY3Rpb25zPU5vdE5l
ZWRlZF0gYXR0cmlidXRlIERPTVN0cmluZyByZWZlcnJlclBvbGljeTsKIH07CiAKIEhUTUxBbmNo
b3JFbGVtZW50IGltcGxlbWVudHMgSFRNTEh5cGVybGlua0VsZW1lbnRVdGlsczsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFyZWFFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxBcmVhRWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjMxMikKKysr
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFyZWFFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMjcsNyArMjcsNyBAQCBpbnRlcmZhY2UgSFRNTEFyZWFFbGVtZW50IDogSFRNTEVsZW1lbnQg
CiAgICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRlZCwgUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmlu
ZyBzaGFwZTsKICAgICBbQ0VSZWFjdGlvbnM9Tm90TmVlZGVkLCBSZWZsZWN0XSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIHRhcmdldDsKIAotICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWQsIENvbmRpdGlv
bmFsPURPV05MT0FEX0FUVFJJQlVURSwgRW5hYmxlZEF0UnVudGltZT1Eb3dubG9hZEF0dHJpYnV0
ZSwgUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBkb3dubG9hZDsKKyAgICBbQ0VSZWFjdGlv
bnM9Tm90TmVlZGVkLCBDb25kaXRpb25hbD1ET1dOTE9BRF9BVFRSSUJVVEUsIEVuYWJsZWRCeVNl
dHRpbmc9RG93bmxvYWRBdHRyaWJ1dGUsIFJlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgZG93
bmxvYWQ7CiAKICAgICBbUHV0Rm9yd2FyZHM9dmFsdWVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01U
b2tlbkxpc3QgcmVsTGlzdDsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCdXR0
b25FbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCdXR0
b25FbGVtZW50LmlkbAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MQnV0dG9uRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM3LDcgKzM3LDcgQEAgaW50
ZXJmYWNlIEhUTUxCdXR0b25FbGVtZW50IDogSFRNTEVsZW1lbgogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBWYWxpZGl0eVN0YXRlIHZhbGlkaXR5OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01T
dHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2U7CiAgICAgYm9vbGVhbiBjaGVja1ZhbGlkaXR5KCk7Ci0g
ICAgW0VuYWJsZWRBdFJ1bnRpbWU9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0gYm9vbGVhbiBy
ZXBvcnRWYWxpZGl0eSgpOworICAgIFtFbmFibGVkQnlTZXR0aW5nPUludGVyYWN0aXZlRm9ybVZh
bGlkYXRpb25dIGJvb2xlYW4gcmVwb3J0VmFsaWRpdHkoKTsKICAgICB1bmRlZmluZWQgc2V0Q3Vz
dG9tVmFsaWRpdHkoRE9NU3RyaW5nIGVycm9yKTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBO
b2RlTGlzdCBsYWJlbHM7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGaWVsZFNldEVs
ZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZpZWxkU2V0
RWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEZpZWxkU2V0RWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDYgQEAgaW50
ZXJmYWNlIEhUTUxGaWVsZFNldEVsZW1lbnQgOiBIVE1MRWxlbQogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBWYWxpZGl0eVN0YXRlICAgdmFsaWRpdHk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERP
TVN0cmluZyAgICAgICB2YWxpZGF0aW9uTWVzc2FnZTsKICAgICBib29sZWFuICBjaGVja1ZhbGlk
aXR5KCk7Ci0gICAgW0VuYWJsZWRBdFJ1bnRpbWU9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0g
Ym9vbGVhbiByZXBvcnRWYWxpZGl0eSgpOworICAgIFtFbmFibGVkQnlTZXR0aW5nPUludGVyYWN0
aXZlRm9ybVZhbGlkYXRpb25dIGJvb2xlYW4gcmVwb3J0VmFsaWRpdHkoKTsKICAgICB1bmRlZmlu
ZWQgc2V0Q3VzdG9tVmFsaWRpdHkoRE9NU3RyaW5nIGVycm9yKTsKIH07CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQx
LDUgKzQxLDUgQEAKICAgICBbSW1wbGVtZW50ZWRBcz1zdWJtaXRGcm9tSmF2YVNjcmlwdF0gdW5k
ZWZpbmVkIHN1Ym1pdCgpOwogICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWRdIHVuZGVmaW5lZCBy
ZXNldCgpOwogICAgIGJvb2xlYW4gY2hlY2tWYWxpZGl0eSgpOwotICAgIFtFbmFibGVkQXRSdW50
aW1lPUludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25dIGJvb2xlYW4gcmVwb3J0VmFsaWRpdHkoKTsK
KyAgICBbRW5hYmxlZEJ5U2V0dGluZz1JbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uXSBib29sZWFu
IHJlcG9ydFZhbGlkaXR5KCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZy
YW1lRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZy
YW1lRWxlbWVudC5jcHAJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTElGcmFtZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw4ICszMCw4IEBACiAj
aW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJSZW5k
ZXJJRnJhbWUuaCIKLSNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCiAjaW5jbHVk
ZSAiU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyLmgiCisjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNp
bmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC0xMzAsNyArMTMwLDcgQEAgU3RyaW5nIEhUTUxJRnJhbWVFbGVtZW50OjpyZWZlcnJlclBvbGlj
eQogCiBSZWZlcnJlclBvbGljeSBIVE1MSUZyYW1lRWxlbWVudDo6cmVmZXJyZXJQb2xpY3koKSBj
b25zdAogewotICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygp
LnJlZmVycmVyUG9saWN5QXR0cmlidXRlRW5hYmxlZCgpKQorICAgIGlmIChkb2N1bWVudCgpLnNl
dHRpbmdzKCkucmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGVFbmFibGVkKCkpCiAgICAgICAgIHJldHVy
biBwYXJzZVJlZmVycmVyUG9saWN5KGF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24ocmVm
ZXJyZXJwb2xpY3lBdHRyKSwgUmVmZXJyZXJQb2xpY3lTb3VyY2U6OlJlZmVycmVyUG9saWN5QXR0
cmlidXRlKS52YWx1ZU9yKFJlZmVycmVyUG9saWN5OjpFbXB0eVN0cmluZyk7CiAgICAgcmV0dXJu
IFJlZmVycmVyUG9saWN5OjpFbXB0eVN0cmluZzsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTElGcmFtZUVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTElGcmFtZUVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDIsNSAr
NDIsNSBAQCBpbnRlcmZhY2UgSFRNTElGcmFtZUVsZW1lbnQgOiBIVE1MRWxlbWVuCiAKICAgICBb
Q2hlY2tTZWN1cml0eUZvck5vZGUsIE1heVRocm93RXhjZXB0aW9uXSBEb2N1bWVudCBnZXRTVkdE
b2N1bWVudCgpOwogCi0gICAgW0VuYWJsZWRBdFJ1bnRpbWU9UmVmZXJyZXJQb2xpY3lBdHRyaWJ1
dGUsIEltcGxlbWVudGVkQXM9cmVmZXJyZXJQb2xpY3lGb3JCaW5kaW5ncywgQ0VSZWFjdGlvbnM9
Tm90TmVlZGVkXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlZmVycmVyUG9saWN5OworICAgIFtFbmFi
bGVkQnlTZXR0aW5nPVJlZmVycmVyUG9saWN5QXR0cmlidXRlLCBJbXBsZW1lbnRlZEFzPXJlZmVy
cmVyUG9saWN5Rm9yQmluZGluZ3MsIENFUmVhY3Rpb25zPU5vdE5lZWRlZF0gYXR0cmlidXRlIERP
TVN0cmluZyByZWZlcnJlclBvbGljeTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxJbWFnZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEltYWdlRWxlbWVudC5jcHAJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEltYWdlRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1MSw3ICsyNTEsNyBA
QCB2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQoCiB7CiAgICAgSFRNTEVs
ZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQobmFtZSwgb2xkVmFsdWUsIG5ld1ZhbHVlLCByZWFzb24p
OwogCi0gICAgaWYgKG5hbWUgPT0gcmVmZXJyZXJwb2xpY3lBdHRyICYmIFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkucmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGVFbmFibGVk
KCkpIHsKKyAgICBpZiAobmFtZSA9PSByZWZlcnJlcnBvbGljeUF0dHIgJiYgZG9jdW1lbnQoKS5z
ZXR0aW5ncygpLnJlZmVycmVyUG9saWN5QXR0cmlidXRlRW5hYmxlZCgpKSB7CiAgICAgICAgIGF1
dG8gb2xkUmVmZXJyZXJQb2xpY3kgPSBwYXJzZVJlZmVycmVyUG9saWN5KG9sZFZhbHVlLCBSZWZl
cnJlclBvbGljeVNvdXJjZTo6UmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGUpLnZhbHVlT3IoUmVmZXJy
ZXJQb2xpY3k6OkVtcHR5U3RyaW5nKTsKICAgICAgICAgYXV0byBuZXdSZWZlcnJlclBvbGljeSA9
IHBhcnNlUmVmZXJyZXJQb2xpY3kobmV3VmFsdWUsIFJlZmVycmVyUG9saWN5U291cmNlOjpSZWZl
cnJlclBvbGljeUF0dHJpYnV0ZSkudmFsdWVPcihSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmcp
OwogICAgICAgICBpZiAob2xkUmVmZXJyZXJQb2xpY3kgIT0gbmV3UmVmZXJyZXJQb2xpY3kpCkBA
IC04ODIsNyArODgyLDcgQEAgYm9vbCBIVE1MSW1hZ2VFbGVtZW50Ojp3aWxsUmVzcG9uZFRvTW91
cwogI2lmIFVTRShTWVNURU1fUFJFVklFVykKIGJvb2wgSFRNTEltYWdlRWxlbWVudDo6aXNTeXN0
ZW1QcmV2aWV3SW1hZ2UoKSBjb25zdAogewotICAgIGlmICghUnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2hhcmVkRmVhdHVyZXMoKS5zeXN0ZW1QcmV2aWV3RW5hYmxlZCgpKQorICAgIGlmICghZG9j
dW1lbnQoKS5zZXR0aW5ncygpLnN5c3RlbVByZXZpZXdFbmFibGVkKCkpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKIAogICAgIGF1dG8qIHBhcmVudCA9IHBhcmVudEVsZW1lbnQoKTsKQEAgLTk3MSw3
ICs5NzEsNyBAQCBTdHJpbmcgSFRNTEltYWdlRWxlbWVudDo6cmVmZXJyZXJQb2xpY3lGCiAKIFJl
ZmVycmVyUG9saWN5IEhUTUxJbWFnZUVsZW1lbnQ6OnJlZmVycmVyUG9saWN5KCkgY29uc3QKIHsK
LSAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5yZWZlcnJl
clBvbGljeUF0dHJpYnV0ZUVuYWJsZWQoKSkKKyAgICBpZiAoZG9jdW1lbnQoKS5zZXR0aW5ncygp
LnJlZmVycmVyUG9saWN5QXR0cmlidXRlRW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gcGFyc2VS
ZWZlcnJlclBvbGljeShhdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKHJlZmVycmVycG9s
aWN5QXR0ciksIFJlZmVycmVyUG9saWN5U291cmNlOjpSZWZlcnJlclBvbGljeUF0dHJpYnV0ZSku
dmFsdWVPcihSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmcpOwogICAgIHJldHVybiBSZWZlcnJl
clBvbGljeTo6RW1wdHlTdHJpbmc7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJ
bWFnZUVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElt
YWdlRWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEltYWdlRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDggKzQ0LDggQEAKIAog
ICAgIFtDb25kaXRpb25hbD1BVFRBQ0hNRU5UX0VMRU1FTlQsIEVuYWJsZWRBdFJ1bnRpbWU9QXR0
YWNobWVudEVsZW1lbnRdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgYXR0YWNobWVudElk
ZW50aWZpZXI7CiAKLSAgICBbRW5hYmxlZEF0UnVudGltZT1SZWZlcnJlclBvbGljeUF0dHJpYnV0
ZSwgSW1wbGVtZW50ZWRBcz1yZWZlcnJlclBvbGljeUZvckJpbmRpbmdzLCBDRVJlYWN0aW9ucz1O
b3ROZWVkZWRdIGF0dHJpYnV0ZSBET01TdHJpbmcgcmVmZXJyZXJQb2xpY3k7Ci0gICAgW0NFUmVh
Y3Rpb25zLCBFbmFibGVkQXRSdW50aW1lPUxhenlJbWFnZUxvYWRpbmcsIEltcGxlbWVudGVkQXM9
bG9hZGluZ0ZvckJpbmRpbmdzXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGxvYWRpbmc7CisgICAgW0Vu
YWJsZWRCeVNldHRpbmc9UmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGUsIEltcGxlbWVudGVkQXM9cmVm
ZXJyZXJQb2xpY3lGb3JCaW5kaW5ncywgQ0VSZWFjdGlvbnM9Tm90TmVlZGVkXSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIHJlZmVycmVyUG9saWN5OworICAgIFtDRVJlYWN0aW9ucywgRW5hYmxlZEJ5U2V0
dGluZz1MYXp5SW1hZ2VMb2FkaW5nLCBJbXBsZW1lbnRlZEFzPWxvYWRpbmdGb3JCaW5kaW5nc10g
YXR0cmlidXRlIERPTVN0cmluZyBsb2FkaW5nOwogCiAgICAgLy8gRXh0ZW5zaW9ucwogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGNvbXBsZXRlOwpJbmRleDogU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC03MSw3ICs3
MSw3IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFZhbGlkaXR5U3RhdGUgdmFsaWRpdHk7CiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZTsKICAgICBi
b29sZWFuIGNoZWNrVmFsaWRpdHkoKTsKLSAgICBbRW5hYmxlZEF0UnVudGltZT1JbnRlcmFjdGl2
ZUZvcm1WYWxpZGF0aW9uXSBib29sZWFuIHJlcG9ydFZhbGlkaXR5KCk7CisgICAgW0VuYWJsZWRC
eVNldHRpbmc9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0gYm9vbGVhbiByZXBvcnRWYWxpZGl0
eSgpOwogICAgIHVuZGVmaW5lZCBzZXRDdXN0b21WYWxpZGl0eShET01TdHJpbmcgZXJyb3IpOwog
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5vZGVMaXN0IGxhYmVsczsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEtleWdlbkVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEtleWdlbkVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxLZXlnZW5FbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpA
QCAtNDMsNyArNDMsNyBAQCBpbnRlcmZhY2UgSFRNTEtleWdlbkVsZW1lbnQgOiBIVE1MRWxlbWVu
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFZhbGlkaXR5U3RhdGUgdmFsaWRpdHk7CiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZTsKICAgICBib29sZWFu
IGNoZWNrVmFsaWRpdHkoKTsKLSAgICBbRW5hYmxlZEF0UnVudGltZT1JbnRlcmFjdGl2ZUZvcm1W
YWxpZGF0aW9uXSBib29sZWFuIHJlcG9ydFZhbGlkaXR5KCk7CisgICAgW0VuYWJsZWRCeVNldHRp
bmc9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0gYm9vbGVhbiByZXBvcnRWYWxpZGl0eSgpOwog
ICAgIHVuZGVmaW5lZCBzZXRDdXN0b21WYWxpZGl0eShET01TdHJpbmcgZXJyb3IpOwogCiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIE5vZGVMaXN0IGxhYmVsczsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTExpbmtFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxMaW5rRWxlbWVudC5jcHAJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTIsNyArNTIs
NiBAQAogI2luY2x1ZGUgIk1vdXNlRXZlbnQuaCIKICNpbmNsdWRlICJQYXJzZWRDb250ZW50VHlw
ZS5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCi0jaW5jbHVkZSAiUnVudGltZUVuYWJsZWRG
ZWF0dXJlcy5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2V0dGlu
Z3MuaCIKICNpbmNsdWRlICJTdHlsZUluaGVyaXRlZERhdGEuaCIKQEAgLTI0MSw5ICsyNDAsNyBA
QCBTdHJpbmcgSFRNTExpbmtFbGVtZW50OjphcygpIGNvbnN0CiAgICAgICAgIHx8IGVxdWFsTGV0
dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGFzLCAiaW1hZ2UiKQogICAgICAgICB8fCBlcXVhbExldHRl
cnNJZ25vcmluZ0FTQ0lJQ2FzZShhcywgInNjcmlwdCIpCiAgICAgICAgIHx8IGVxdWFsTGV0dGVy
c0lnbm9yaW5nQVNDSUlDYXNlKGFzLCAic3R5bGUiKQotICAgICAgICB8fCAoUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5tZWRpYVByZWxvYWRpbmdFbmFibGVkKCkKLSAg
ICAgICAgICAgICYmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShhcywgInZpZGVvIikK
LSAgICAgICAgICAgICAgICB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShhcywgImF1
ZGlvIikpKQorICAgICAgICB8fCAoZG9jdW1lbnQoKS5zZXR0aW5ncygpLm1lZGlhUHJlbG9hZGlu
Z0VuYWJsZWQoKSAmJiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoYXMsICJ2aWRlbyIp
IHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGFzLCAiYXVkaW8iKSkpCiAgICAgICAg
IHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGFzLCAidHJhY2siKQogICAgICAgICB8
fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShhcywgImZvbnQiKSkKICAgICAgICAgcmV0
dXJuIGFzLmNvbnZlcnRUb0FTQ0lJTG93ZXJjYXNlKCk7CkBAIC02NzgsNyArNjc1LDcgQEAgU3Ry
aW5nIEhUTUxMaW5rRWxlbWVudDo6cmVmZXJyZXJQb2xpY3lGbwogCiBSZWZlcnJlclBvbGljeSBI
VE1MTGlua0VsZW1lbnQ6OnJlZmVycmVyUG9saWN5KCkgY29uc3QKIHsKLSAgICBpZiAoUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5yZWZlcnJlclBvbGljeUF0dHJpYnV0
ZUVuYWJsZWQoKSkKKyAgICBpZiAoZG9jdW1lbnQoKS5zZXR0aW5ncygpLnJlZmVycmVyUG9saWN5
QXR0cmlidXRlRW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gcGFyc2VSZWZlcnJlclBvbGljeShh
dHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKHJlZmVycmVycG9saWN5QXR0ciksIFJlZmVy
cmVyUG9saWN5U291cmNlOjpSZWZlcnJlclBvbGljeUF0dHJpYnV0ZSkudmFsdWVPcihSZWZlcnJl
clBvbGljeTo6RW1wdHlTdHJpbmcpOwogICAgIHJldHVybiBSZWZlcnJlclBvbGljeTo6RW1wdHlT
dHJpbmc7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuaWRsCShy
ZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTM1LDggKzM1LDggQEAKICAgICBbQ0VSZWFjdGlvbnM9Tm90
TmVlZGVkLCBSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHR5cGU7CiAgICAgW0NFUmVhY3Rp
b25zPU5vdE5lZWRlZF0gYXR0cmlidXRlIERPTVN0cmluZyBhczsKICAgICBbQ0VSZWFjdGlvbnM9
Tm90TmVlZGVkXSBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBjcm9zc09yaWdpbjsKLSAgICBbQ0VSZWFj
dGlvbnM9Tm90TmVlZGVkLCBSZWZsZWN0LCBFbmFibGVkQXRSdW50aW1lPUxpbmtQcmVsb2FkUmVz
cG9uc2l2ZUltYWdlc10gYXR0cmlidXRlIERPTVN0cmluZyBpbWFnZVNyY3NldDsKLSAgICBbQ0VS
ZWFjdGlvbnM9Tm90TmVlZGVkLCBSZWZsZWN0LCBFbmFibGVkQXRSdW50aW1lPUxpbmtQcmVsb2Fk
UmVzcG9uc2l2ZUltYWdlc10gYXR0cmlidXRlIERPTVN0cmluZyBpbWFnZVNpemVzOworICAgIFtD
RVJlYWN0aW9ucz1Ob3ROZWVkZWQsIFJlZmxlY3QsIEVuYWJsZWRCeVNldHRpbmc9TGlua1ByZWxv
YWRSZXNwb25zaXZlSW1hZ2VzXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGltYWdlU3Jjc2V0OworICAg
IFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWQsIFJlZmxlY3QsIEVuYWJsZWRCeVNldHRpbmc9TGlua1By
ZWxvYWRSZXNwb25zaXZlSW1hZ2VzXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGltYWdlU2l6ZXM7CiAK
ICAgICAvLyBET00gTGV2ZWwgMiBTdHlsZQogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTdHlsZVNo
ZWV0IHNoZWV0OwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3Bw
CShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDUxLDcgKzI0NTEsNyBAQCB2b2lkIEhUTUxNZWRp
YUVsZW1lbnQ6OnVwZGF0ZVNob3VsZENvbnRpCiB7CiAgICAgaWYgKCFtX3BsYXllcikKICAgICAg
ICAgcmV0dXJuOwotICAgIGJvb2wgc2hvdWxkQ29udGludWUgPSBoYXNFdmVudExpc3RlbmVycygi
d2Via2l0bmVlZGtleSIpIHx8IChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJl
cygpLmVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZCgpICYmICFkb2N1bWVudCgpLnF1aXJrcygpLmhh
c0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydFF1aXJrKCkpOworICAgIGJvb2wgc2hvdWxk
Q29udGludWUgPSBoYXNFdmVudExpc3RlbmVycygid2Via2l0bmVlZGtleSIpIHx8IChkb2N1bWVu
dCgpLnNldHRpbmdzKCkuZW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKCkgJiYgIWRvY3VtZW50KCku
cXVpcmtzKCkuaGFzQnJva2VuRW5jcnlwdGVkTWVkaWFBUElTdXBwb3J0UXVpcmsoKSk7CiAgICAg
bV9wbGF5ZXItPnNldFNob3VsZENvbnRpbnVlQWZ0ZXJLZXlOZWVkZWQoc2hvdWxkQ29udGludWUp
OwogfQogI2VuZGlmCkBAIC0yNDYzLDE0ICsyNDYzLDE0IEBAIFJlZlB0cjxBcnJheUJ1ZmZlcj4g
SFRNTE1lZGlhRWxlbWVudDo6bWUKIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXll
cktleU5lZWRlZChVaW50OEFycmF5KiBpbml0RGF0YSkKIHsKLSAgICBpZiAoIVJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkubGVnYWN5RW5jcnlwdGVkTWVkaWFBUElFbmFi
bGVkKCkpCisgICAgaWYgKCFkb2N1bWVudCgpLnNldHRpbmdzKCkubGVnYWN5RW5jcnlwdGVkTWVk
aWFBUElFbmFibGVkKCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmICghaGFzRXZlbnRMaXN0
ZW5lcnMoIndlYmtpdG5lZWRrZXkiKQogI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCiAgICAg
ICAgIC8vIE9ubHkgZmlyZSBhbiBlcnJvciBpZiBFTkNSWVBURURfTUVESUEgaXMgbm90IGVuYWJs
ZWQsIHRvIGdpdmUgY2xpZW50cyBvZiB0aGUKICAgICAgICAgLy8gImVuY3J5cHRlZCIgZXZlbnQg
YSBjaGFuY2UgdG8gaGFuZGxlIGl0IHdpdGhvdXQgcmVzdWx0aW5nIGluIGEgc3ludGhldGljIGVy
cm9yLgotICAgICAgICAmJiAoIVJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVz
KCkuZW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKCkgfHwgZG9jdW1lbnQoKS5xdWlya3MoKS5oYXNC
cm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnRRdWlyaygpKQorICAgICAgICAmJiAoIWRvY3Vt
ZW50KCkuc2V0dGluZ3MoKS5lbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQoKSB8fCBkb2N1bWVudCgp
LnF1aXJrcygpLmhhc0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydFF1aXJrKCkpCiAjZW5k
aWYKICAgICAgICAgKSB7CiAgICAgICAgIG1fZXJyb3IgPSBNZWRpYUVycm9yOjpjcmVhdGUoTWVk
aWFFcnJvcjo6TUVESUFfRVJSX0VOQ1JZUFRFRCk7CkBAIC0yNDk4LDcgKzI0OTgsNyBAQCBTdHJp
bmcgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJNZWRpCiAKIHZvaWQgSFRNTE1lZGlhRWxl
bWVudDo6d2Via2l0U2V0TWVkaWFLZXlzKFdlYktpdE1lZGlhS2V5cyogbWVkaWFLZXlzKQogewot
ICAgIGlmICghUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5sZWdhY3lF
bmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQoKSkKKyAgICBpZiAoIWRvY3VtZW50KCkuc2V0dGluZ3Mo
KS5sZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgaWYgKG1fd2ViS2l0TWVkaWFLZXlzID09IG1lZGlhS2V5cykKQEAgLTI1MTMsNyArMjUxMyw3
IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6d2Via2l0U2V0TWVkaWFLZXkKIAogdm9pZCBIVE1M
TWVkaWFFbGVtZW50OjprZXlBZGRlZCgpCiB7Ci0gICAgaWYgKCFSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzaGFyZWRGZWF0dXJlcygpLmxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZCgpKQor
ICAgIGlmICghZG9jdW1lbnQoKS5zZXR0aW5ncygpLmxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJRW5h
YmxlZCgpKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAobV9wbGF5ZXIpCkBAIC0yNjA0LDcg
KzI2MDQsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNldE1lZGlhS2V5cyhNZWRpCiAKIHZv
aWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJJbml0aWFsaXphdGlvbkRhdGFFbmNvdW50
ZXJlZChjb25zdCBTdHJpbmcmIGluaXREYXRhVHlwZSwgUmVmUHRyPEFycmF5QnVmZmVyPiYmIGlu
aXREYXRhKQogewotICAgIGlmICghUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVy
ZXMoKS5lbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQoKSB8fCBkb2N1bWVudCgpLnF1aXJrcygpLmhh
c0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydFF1aXJrKCkpCisgICAgaWYgKCFkb2N1bWVu
dCgpLnNldHRpbmdzKCkuZW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKCkgfHwgZG9jdW1lbnQoKS5x
dWlya3MoKS5oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnRRdWlyaygpKQogICAgICAg
ICByZXR1cm47CiAKICAgICAvLyBodHRwczovL3czYy5naXRodWIuaW8vZW5jcnlwdGVkLW1lZGlh
LyNpbml0ZGF0YS1lbmNvdW50ZXJlZApJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0xMDIsMTIgKzEwMiwxMiBAQCB0
eXBlZGVmICgKICAgICBbQ29uZGl0aW9uYWw9TUVESUFfU1RBVElTVElDU10gcmVhZG9ubHkgYXR0
cmlidXRlIHVuc2lnbmVkIGxvbmcgd2Via2l0QXVkaW9EZWNvZGVkQnl0ZUNvdW50OwogICAgIFtD
b25kaXRpb25hbD1NRURJQV9TVEFUSVNUSUNTXSByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQg
bG9uZyB3ZWJraXRWaWRlb0RlY29kZWRCeXRlQ291bnQ7CiAKLSAgICBbQ29uZGl0aW9uYWw9TEVH
QUNZX0VOQ1JZUFRFRF9NRURJQSwgRW5hYmxlZEF0UnVudGltZT1MZWdhY3lFbmNyeXB0ZWRNZWRp
YUFQSV0gcmVhZG9ubHkgYXR0cmlidXRlIFdlYktpdE1lZGlhS2V5cyB3ZWJraXRLZXlzOwotICAg
IFtDb25kaXRpb25hbD1MRUdBQ1lfRU5DUllQVEVEX01FRElBLCBFbmFibGVkQXRSdW50aW1lPUxl
Z2FjeUVuY3J5cHRlZE1lZGlhQVBJXSB1bmRlZmluZWQgd2Via2l0U2V0TWVkaWFLZXlzKFdlYktp
dE1lZGlhS2V5cz8gbWVkaWFLZXlzKTsKLSAgICBbQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElB
LCBFbmFibGVkQXRSdW50aW1lPUVuY3J5cHRlZE1lZGlhQVBJLCBEaXNhYmxlZEJ5UXVpcms9aGFz
QnJva2VuRW5jcnlwdGVkTWVkaWFBUElTdXBwb3J0XSByZWFkb25seSBhdHRyaWJ1dGUgTWVkaWFL
ZXlzIG1lZGlhS2V5czsKLSAgICBbQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBLCBFbmFibGVk
QXRSdW50aW1lPUVuY3J5cHRlZE1lZGlhQVBJLCBEaXNhYmxlZEJ5UXVpcms9aGFzQnJva2VuRW5j
cnlwdGVkTWVkaWFBUElTdXBwb3J0XSBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uZW5jcnlwdGVk
OwotICAgIFtDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEsIEVuYWJsZWRBdFJ1bnRpbWU9RW5j
cnlwdGVkTWVkaWFBUEksIERpc2FibGVkQnlRdWlyaz1oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQ
SVN1cHBvcnRdIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb253YWl0aW5nZm9ya2V5OwotICAgIFtD
b25kaXRpb25hbD1FTkNSWVBURURfTUVESUEsIEVuYWJsZWRBdFJ1bnRpbWU9RW5jcnlwdGVkTWVk
aWFBUEksIERpc2FibGVkQnlRdWlyaz1oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnRd
IFByb21pc2U8dW5kZWZpbmVkPiBzZXRNZWRpYUtleXMoTWVkaWFLZXlzPyBtZWRpYUtleXMpOwor
ICAgIFtDb25kaXRpb25hbD1MRUdBQ1lfRU5DUllQVEVEX01FRElBLCBFbmFibGVkQnlTZXR0aW5n
PUxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJXSByZWFkb25seSBhdHRyaWJ1dGUgV2ViS2l0TWVkaWFL
ZXlzIHdlYmtpdEtleXM7CisgICAgW0NvbmRpdGlvbmFsPUxFR0FDWV9FTkNSWVBURURfTUVESUEs
IEVuYWJsZWRCeVNldHRpbmc9TGVnYWN5RW5jcnlwdGVkTWVkaWFBUEldIHVuZGVmaW5lZCB3ZWJr
aXRTZXRNZWRpYUtleXMoV2ViS2l0TWVkaWFLZXlzPyBtZWRpYUtleXMpOworICAgIFtDb25kaXRp
b25hbD1FTkNSWVBURURfTUVESUEsIEVuYWJsZWRCeVNldHRpbmc9RW5jcnlwdGVkTWVkaWFBUEks
IERpc2FibGVkQnlRdWlyaz1oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnRdIHJlYWRv
bmx5IGF0dHJpYnV0ZSBNZWRpYUtleXMgbWVkaWFLZXlzOworICAgIFtDb25kaXRpb25hbD1FTkNS
WVBURURfTUVESUEsIEVuYWJsZWRCeVNldHRpbmc9RW5jcnlwdGVkTWVkaWFBUEksIERpc2FibGVk
QnlRdWlyaz1oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnRdIGF0dHJpYnV0ZSBFdmVu
dEhhbmRsZXIgb25lbmNyeXB0ZWQ7CisgICAgW0NvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwg
RW5hYmxlZEJ5U2V0dGluZz1FbmNyeXB0ZWRNZWRpYUFQSSwgRGlzYWJsZWRCeVF1aXJrPWhhc0Jy
b2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydF0gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbndh
aXRpbmdmb3JrZXk7CisgICAgW0NvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwgRW5hYmxlZEJ5
U2V0dGluZz1FbmNyeXB0ZWRNZWRpYUFQSSwgRGlzYWJsZWRCeVF1aXJrPWhhc0Jyb2tlbkVuY3J5
cHRlZE1lZGlhQVBJU3VwcG9ydF0gUHJvbWlzZTx1bmRlZmluZWQ+IHNldE1lZGlhS2V5cyhNZWRp
YUtleXM/IG1lZGlhS2V5cyk7CiAKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIFRleHRUcmFjayBh
ZGRUZXh0VHJhY2soRE9NU3RyaW5nIGtpbmQsIG9wdGlvbmFsIERPTVN0cmluZyBsYWJlbCA9ICIi
LCBvcHRpb25hbCBET01TdHJpbmcgbGFuZ3VhZ2UgPSAiIik7CiAgICAgW0ltcGxlbWVudGVkQXM9
ZW5zdXJlQXVkaW9UcmFja3NdIHJlYWRvbmx5IGF0dHJpYnV0ZSBBdWRpb1RyYWNrTGlzdCBhdWRp
b1RyYWNrczsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1ldGFFbGVtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZXRhRWxlbWVudC5jcHAJKHJl
dmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1ldGFFbGVtZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsNiBAQAogI2luY2x1ZGUgIkRvY3VtZW50Lmgi
CiAjaW5jbHVkZSAiSFRNTEhlYWRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCi0j
aW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxs
b2NJbmxpbmVzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTg5LDcgKzg4LDcgQEAgdm9p
ZCBIVE1MTWV0YUVsZW1lbnQ6OnByb2Nlc3MoKQogCiAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9y
aW5nQVNDSUlDYXNlKG5hbWUoKSwgInZpZXdwb3J0IikpCiAgICAgICAgIGRvY3VtZW50KCkucHJv
Y2Vzc1ZpZXdwb3J0KGNvbnRlbnRWYWx1ZSwgVmlld3BvcnRBcmd1bWVudHM6OlZpZXdwb3J0TWV0
YSk7Ci0gICAgZWxzZSBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMo
KS5kaXNhYmxlZEFkYXB0YXRpb25zTWV0YVRhZ0VuYWJsZWQoKSAmJiBlcXVhbExldHRlcnNJZ25v
cmluZ0FTQ0lJQ2FzZShuYW1lKCksICJkaXNhYmxlZC1hZGFwdGF0aW9ucyIpKQorICAgIGVsc2Ug
aWYgKGRvY3VtZW50KCkuc2V0dGluZ3MoKS5kaXNhYmxlZEFkYXB0YXRpb25zTWV0YVRhZ0VuYWJs
ZWQoKSAmJiBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShuYW1lKCksICJkaXNhYmxlZC1h
ZGFwdGF0aW9ucyIpKQogICAgICAgICBkb2N1bWVudCgpLnByb2Nlc3NEaXNhYmxlZEFkYXB0YXRp
b25zKGNvbnRlbnRWYWx1ZSk7CiAjaWYgRU5BQkxFKERBUktfTU9ERV9DU1MpCiAgICAgZWxzZSBp
ZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UobmFtZSgpLCAiY29sb3Itc2NoZW1lIikg
fHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UobmFtZSgpLCAic3VwcG9ydGVkLWNvbG9y
LXNjaGVtZXMiKSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQu
aWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RF
bGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDIsNyArNDIsNyBAQAogICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBWYWxpZGl0eVN0YXRlIHZhbGlkaXR5OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBET01TdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2U7CiAgICAgYm9vbGVhbiBjaGVja1ZhbGlkaXR5
KCk7Ci0gICAgW0VuYWJsZWRBdFJ1bnRpbWU9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0gYm9v
bGVhbiByZXBvcnRWYWxpZGl0eSgpOworICAgIFtFbmFibGVkQnlTZXR0aW5nPUludGVyYWN0aXZl
Rm9ybVZhbGlkYXRpb25dIGJvb2xlYW4gcmVwb3J0VmFsaWRpdHkoKTsKICAgICB1bmRlZmluZWQg
c2V0Q3VzdG9tVmFsaWRpdHkoRE9NU3RyaW5nIGVycm9yKTsKIAogICAgIFtDaGVja1NlY3VyaXR5
Rm9yTm9kZV0gcmVhZG9ubHkgYXR0cmlidXRlIERvY3VtZW50IGNvbnRlbnREb2N1bWVudDsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE91dHB1dEVsZW1lbnQuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE91dHB1dEVsZW1lbnQuaWRsCShyZXZpc2lvbiAy
NjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPdXRwdXRFbGVtZW50LmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBAQCBpbnRlcmZhY2UgSFRNTE91dHB1dEVsZW1lbnQg
OiBIVE1MRWxlbWVuCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFZhbGlkaXR5U3RhdGUgdmFsaWRp
dHk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZTsK
ICAgICBib29sZWFuIGNoZWNrVmFsaWRpdHkoKTsKLSAgICBbRW5hYmxlZEF0UnVudGltZT1JbnRl
cmFjdGl2ZUZvcm1WYWxpZGF0aW9uXSBib29sZWFuIHJlcG9ydFZhbGlkaXR5KCk7CisgICAgW0Vu
YWJsZWRCeVNldHRpbmc9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0gYm9vbGVhbiByZXBvcnRW
YWxpZGl0eSgpOwogICAgIHVuZGVmaW5lZCBzZXRDdXN0b21WYWxpZGl0eShET01TdHJpbmcgZXJy
b3IpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5vZGVMaXN0IGxhYmVsczsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBpY3R1cmVFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQaWN0dXJlRWxlbWVudC5jcHAJKHJldmlzaW9uIDI2NjMx
MikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBpY3R1cmVFbGVtZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNjcsNyArNjcsNyBAQCB2b2lkIEhUTUxQaWN0dXJlRWxlbWVudDo6c291cmNl
c0NoYW5nZWQoCiAjaWYgVVNFKFNZU1RFTV9QUkVWSUVXKQogYm9vbCBIVE1MUGljdHVyZUVsZW1l
bnQ6OmlzU3lzdGVtUHJldmlld0ltYWdlKCkKIHsKLSAgICBpZiAoIVJ1bnRpbWVFbmFibGVkRmVh
dHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc3lzdGVtUHJldmlld0VuYWJsZWQoKSkKKyAgICBpZiAo
IWRvY3VtZW50KCkuc2V0dGluZ3MoKS5zeXN0ZW1QcmV2aWV3RW5hYmxlZCgpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKICAgICBhdXRvKiBwYXJlbnQgPSBwYXJlbnRFbGVtZW50KCk7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTY3JpcHRFbGVtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTY3JpcHRFbGVtZW50LmNwcAkocmV2aXNpb24gMjY2
MzEyKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2NyaXB0RWxlbWVudC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5j
bHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgotI2luY2x1
ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKKyNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2lu
Y2x1ZGUgIlRleHQuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogI2luY2x1
ZGUgPHd0Zi9SZWYuaD4KQEAgLTE5Nyw3ICsxOTcsNyBAQCBTdHJpbmcgSFRNTFNjcmlwdEVsZW1l
bnQ6OnJlZmVycmVyUG9saWN5CiAKIFJlZmVycmVyUG9saWN5IEhUTUxTY3JpcHRFbGVtZW50Ojpy
ZWZlcnJlclBvbGljeSgpIGNvbnN0CiB7Ci0gICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNoYXJlZEZlYXR1cmVzKCkucmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGVFbmFibGVkKCkpCisgICAg
aWYgKGRvY3VtZW50KCkuc2V0dGluZ3MoKS5yZWZlcnJlclBvbGljeUF0dHJpYnV0ZUVuYWJsZWQo
KSkKICAgICAgICAgcmV0dXJuIHBhcnNlUmVmZXJyZXJQb2xpY3koYXR0cmlidXRlV2l0aG91dFN5
bmNocm9uaXphdGlvbihyZWZlcnJlcnBvbGljeUF0dHIpLCBSZWZlcnJlclBvbGljeVNvdXJjZTo6
UmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGUpLnZhbHVlT3IoUmVmZXJyZXJQb2xpY3k6OkVtcHR5U3Ry
aW5nKTsKICAgICByZXR1cm4gUmVmZXJyZXJQb2xpY3k6OkVtcHR5U3RyaW5nOwogfQpJbmRleDog
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2NyaXB0RWxlbWVudC5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2NyaXB0RWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjMx
MikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNjcmlwdEVsZW1lbnQuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0zMSw1ICszMSw1IEBAIGludGVyZmFjZSBIVE1MU2NyaXB0RWxlbWVudCA6IEhU
TUxFbGVtZW4KICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBub25jZTsKICAgICBb
Q0VSZWFjdGlvbnM9Tm90TmVlZGVkLCBSZWZsZWN0XSBhdHRyaWJ1dGUgYm9vbGVhbiBub01vZHVs
ZTsKICAgICBbQ0VSZWFjdGlvbnM9Tm90TmVlZGVkLCBSZWZsZWN0LCBFbmFibGVkQnlTZXR0aW5n
PVN1YnJlc291cmNlSW50ZWdyaXR5XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGludGVncml0eTsKLSAg
ICBbRW5hYmxlZEF0UnVudGltZT1SZWZlcnJlclBvbGljeUF0dHJpYnV0ZSwgSW1wbGVtZW50ZWRB
cz1yZWZlcnJlclBvbGljeUZvckJpbmRpbmdzLCBDRVJlYWN0aW9ucz1Ob3ROZWVkZWRdIGF0dHJp
YnV0ZSBET01TdHJpbmcgcmVmZXJyZXJQb2xpY3k7CisgICAgW0VuYWJsZWRCeVNldHRpbmc9UmVm
ZXJyZXJQb2xpY3lBdHRyaWJ1dGUsIEltcGxlbWVudGVkQXM9cmVmZXJyZXJQb2xpY3lGb3JCaW5k
aW5ncywgQ0VSZWFjdGlvbnM9Tm90TmVlZGVkXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlZmVycmVy
UG9saWN5OwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQu
aWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RF
bGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNTAsNyArNTAsNyBAQAogICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBWYWxpZGl0eVN0YXRlIHZhbGlkaXR5OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBET01TdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2U7CiAgICAgYm9vbGVhbiBjaGVja1ZhbGlkaXR5
KCk7Ci0gICAgW0VuYWJsZWRBdFJ1bnRpbWU9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0gYm9v
bGVhbiByZXBvcnRWYWxpZGl0eSgpOworICAgIFtFbmFibGVkQnlTZXR0aW5nPUludGVyYWN0aXZl
Rm9ybVZhbGlkYXRpb25dIGJvb2xlYW4gcmVwb3J0VmFsaWRpdHkoKTsKICAgICB1bmRlZmluZWQg
c2V0Q3VzdG9tVmFsaWRpdHkoRE9NU3RyaW5nIGVycm9yKTsKIAogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBOb2RlTGlzdCBsYWJlbHM7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0
QXJlYUVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRl
eHRBcmVhRWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFRleHRBcmVhRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQzLDcgKzQzLDcg
QEAgaW50ZXJmYWNlIEhUTUxUZXh0QXJlYUVsZW1lbnQgOiBIVE1MRWxlbQogICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBWYWxpZGl0eVN0YXRlIHZhbGlkaXR5OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBET01TdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2U7CiAgICAgYm9vbGVhbiBjaGVja1ZhbGlkaXR5
KCk7Ci0gICAgW0VuYWJsZWRBdFJ1bnRpbWU9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0gYm9v
bGVhbiByZXBvcnRWYWxpZGl0eSgpOworICAgIFtFbmFibGVkQnlTZXR0aW5nPUludGVyYWN0aXZl
Rm9ybVZhbGlkYXRpb25dIGJvb2xlYW4gcmVwb3J0VmFsaWRpdHkoKTsKICAgICB1bmRlZmluZWQg
c2V0Q3VzdG9tVmFsaWRpdHkoRE9NU3RyaW5nIGVycm9yKTsKIAogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBOb2RlTGlzdCBsYWJlbHM7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0xpbmtSZWxB
dHRyaWJ1dGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvTGlua1JlbEF0
dHJpYnV0ZS5jcHAJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvTGlu
a1JlbEF0dHJpYnV0ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcxLDkgKzcxLDkgQEAgTGlua1Jl
bEF0dHJpYnV0ZTo6TGlua1JlbEF0dHJpYnV0ZShEb2N1bQogICAgICAgICBpc0ROU1ByZWZldGNo
ID0gdHJ1ZTsKICAgICBlbHNlIGlmIChkb2N1bWVudC5zZXR0aW5ncygpLmxpbmtQcmVjb25uZWN0
RW5hYmxlZCgpICYmIGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHJlbCwgInByZWNvbm5l
Y3QiKSkKICAgICAgICAgaXNMaW5rUHJlY29ubmVjdCA9IHRydWU7Ci0gICAgZWxzZSBpZiAoUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5saW5rUHJlbG9hZEVuYWJsZWQo
KSAmJiBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShyZWwsICJwcmVsb2FkIikpCisgICAg
ZWxzZSBpZiAoZG9jdW1lbnQuc2V0dGluZ3MoKS5saW5rUHJlbG9hZEVuYWJsZWQoKSAmJiBlcXVh
bExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShyZWwsICJwcmVsb2FkIikpCiAgICAgICAgIGlzTGlu
a1ByZWxvYWQgPSB0cnVlOwotICAgIGVsc2UgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNo
YXJlZEZlYXR1cmVzKCkubGlua1ByZWZldGNoRW5hYmxlZCgpICYmIGVxdWFsTGV0dGVyc0lnbm9y
aW5nQVNDSUlDYXNlKHJlbCwgInByZWZldGNoIikpCisgICAgZWxzZSBpZiAoZG9jdW1lbnQuc2V0
dGluZ3MoKS5saW5rUHJlZmV0Y2hFbmFibGVkKCkgJiYgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJ
SUNhc2UocmVsLCAicHJlZmV0Y2giKSkKICAgICAgICAgaXNMaW5rUHJlZmV0Y2ggPSB0cnVlOwog
ICAgIGVsc2UgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHJlbCwgImFsdGVybmF0
ZSBzdHlsZXNoZWV0IikgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UocmVsLCAic3R5
bGVzaGVldCBhbHRlcm5hdGUiKSkgewogICAgICAgICBpc1N0eWxlU2hlZXQgPSB0cnVlOwpAQCAt
MTE5LDEwICsxMTksMTAgQEAgYm9vbCBMaW5rUmVsQXR0cmlidXRlOjppc1N1cHBvcnRlZChEb2N1
bQogICAgIGlmIChkb2N1bWVudC5zZXR0aW5ncygpLmxpbmtQcmVjb25uZWN0RW5hYmxlZCgpICYm
IGVxdWFsSWdub3JpbmdBU0NJSUNhc2UoYXR0cmlidXRlLCAicHJlY29ubmVjdCIpKQogICAgICAg
ICByZXR1cm4gdHJ1ZTsKIAotICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRG
ZWF0dXJlcygpLmxpbmtQcmVsb2FkRW5hYmxlZCgpICYmIGVxdWFsSWdub3JpbmdBU0NJSUNhc2Uo
YXR0cmlidXRlLCAicHJlbG9hZCIpKQorICAgIGlmIChkb2N1bWVudC5zZXR0aW5ncygpLmxpbmtQ
cmVsb2FkRW5hYmxlZCgpICYmIGVxdWFsSWdub3JpbmdBU0NJSUNhc2UoYXR0cmlidXRlLCAicHJl
bG9hZCIpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIGlmIChSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmxpbmtQcmVmZXRjaEVuYWJsZWQoKSAmJiBlcXVhbEln
bm9yaW5nQVNDSUlDYXNlKGF0dHJpYnV0ZSwgInByZWZldGNoIikpCisgICAgaWYgKGRvY3VtZW50
LnNldHRpbmdzKCkubGlua1ByZWZldGNoRW5hYmxlZCgpICYmIGVxdWFsSWdub3JpbmdBU0NJSUNh
c2UoYXR0cmlidXRlLCAicHJlZmV0Y2giKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICBy
ZXR1cm4gZmFsc2U7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRW5jcnlwdGVkRXZl
bnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbmNyeXB0ZWRF
dmVudC5pZGwJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFF
bmNyeXB0ZWRFdmVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMzLDcgKzMzLDcgQEAgZGljdGlv
bmFyeSBNZWRpYUVuY3J5cHRlZEV2ZW50SW5pdCA6IEV2ZQogCiBbCiAgICAgQ29uZGl0aW9uYWw9
RU5DUllQVEVEX01FRElBLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9RW5jcnlwdGVkTWVkaWFBUEks
CisgICAgRW5hYmxlZEJ5U2V0dGluZz1FbmNyeXB0ZWRNZWRpYUFQSSwKICAgICBEaXNhYmxlZEJ5
UXVpcms9aGFzQnJva2VuRW5jcnlwdGVkTWVkaWFBUElTdXBwb3J0LAogXSBpbnRlcmZhY2UgTWVk
aWFFbmNyeXB0ZWRFdmVudCA6IEV2ZW50IHsKICAgICBjb25zdHJ1Y3RvcihET01TdHJpbmcgdHlw
ZSwgb3B0aW9uYWwgTWVkaWFFbmNyeXB0ZWRFdmVudEluaXQgZXZlbnRJbml0RGljdCk7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9odG1sL1dlYktpdE1lZGlhS2V5RXJyb3IuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvV2ViS2l0TWVkaWFLZXlFcnJvci5pZGwJKHJldmlzaW9u
IDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvV2ViS2l0TWVkaWFLZXlFcnJvci5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKIFsKICAgICBDb25kaXRpb25hbD1MRUdB
Q1lfRU5DUllQVEVEX01FRElBLAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCi0gICAg
RW5hYmxlZEF0UnVudGltZT1MZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSSwKKyAgICBFbmFibGVkQnlT
ZXR0aW5nPUxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJLAogXSBpbnRlcmZhY2UgV2ViS2l0TWVkaWFL
ZXlFcnJvciB7CiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgTUVESUFfS0VZRVJSX1VOS05PV04g
PSAxOwogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE1FRElBX0tFWUVSUl9DTElFTlQgPSAyOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5u
ZXIuY3BwCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MUHJlbG9hZFNjYW5uZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw3ICs0Miw2IEBACiAj
aW5jbHVkZSAiTWVkaWFRdWVyeUV2YWx1YXRvci5oIgogI2luY2x1ZGUgIk1lZGlhUXVlcnlQYXJz
ZXIuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCi0jaW5jbHVkZSAiUnVudGltZUVuYWJsZWRG
ZWF0dXJlcy5oIgogI2luY2x1ZGUgIlNlY3VyaXR5UG9saWN5LmgiCiAjaW5jbHVkZSAiU2V0dGlu
Z3MuaCIKICNpbmNsdWRlICJTaXplc0F0dHJpYnV0ZVBhcnNlci5oIgpAQCAtMTA1LDggKzEwNCw5
IEBAIFN0cmluZyBUb2tlblByZWxvYWRTY2FubmVyOjppbml0aWF0b3JGb3IKIAogY2xhc3MgVG9r
ZW5QcmVsb2FkU2Nhbm5lcjo6U3RhcnRUYWdTY2FubmVyIHsKIHB1YmxpYzoKLSAgICBleHBsaWNp
dCBTdGFydFRhZ1NjYW5uZXIoVGFnSWQgdGFnSWQsIGZsb2F0IGRldmljZVNjYWxlRmFjdG9yID0g
MS4wKQotICAgICAgICA6IG1fdGFnSWQodGFnSWQpCisgICAgZXhwbGljaXQgU3RhcnRUYWdTY2Fu
bmVyKERvY3VtZW50JiBkb2N1bWVudCwgVGFnSWQgdGFnSWQsIGZsb2F0IGRldmljZVNjYWxlRmFj
dG9yID0gMS4wKQorICAgICAgICA6IG1fZG9jdW1lbnQoZG9jdW1lbnQpCisgICAgICAgICwgbV90
YWdJZCh0YWdJZCkKICAgICAgICAgLCBtX2xpbmtJc1N0eWxlU2hlZXQoZmFsc2UpCiAgICAgICAg
ICwgbV9saW5rSXNQcmVsb2FkKGZhbHNlKQogICAgICAgICAsIG1fbWV0YUlzVmlld3BvcnQoZmFs
c2UpCkBAIC0xMTYsNyArMTE2LDcgQEAgcHVibGljOgogICAgIHsKICAgICB9CiAKLSAgICB2b2lk
IHByb2Nlc3NBdHRyaWJ1dGVzKGNvbnN0IEhUTUxUb2tlbjo6QXR0cmlidXRlTGlzdCYgYXR0cmli
dXRlcywgRG9jdW1lbnQmIGRvY3VtZW50LCBWZWN0b3I8Ym9vbD4mIHBpY3R1cmVTdGF0ZSkKKyAg
ICB2b2lkIHByb2Nlc3NBdHRyaWJ1dGVzKGNvbnN0IEhUTUxUb2tlbjo6QXR0cmlidXRlTGlzdCYg
YXR0cmlidXRlcywgVmVjdG9yPGJvb2w+JiBwaWN0dXJlU3RhdGUpCiAgICAgewogICAgICAgICBB
U1NFUlQoaXNNYWluVGhyZWFkKCkpOwogICAgICAgICBpZiAobV90YWdJZCA+PSBUYWdJZDo6VW5r
bm93bikKQEAgLTEyNSwxMiArMTI1LDEyIEBAIHB1YmxpYzoKICAgICAgICAgZm9yIChhdXRvJiBh
dHRyaWJ1dGUgOiBhdHRyaWJ1dGVzKSB7CiAgICAgICAgICAgICBBdG9tU3RyaW5nIGF0dHJpYnV0
ZU5hbWUoYXR0cmlidXRlLm5hbWUpOwogICAgICAgICAgICAgU3RyaW5nIGF0dHJpYnV0ZVZhbHVl
ID0gU3RyaW5nSW1wbDo6Y3JlYXRlOEJpdElmUG9zc2libGUoYXR0cmlidXRlLnZhbHVlKTsKLSAg
ICAgICAgICAgIHByb2Nlc3NBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSwgYXR0cmlidXRlVmFsdWUs
IGRvY3VtZW50LCBwaWN0dXJlU3RhdGUpOworICAgICAgICAgICAgcHJvY2Vzc0F0dHJpYnV0ZShh
dHRyaWJ1dGVOYW1lLCBhdHRyaWJ1dGVWYWx1ZSwgcGljdHVyZVN0YXRlKTsKICAgICAgICAgfQog
ICAgICAgICAKICAgICAgICAgaWYgKG1fdGFnSWQgPT0gVGFnSWQ6OlNvdXJjZSAmJiAhcGljdHVy
ZVN0YXRlLmlzRW1wdHkoKSAmJiAhcGljdHVyZVN0YXRlLmxhc3QoKSAmJiBtX21lZGlhTWF0Y2hl
ZCAmJiBtX3R5cGVNYXRjaGVkICYmICFtX3NyY1NldEF0dHJpYnV0ZS5pc0VtcHR5KCkpIHsKICAg
ICAgICAgICAgIAotICAgICAgICAgICAgYXV0byBzb3VyY2VTaXplID0gU2l6ZXNBdHRyaWJ1dGVQ
YXJzZXIobV9zaXplc0F0dHJpYnV0ZSwgZG9jdW1lbnQpLmxlbmd0aCgpOworICAgICAgICAgICAg
YXV0byBzb3VyY2VTaXplID0gU2l6ZXNBdHRyaWJ1dGVQYXJzZXIobV9zaXplc0F0dHJpYnV0ZSwg
bV9kb2N1bWVudCkubGVuZ3RoKCk7CiAgICAgICAgICAgICBJbWFnZUNhbmRpZGF0ZSBpbWFnZUNh
bmRpZGF0ZSA9IGJlc3RGaXRTb3VyY2VGb3JJbWFnZUF0dHJpYnV0ZXMobV9kZXZpY2VTY2FsZUZh
Y3RvciwgbV91cmxUb0xvYWQsIG1fc3JjU2V0QXR0cmlidXRlLCBzb3VyY2VTaXplKTsKICAgICAg
ICAgICAgIGlmICghaW1hZ2VDYW5kaWRhdGUuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAg
cGljdHVyZVN0YXRlLmxhc3QoKSA9IHRydWU7CkBAIC0xNDAsMTYgKzE0MCwxNiBAQCBwdWJsaWM6
CiAgICAgICAgIAogICAgICAgICAvLyBSZXNvbHZlIGJldHdlZW4gc3JjIGFuZCBzcmNTZXQgaWYg
d2UgaGF2ZSB0aGVtIGFuZCB0aGUgdGFnIGlzIGltZy4KICAgICAgICAgaWYgKG1fdGFnSWQgPT0g
VGFnSWQ6OkltZyAmJiAhbV9zcmNTZXRBdHRyaWJ1dGUuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAg
ICBhdXRvIHNvdXJjZVNpemUgPSBTaXplc0F0dHJpYnV0ZVBhcnNlcihtX3NpemVzQXR0cmlidXRl
LCBkb2N1bWVudCkubGVuZ3RoKCk7CisgICAgICAgICAgICBhdXRvIHNvdXJjZVNpemUgPSBTaXpl
c0F0dHJpYnV0ZVBhcnNlcihtX3NpemVzQXR0cmlidXRlLCBtX2RvY3VtZW50KS5sZW5ndGgoKTsK
ICAgICAgICAgICAgIEltYWdlQ2FuZGlkYXRlIGltYWdlQ2FuZGlkYXRlID0gYmVzdEZpdFNvdXJj
ZUZvckltYWdlQXR0cmlidXRlcyhtX2RldmljZVNjYWxlRmFjdG9yLCBtX3VybFRvTG9hZCwgbV9z
cmNTZXRBdHRyaWJ1dGUsIHNvdXJjZVNpemUpOwogICAgICAgICAgICAgc2V0VXJsVG9Mb2FkKGlt
YWdlQ2FuZGlkYXRlLnN0cmluZy50b1N0cmluZygpLCB0cnVlKTsKICAgICAgICAgfQogCiAgICAg
ICAgIGlmIChtX21ldGFJc1ZpZXdwb3J0ICYmICFtX21ldGFDb250ZW50LmlzTnVsbCgpKQotICAg
ICAgICAgICAgZG9jdW1lbnQucHJvY2Vzc1ZpZXdwb3J0KG1fbWV0YUNvbnRlbnQsIFZpZXdwb3J0
QXJndW1lbnRzOjpWaWV3cG9ydE1ldGEpOworICAgICAgICAgICAgbV9kb2N1bWVudC5wcm9jZXNz
Vmlld3BvcnQobV9tZXRhQ29udGVudCwgVmlld3BvcnRBcmd1bWVudHM6OlZpZXdwb3J0TWV0YSk7
CiAKICAgICAgICAgaWYgKG1fbWV0YUlzRGlzYWJsZWRBZGFwdGF0aW9ucyAmJiAhbV9tZXRhQ29u
dGVudC5pc051bGwoKSkKLSAgICAgICAgICAgIGRvY3VtZW50LnByb2Nlc3NEaXNhYmxlZEFkYXB0
YXRpb25zKG1fbWV0YUNvbnRlbnQpOworICAgICAgICAgICAgbV9kb2N1bWVudC5wcm9jZXNzRGlz
YWJsZWRBZGFwdGF0aW9ucyhtX21ldGFDb250ZW50KTsKICAgICB9CiAKICAgICBzdGQ6OnVuaXF1
ZV9wdHI8UHJlbG9hZFJlcXVlc3Q+IGNyZWF0ZVByZWxvYWRSZXF1ZXN0KGNvbnN0IFVSTCYgcHJl
ZGljdGVkQmFzZVVSTCkKQEAgLTE2MSw3ICsxNjEsNyBAQCBwdWJsaWM6CiAgICAgICAgIGlmICgh
dHlwZSkKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgICAgIGlmICghTGlua0xv
YWRlcjo6aXNTdXBwb3J0ZWRUeXBlKHR5cGUudmFsdWUoKSwgbV90eXBlQXR0cmlidXRlKSkKKyAg
ICAgICAgaWYgKCFMaW5rTG9hZGVyOjppc1N1cHBvcnRlZFR5cGUodHlwZS52YWx1ZSgpLCBtX3R5
cGVBdHRyaWJ1dGUsIG1fZG9jdW1lbnQpKQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAK
ICAgICAgICAgLy8gRG8gbm90IHByZWxvYWQgaWYgbGF6eWxvYWQgaXMgcG9zc2libGUgYnV0IG1l
dGFkYXRhIGZldGNoIGlzIGRpc2FibGVkLgpAQCAtMTk3LDcgKzE5Nyw3IEBAIHByaXZhdGU6CiAg
ICAgICAgICAgICBtX2NoYXJzZXQgPSBhdHRyaWJ1dGVWYWx1ZTsKICAgICB9CiAKLSAgICB2b2lk
IHByb2Nlc3NBdHRyaWJ1dGUoY29uc3QgQXRvbVN0cmluZyYgYXR0cmlidXRlTmFtZSwgY29uc3Qg
U3RyaW5nJiBhdHRyaWJ1dGVWYWx1ZSwgRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBWZWN0b3I8
Ym9vbD4mIHBpY3R1cmVTdGF0ZSkKKyAgICB2b2lkIHByb2Nlc3NBdHRyaWJ1dGUoY29uc3QgQXRv
bVN0cmluZyYgYXR0cmlidXRlTmFtZSwgY29uc3QgU3RyaW5nJiBhdHRyaWJ1dGVWYWx1ZSwgY29u
c3QgVmVjdG9yPGJvb2w+JiBwaWN0dXJlU3RhdGUpCiAgICAgewogICAgICAgICBib29sIGluUGlj
dHVyZSA9ICFwaWN0dXJlU3RhdGUuaXNFbXB0eSgpOwogICAgICAgICBib29sIGFscmVhZHlNYXRj
aGVkU291cmNlID0gaW5QaWN0dXJlICYmIHBpY3R1cmVTdGF0ZS5sYXN0KCk7CkBAIC0yMTQsNyAr
MjE0LDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICBtX3NpemVzQXR0cmlidXRlID0gYXR0
cmlidXRlVmFsdWU7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5sYXp5
SW1hZ2VMb2FkaW5nRW5hYmxlZCgpKSB7CisgICAgICAgICAgICBpZiAobV9kb2N1bWVudC5zZXR0
aW5ncygpLmxhenlJbWFnZUxvYWRpbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICBpZiAo
bWF0Y2goYXR0cmlidXRlTmFtZSwgbG9hZGluZ0F0dHIpICYmIG1fbGF6eWxvYWRBdHRyaWJ1dGUu
aXNOdWxsKCkpIHsKICAgICAgICAgICAgICAgICAgICAgbV9sYXp5bG9hZEF0dHJpYnV0ZSA9IGF0
dHJpYnV0ZVZhbHVlOwogICAgICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTIzNSwxMCArMjM1
LDEwIEBAIHByaXZhdGU6CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAobWF0Y2goYXR0
cmlidXRlTmFtZSwgbWVkaWFBdHRyKSAmJiBtX21lZGlhQXR0cmlidXRlLmlzTnVsbCgpKSB7CiAg
ICAgICAgICAgICAgICAgbV9tZWRpYUF0dHJpYnV0ZSA9IGF0dHJpYnV0ZVZhbHVlOwotICAgICAg
ICAgICAgICAgIGF1dG8gbWVkaWFTZXQgPSBNZWRpYVF1ZXJ5U2V0OjpjcmVhdGUoYXR0cmlidXRl
VmFsdWUsIE1lZGlhUXVlcnlQYXJzZXJDb250ZXh0KGRvY3VtZW50KSk7Ci0gICAgICAgICAgICAg
ICAgYXV0byBkb2N1bWVudEVsZW1lbnQgPSBtYWtlUmVmUHRyKGRvY3VtZW50LmRvY3VtZW50RWxl
bWVudCgpKTsKKyAgICAgICAgICAgICAgICBhdXRvIG1lZGlhU2V0ID0gTWVkaWFRdWVyeVNldDo6
Y3JlYXRlKGF0dHJpYnV0ZVZhbHVlLCBNZWRpYVF1ZXJ5UGFyc2VyQ29udGV4dChtX2RvY3VtZW50
KSk7CisgICAgICAgICAgICAgICAgYXV0byBkb2N1bWVudEVsZW1lbnQgPSBtYWtlUmVmUHRyKG1f
ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KCkpOwogICAgICAgICAgICAgICAgIExPRyhNZWRpYVF1
ZXJpZXMsICJIVE1MUHJlbG9hZFNjYW5uZXIgJXAgcHJvY2Vzc0F0dHJpYnV0ZSBldmFsdWF0aW5n
IG1lZGlhIHF1ZXJpZXMiLCB0aGlzKTsKLSAgICAgICAgICAgICAgICBtX21lZGlhTWF0Y2hlZCA9
IE1lZGlhUXVlcnlFdmFsdWF0b3IgeyBkb2N1bWVudC5wcmludGluZygpID8gInByaW50IiA6ICJz
Y3JlZW4iLCBkb2N1bWVudCwgZG9jdW1lbnRFbGVtZW50ID8gZG9jdW1lbnRFbGVtZW50LT5jb21w
dXRlZFN0eWxlKCkgOiBudWxscHRyIH0uZXZhbHVhdGUobWVkaWFTZXQuZ2V0KCkpOworICAgICAg
ICAgICAgICAgIG1fbWVkaWFNYXRjaGVkID0gTWVkaWFRdWVyeUV2YWx1YXRvciB7IG1fZG9jdW1l
bnQucHJpbnRpbmcoKSA/ICJwcmludCIgOiAic2NyZWVuIiwgbV9kb2N1bWVudCwgZG9jdW1lbnRF
bGVtZW50ID8gZG9jdW1lbnRFbGVtZW50LT5jb21wdXRlZFN0eWxlKCkgOiBudWxscHRyIH0uZXZh
bHVhdGUobWVkaWFTZXQuZ2V0KCkpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKG1h
dGNoKGF0dHJpYnV0ZU5hbWUsIHR5cGVBdHRyKSAmJiBtX3R5cGVBdHRyaWJ1dGUuaXNOdWxsKCkp
IHsKICAgICAgICAgICAgICAgICAvLyB3aGVuIG11bHRpcGxlIHR5cGUgYXR0cmlidXRlcyBwcmVz
ZW50OiBmaXJzdCB2YWx1ZSB3aW5zLCBpZ25vcmUgc3Vic2VxdWVudCAodG8gbWF0Y2ggSW1hZ2VF
bGVtZW50IHBhcnNlciBhbmQgQmxpbmsgYmVoYXZpb3VycykKQEAgLTI2OSw3ICsyNjksNyBAQCBw
cml2YXRlOgogICAgICAgICAgICAgaWYgKG1hdGNoKGF0dHJpYnV0ZU5hbWUsIGhyZWZBdHRyKSkK
ICAgICAgICAgICAgICAgICBzZXRVcmxUb0xvYWQoYXR0cmlidXRlVmFsdWUpOwogICAgICAgICAg
ICAgZWxzZSBpZiAobWF0Y2goYXR0cmlidXRlTmFtZSwgcmVsQXR0cikpIHsKLSAgICAgICAgICAg
ICAgICBMaW5rUmVsQXR0cmlidXRlIHBhcnNlZEF0dHJpYnV0ZSB7IGRvY3VtZW50LCBhdHRyaWJ1
dGVWYWx1ZSB9OworICAgICAgICAgICAgICAgIExpbmtSZWxBdHRyaWJ1dGUgcGFyc2VkQXR0cmli
dXRlIHsgbV9kb2N1bWVudCwgYXR0cmlidXRlVmFsdWUgfTsKICAgICAgICAgICAgICAgICBtX2xp
bmtJc1N0eWxlU2hlZXQgPSByZWxBdHRyaWJ1dGVJc1N0eWxlU2hlZXQocGFyc2VkQXR0cmlidXRl
KTsKICAgICAgICAgICAgICAgICBtX2xpbmtJc1ByZWxvYWQgPSBwYXJzZWRBdHRyaWJ1dGUuaXNM
aW5rUHJlbG9hZDsKICAgICAgICAgICAgIH0gZWxzZSBpZiAobWF0Y2goYXR0cmlidXRlTmFtZSwg
bWVkaWFBdHRyKSkKQEAgLTI5OCw3ICsyOTgsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAg
IG1fbWV0YUNvbnRlbnQgPSBhdHRyaWJ1dGVWYWx1ZTsKICAgICAgICAgICAgIGVsc2UgaWYgKG1h
dGNoKGF0dHJpYnV0ZU5hbWUsIG5hbWVBdHRyKSkKICAgICAgICAgICAgICAgICBtX21ldGFJc1Zp
ZXdwb3J0ID0gZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoYXR0cmlidXRlVmFsdWUsICJ2
aWV3cG9ydCIpOwotICAgICAgICAgICAgZWxzZSBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS5kaXNhYmxlZEFkYXB0YXRpb25zTWV0YVRhZ0VuYWJsZWQoKSAmJiBt
YXRjaChhdHRyaWJ1dGVOYW1lLCBuYW1lQXR0cikpCisgICAgICAgICAgICBlbHNlIGlmIChtX2Rv
Y3VtZW50LnNldHRpbmdzKCkuZGlzYWJsZWRBZGFwdGF0aW9uc01ldGFUYWdFbmFibGVkKCkgJiYg
bWF0Y2goYXR0cmlidXRlTmFtZSwgbmFtZUF0dHIpKQogICAgICAgICAgICAgICAgIG1fbWV0YUlz
RGlzYWJsZWRBZGFwdGF0aW9ucyA9IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGF0dHJp
YnV0ZVZhbHVlLCAiZGlzYWJsZWQtYWRhcHRhdGlvbnMiKTsKICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICBjYXNlIFRhZ0lkOjpCYXNlOgpAQCAtMzQ2LDcgKzM0Niw3IEBAIHByaXZhdGU6CiAg
ICAgICAgICAgICBpZiAobV9saW5rSXNTdHlsZVNoZWV0KQogICAgICAgICAgICAgICAgIHJldHVy
biBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6Q1NTU3R5bGVTaGVldDsKICAgICAgICAgICAgIGlmICht
X2xpbmtJc1ByZWxvYWQpCi0gICAgICAgICAgICAgICAgcmV0dXJuIExpbmtMb2FkZXI6OnJlc291
cmNlVHlwZUZyb21Bc0F0dHJpYnV0ZShtX2FzQXR0cmlidXRlKTsKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gTGlua0xvYWRlcjo6cmVzb3VyY2VUeXBlRnJvbUFzQXR0cmlidXRlKG1fYXNBdHRyaWJ1
dGUsIG1fZG9jdW1lbnQpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgVGFnSWQ6
Ok1ldGE6CiAgICAgICAgIGNhc2UgVGFnSWQ6OlVua25vd246CkBAIC0zODAsNiArMzgwLDcgQEAg
cHJpdmF0ZToKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCisgICAgRG9jdW1lbnQmIG1f
ZG9jdW1lbnQ7CiAgICAgVGFnSWQgbV90YWdJZDsKICAgICBTdHJpbmcgbV91cmxUb0xvYWQ7CiAg
ICAgU3RyaW5nIG1fc3JjU2V0QXR0cmlidXRlOwpAQCAtNDYyLDggKzQ2Myw4IEBAIHZvaWQgVG9r
ZW5QcmVsb2FkU2Nhbm5lcjo6c2Nhbihjb25zdCBIVE0KICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgfQogCi0gICAgICAgIFN0YXJ0VGFnU2Nhbm5lciBzY2FubmVyKHRhZ0lkLCBtX2Rldmlj
ZVNjYWxlRmFjdG9yKTsKLSAgICAgICAgc2Nhbm5lci5wcm9jZXNzQXR0cmlidXRlcyh0b2tlbi5h
dHRyaWJ1dGVzKCksIGRvY3VtZW50LCBtX3BpY3R1cmVTb3VyY2VTdGF0ZSk7CisgICAgICAgIFN0
YXJ0VGFnU2Nhbm5lciBzY2FubmVyKGRvY3VtZW50LCB0YWdJZCwgbV9kZXZpY2VTY2FsZUZhY3Rv
cik7CisgICAgICAgIHNjYW5uZXIucHJvY2Vzc0F0dHJpYnV0ZXModG9rZW4uYXR0cmlidXRlcygp
LCBtX3BpY3R1cmVTb3VyY2VTdGF0ZSk7CiAgICAgICAgIGlmIChhdXRvIHJlcXVlc3QgPSBzY2Fu
bmVyLmNyZWF0ZVByZWxvYWRSZXF1ZXN0KG1fcHJlZGljdGVkQmFzZUVsZW1lbnRVUkwpKQogICAg
ICAgICAgICAgcmVxdWVzdHMuYXBwZW5kKFdURk1vdmUocmVxdWVzdCkpOwogICAgICAgICByZXR1
cm47CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAJKHJldmlzaW9uIDI2
NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTIwOCw3ICsyMDgsNyBAQCB2b2lkIEltYWdlTG9hZGVyOjp1cGRhdGVGcm9tRWxl
bWVudChSZWxlCiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBpZiAobV9sYXp5SW1hZ2VM
b2FkU3RhdGUgPT0gTGF6eUltYWdlTG9hZFN0YXRlOjpOb25lICYmIGlzSW1hZ2VFbGVtZW50KSB7
CiAgICAgICAgICAgICAgICAgYXV0byYgaW1hZ2VFbGVtZW50ID0gZG93bmNhc3Q8SFRNTEltYWdl
RWxlbWVudD4oZWxlbWVudCgpKTsKLSAgICAgICAgICAgICAgICBpZiAoaW1hZ2VFbGVtZW50Lmlz
TGF6eUxvYWRhYmxlKCkgJiYgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMo
KS5sYXp5SW1hZ2VMb2FkaW5nRW5hYmxlZCgpKSB7CisgICAgICAgICAgICAgICAgaWYgKGltYWdl
RWxlbWVudC5pc0xhenlMb2FkYWJsZSgpICYmIGRvY3VtZW50LnNldHRpbmdzKCkubGF6eUltYWdl
TG9hZGluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgICAgICBtX2xhenlJbWFnZUxvYWRT
dGF0ZSA9IExhenlJbWFnZUxvYWRTdGF0ZTo6RGVmZXJyZWQ7CiAgICAgICAgICAgICAgICAgICAg
IHJlcXVlc3Quc2V0SWdub3JlRm9yUmVxdWVzdENvdW50KHRydWUpOwogICAgICAgICAgICAgICAg
IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlci5jcHAJKHJldmlzaW9uIDI2NjMx
MikKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTE3LDcgKzExNyw3IEBAIHZvaWQgTGlua0xvYWRlcjo6bG9hZExpbmtzRnJvbUhlYWRl
cihjb24KICAgICB9CiB9CiAKLU9wdGlvbmFsPENhY2hlZFJlc291cmNlOjpUeXBlPiBMaW5rTG9h
ZGVyOjpyZXNvdXJjZVR5cGVGcm9tQXNBdHRyaWJ1dGUoY29uc3QgU3RyaW5nJiBhcykKK09wdGlv
bmFsPENhY2hlZFJlc291cmNlOjpUeXBlPiBMaW5rTG9hZGVyOjpyZXNvdXJjZVR5cGVGcm9tQXNB
dHRyaWJ1dGUoY29uc3QgU3RyaW5nJiBhcywgRG9jdW1lbnQmIGRvY3VtZW50KQogewogICAgIGlm
IChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShhcywgImZldGNoIikpCiAgICAgICAgIHJl
dHVybiBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6UmF3UmVzb3VyY2U7CkBAIC0xMjcsNyArMTI3LDcg
QEAgT3B0aW9uYWw8Q2FjaGVkUmVzb3VyY2U6OlR5cGU+IExpbmtMb2FkZQogICAgICAgICByZXR1
cm4gQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlNjcmlwdDsKICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdu
b3JpbmdBU0NJSUNhc2UoYXMsICJzdHlsZSIpKQogICAgICAgICByZXR1cm4gQ2FjaGVkUmVzb3Vy
Y2U6OlR5cGU6OkNTU1N0eWxlU2hlZXQ7Ci0gICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNoYXJlZEZlYXR1cmVzKCkubWVkaWFQcmVsb2FkaW5nRW5hYmxlZCgpICYmIChlcXVhbExldHRl
cnNJZ25vcmluZ0FTQ0lJQ2FzZShhcywgInZpZGVvIikgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdB
U0NJSUNhc2UoYXMsICJhdWRpbyIpKSkKKyAgICBpZiAoZG9jdW1lbnQuc2V0dGluZ3MoKS5tZWRp
YVByZWxvYWRpbmdFbmFibGVkKCkgJiYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGFz
LCAidmlkZW8iKSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShhcywgImF1ZGlvIikp
KQogICAgICAgICByZXR1cm4gQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Ok1lZGlhUmVzb3VyY2U7CiAg
ICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGFzLCAiZm9udCIpKQogICAgICAg
ICByZXR1cm4gQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OkZvbnRSZXNvdXJjZTsKQEAgLTEzNiw3ICsx
MzYsNyBAQCBPcHRpb25hbDxDYWNoZWRSZXNvdXJjZTo6VHlwZT4gTGlua0xvYWRlCiAgICAgcmV0
dXJuIFdURjo6bnVsbG9wdDsKIH0KIAotc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxMaW5rUHJlbG9h
ZFJlc291cmNlQ2xpZW50PiBjcmVhdGVMaW5rUHJlbG9hZFJlc291cmNlQ2xpZW50KENhY2hlZFJl
c291cmNlJiByZXNvdXJjZSwgTGlua0xvYWRlciYgbG9hZGVyKQorc3RhdGljIHN0ZDo6dW5pcXVl
X3B0cjxMaW5rUHJlbG9hZFJlc291cmNlQ2xpZW50PiBjcmVhdGVMaW5rUHJlbG9hZFJlc291cmNl
Q2xpZW50KENhY2hlZFJlc291cmNlJiByZXNvdXJjZSwgTGlua0xvYWRlciYgbG9hZGVyLCBEb2N1
bWVudCYgZG9jdW1lbnQpCiB7CiAgICAgc3dpdGNoIChyZXNvdXJjZS50eXBlKCkpIHsKICAgICBj
YXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpJbWFnZVJlc291cmNlOgpAQCAtMTUwLDcgKzE1MCw3
IEBAIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8TGlua1ByZWxvYWRSZXNvdXIKICAgICBjYXNlIENh
Y2hlZFJlc291cmNlOjpUeXBlOjpUZXh0VHJhY2tSZXNvdXJjZToKICAgICAgICAgcmV0dXJuIG1h
a2VVbmlxdWU8TGlua1ByZWxvYWREZWZhdWx0UmVzb3VyY2VDbGllbnQ+KGxvYWRlciwgZG93bmNh
c3Q8Q2FjaGVkVGV4dFRyYWNrPihyZXNvdXJjZSkpOwogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6
OlR5cGU6Ok1lZGlhUmVzb3VyY2U6Ci0gICAgICAgIEFTU0VSVChSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzaGFyZWRGZWF0dXJlcygpLm1lZGlhUHJlbG9hZGluZ0VuYWJsZWQoKSk7CisgICAgICAg
IEFTU0VSVF9VTlVTRUQoZG9jdW1lbnQsIGRvY3VtZW50LnNldHRpbmdzKCkubWVkaWFQcmVsb2Fk
aW5nRW5hYmxlZCgpKTsKICAgICAgICAgRkFMTFRIUk9VR0g7CiAgICAgY2FzZSBDYWNoZWRSZXNv
dXJjZTo6VHlwZTo6UmF3UmVzb3VyY2U6CiAgICAgICAgIHJldHVybiBtYWtlVW5pcXVlPExpbmtQ
cmVsb2FkUmF3UmVzb3VyY2VDbGllbnQ+KGxvYWRlciwgZG93bmNhc3Q8Q2FjaGVkUmF3UmVzb3Vy
Y2U+KHJlc291cmNlKSk7CkBAIC0xNzUsNyArMTc1LDcgQEAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0
cjxMaW5rUHJlbG9hZFJlc291cgogICAgIHJldHVybiBudWxscHRyOwogfQogCi1ib29sIExpbmtM
b2FkZXI6OmlzU3VwcG9ydGVkVHlwZShDYWNoZWRSZXNvdXJjZTo6VHlwZSByZXNvdXJjZVR5cGUs
IGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCitib29sIExpbmtMb2FkZXI6OmlzU3VwcG9ydGVkVHlw
ZShDYWNoZWRSZXNvdXJjZTo6VHlwZSByZXNvdXJjZVR5cGUsIGNvbnN0IFN0cmluZyYgbWltZVR5
cGUsIERvY3VtZW50JiBkb2N1bWVudCkKIHsKICAgICBpZiAobWltZVR5cGUuaXNFbXB0eSgpKQog
ICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTE4OSw3ICsxODksNyBAQCBib29sIExpbmtMb2FkZXI6
OmlzU3VwcG9ydGVkVHlwZShDYWNoZWRSCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6
Rm9udFJlc291cmNlOgogICAgICAgICByZXR1cm4gTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0
ZWRGb250TUlNRVR5cGUobWltZVR5cGUpOwogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6
Ok1lZGlhUmVzb3VyY2U6Ci0gICAgICAgIGlmICghUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5tZWRpYVByZWxvYWRpbmdFbmFibGVkKCkpCisgICAgICAgIGlmICghZG9j
dW1lbnQuc2V0dGluZ3MoKS5tZWRpYVByZWxvYWRpbmdFbmFibGVkKCkpCiAgICAgICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgcmV0dXJuIE1JTUVUeXBlUmVnaXN0cnk6Omlz
U3VwcG9ydGVkTWVkaWFNSU1FVHlwZShtaW1lVHlwZSk7CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJj
ZTo6VHlwZTo6VGV4dFRyYWNrUmVzb3VyY2U6CkBAIC0yMzEsMTQgKzIzMSwxNCBAQCBzdGQ6OnVu
aXF1ZV9wdHI8TGlua1ByZWxvYWRSZXNvdXJjZUNsaWVuCiAgICAgaWYgKCFkb2N1bWVudC5sb2Fk
ZXIoKSB8fCAhcGFyYW1zLnJlbEF0dHJpYnV0ZS5pc0xpbmtQcmVsb2FkKQogICAgICAgICByZXR1
cm4gbnVsbHB0cjsKIAotICAgIEFTU0VSVChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRG
ZWF0dXJlcygpLmxpbmtQcmVsb2FkRW5hYmxlZCgpKTsKLSAgICBhdXRvIHR5cGUgPSBMaW5rTG9h
ZGVyOjpyZXNvdXJjZVR5cGVGcm9tQXNBdHRyaWJ1dGUocGFyYW1zLmFzKTsKKyAgICBBU1NFUlQo
ZG9jdW1lbnQuc2V0dGluZ3MoKS5saW5rUHJlbG9hZEVuYWJsZWQoKSk7CisgICAgYXV0byB0eXBl
ID0gTGlua0xvYWRlcjo6cmVzb3VyY2VUeXBlRnJvbUFzQXR0cmlidXRlKHBhcmFtcy5hcywgZG9j
dW1lbnQpOwogICAgIGlmICghdHlwZSkgewogICAgICAgICBkb2N1bWVudC5hZGRDb25zb2xlTWVz
c2FnZShNZXNzYWdlU291cmNlOjpPdGhlciwgTWVzc2FnZUxldmVsOjpFcnJvciwgIjxsaW5rIHJl
bD1wcmVsb2FkPiBtdXN0IGhhdmUgYSB2YWxpZCBgYXNgIHZhbHVlIl9zKTsKICAgICAgICAgcmV0
dXJuIG51bGxwdHI7CiAgICAgfQogICAgIFVSTCB1cmw7Ci0gICAgaWYgKFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkubGlua1ByZWxvYWRSZXNwb25zaXZlSW1hZ2VzRW5h
YmxlZCgpICYmIHR5cGUgPT0gQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OkltYWdlUmVzb3VyY2UgJiYg
IXBhcmFtcy5pbWFnZVNyY1NldC5pc0VtcHR5KCkpIHsKKyAgICBpZiAoZG9jdW1lbnQuc2V0dGlu
Z3MoKS5saW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVkKCkgJiYgdHlwZSA9PSBDYWNo
ZWRSZXNvdXJjZTo6VHlwZTo6SW1hZ2VSZXNvdXJjZSAmJiAhcGFyYW1zLmltYWdlU3JjU2V0Lmlz
RW1wdHkoKSkgewogICAgICAgICBhdXRvIHNvdXJjZVNpemUgPSBTaXplc0F0dHJpYnV0ZVBhcnNl
cihwYXJhbXMuaW1hZ2VTaXplcywgZG9jdW1lbnQpLmxlbmd0aCgpOwogICAgICAgICBhdXRvIGNh
bmRpZGF0ZSA9IGJlc3RGaXRTb3VyY2VGb3JJbWFnZUF0dHJpYnV0ZXMoZG9jdW1lbnQuZGV2aWNl
U2NhbGVGYWN0b3IoKSwgcGFyYW1zLmhyZWYuc3RyaW5nKCksIHBhcmFtcy5pbWFnZVNyY1NldCwg
c291cmNlU2l6ZSk7CiAgICAgICAgIHVybCA9IGRvY3VtZW50LmNvbXBsZXRlVVJMKFVSTCh7IH0s
IGNhbmRpZGF0ZS5zdHJpbmcudG9TdHJpbmcoKSkuc3RyaW5nKCkpOwpAQCAtMjU0LDcgKzI1NCw3
IEBAIHN0ZDo6dW5pcXVlX3B0cjxMaW5rUHJlbG9hZFJlc291cmNlQ2xpZW4KICAgICB9CiAgICAg
aWYgKCFNZWRpYVF1ZXJ5RXZhbHVhdG9yOjptZWRpYUF0dHJpYnV0ZU1hdGNoZXMoZG9jdW1lbnQs
IHBhcmFtcy5tZWRpYSkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwotICAgIGlmICghaXNTdXBw
b3J0ZWRUeXBlKHR5cGUudmFsdWUoKSwgcGFyYW1zLm1pbWVUeXBlKSkKKyAgICBpZiAoIWlzU3Vw
cG9ydGVkVHlwZSh0eXBlLnZhbHVlKCksIHBhcmFtcy5taW1lVHlwZSwgZG9jdW1lbnQpKQogICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIGF1dG8gb3B0aW9ucyA9IENhY2hlZFJlc291cmNl
TG9hZGVyOjpkZWZhdWx0Q2FjaGVkUmVzb3VyY2VPcHRpb25zKCk7CkBAIC0yNzEsNyArMjcxLDcg
QEAgc3RkOjp1bmlxdWVfcHRyPExpbmtQcmVsb2FkUmVzb3VyY2VDbGllbgogICAgICAgICByZXR1
cm4gbnVsbHB0cjsKIAogICAgIGlmIChjYWNoZWRMaW5rUmVzb3VyY2UgJiYgbG9hZGVyKQotICAg
ICAgICByZXR1cm4gY3JlYXRlTGlua1ByZWxvYWRSZXNvdXJjZUNsaWVudCgqY2FjaGVkTGlua1Jl
c291cmNlLCAqbG9hZGVyKTsKKyAgICAgICAgcmV0dXJuIGNyZWF0ZUxpbmtQcmVsb2FkUmVzb3Vy
Y2VDbGllbnQoKmNhY2hlZExpbmtSZXNvdXJjZSwgKmxvYWRlciwgZG9jdW1lbnQpOwogICAgIHJl
dHVybiBudWxscHRyOwogfQogCkBAIC0yODAsNyArMjgwLDcgQEAgdm9pZCBMaW5rTG9hZGVyOjpw
cmVmZXRjaElmTmVlZGVkKGNvbnN0IAogICAgIGlmICghcGFyYW1zLmhyZWYuaXNWYWxpZCgpIHx8
ICFkb2N1bWVudC5mcmFtZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBBU1NFUlQoUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5saW5rUHJlZmV0Y2hFbmFibGVkKCkp
OworICAgIEFTU0VSVChkb2N1bWVudC5zZXR0aW5ncygpLmxpbmtQcmVmZXRjaEVuYWJsZWQoKSk7
CiAgICAgT3B0aW9uYWw8UmVzb3VyY2VMb2FkUHJpb3JpdHk+IHByaW9yaXR5OwogICAgIENhY2hl
ZFJlc291cmNlOjpUeXBlIHR5cGUgPSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TGlua1ByZWZldGNo
OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlci5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmgJKHJldmlzaW9uIDI2NjMxMikK
KysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmgJKHdvcmtpbmcgY29weSkKQEAg
LTYzLDExICs2MywxMSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+TGlua0xvYWRlcigpOwogCiAg
ICAgdm9pZCBsb2FkTGluayhjb25zdCBMaW5rTG9hZFBhcmFtZXRlcnMmLCBEb2N1bWVudCYpOwot
ICAgIHN0YXRpYyBPcHRpb25hbDxDYWNoZWRSZXNvdXJjZTo6VHlwZT4gcmVzb3VyY2VUeXBlRnJv
bUFzQXR0cmlidXRlKGNvbnN0IFN0cmluZyYgYXMpOworICAgIHN0YXRpYyBPcHRpb25hbDxDYWNo
ZWRSZXNvdXJjZTo6VHlwZT4gcmVzb3VyY2VUeXBlRnJvbUFzQXR0cmlidXRlKGNvbnN0IFN0cmlu
ZyYsIERvY3VtZW50Jik7CiAKICAgICBlbnVtIGNsYXNzIE1lZGlhQXR0cmlidXRlQ2hlY2sgeyBN
ZWRpYUF0dHJpYnV0ZUVtcHR5LCBNZWRpYUF0dHJpYnV0ZU5vdEVtcHR5LCBTa2lwTWVkaWFBdHRy
aWJ1dGVDaGVjayB9OwogICAgIHN0YXRpYyB2b2lkIGxvYWRMaW5rc0Zyb21IZWFkZXIoY29uc3Qg
U3RyaW5nJiBoZWFkZXJWYWx1ZSwgY29uc3QgVVJMJiBiYXNlVVJMLCBEb2N1bWVudCYsIE1lZGlh
QXR0cmlidXRlQ2hlY2spOwotICAgIHN0YXRpYyBib29sIGlzU3VwcG9ydGVkVHlwZShDYWNoZWRS
ZXNvdXJjZTo6VHlwZSwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSk7CisgICAgc3RhdGljIGJvb2wg
aXNTdXBwb3J0ZWRUeXBlKENhY2hlZFJlc291cmNlOjpUeXBlLCBjb25zdCBTdHJpbmcmIG1pbWVU
eXBlLCBEb2N1bWVudCYpOwogCiAgICAgdm9pZCB0cmlnZ2VyRXZlbnRzKGNvbnN0IENhY2hlZFJl
c291cmNlJik7CiAgICAgdm9pZCBjYW5jZWxMb2FkKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9ET01X
aW5kb3cuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTU3LDcgKzU3LDcgQEAgdHlwZWRlZiBVU1ZTdHJp
bmcgQ1NTT01TdHJpbmc7CiAgICAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwogICAgIFtEb05v
dENoZWNrU2VjdXJpdHksIFB1dEZvcndhcmRzPWhyZWYsIFVuZm9yZ2VhYmxlXSByZWFkb25seSBh
dHRyaWJ1dGUgTG9jYXRpb24gbG9jYXRpb247CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEhpc3Rv
cnkgaGlzdG9yeTsKLSAgICBbRW5hYmxlZEF0UnVudGltZT1DdXN0b21FbGVtZW50cywgSW1wbGVt
ZW50ZWRBcz1lbnN1cmVDdXN0b21FbGVtZW50UmVnaXN0cnldIHJlYWRvbmx5IGF0dHJpYnV0ZSBD
dXN0b21FbGVtZW50UmVnaXN0cnkgY3VzdG9tRWxlbWVudHM7CisgICAgW0VuYWJsZWRCeVNldHRp
bmc9Q3VzdG9tRWxlbWVudHMsIEltcGxlbWVudGVkQXM9ZW5zdXJlQ3VzdG9tRWxlbWVudFJlZ2lz
dHJ5XSByZWFkb25seSBhdHRyaWJ1dGUgQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5IGN1c3RvbUVsZW1l
bnRzOwogICAgIFtSZXBsYWNlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIEJhclByb3AgbG9jYXRp
b25iYXI7CiAgICAgW1JlcGxhY2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgQmFyUHJvcCBtZW51
YmFyOwogICAgIFtSZXBsYWNlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIEJhclByb3AgcGVyc29u
YWxiYXI7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVy
LmlkbAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rp
b25PYnNlcnZlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAKIFsKICAgICBB
Y3RpdmVET01PYmplY3QsCiAgICAgQ29uZGl0aW9uYWw9SU5URVJTRUNUSU9OX09CU0VSVkVSLAot
ICAgIEVuYWJsZWRBdFJ1bnRpbWU9SW50ZXJzZWN0aW9uT2JzZXJ2ZXIKKyAgICBFbmFibGVkQnlT
ZXR0aW5nPUludGVyc2VjdGlvbk9ic2VydmVyCiBdIGludGVyZmFjZSBJbnRlcnNlY3Rpb25PYnNl
cnZlciB7CiAgICAgW0NhbGxXaXRoPURvY3VtZW50LCBNYXlUaHJvd0V4Y2VwdGlvbl0gY29uc3Ry
dWN0b3IoSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjayBjYWxsYmFjaywgb3B0aW9uYWwgSW50
ZXJzZWN0aW9uT2JzZXJ2ZXJJbml0IG9wdGlvbnMpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
YWdlL0ludGVyc2VjdGlvbk9ic2VydmVyRW50cnkuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeS5pZGwJKHJldmlzaW9uIDI2NjMx
MikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeS5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAgdHlwZWRlZiBkb3VibGUgRE9NSGlnaFJl
c1RpbWVTdGFtcDsKIFsKICAgICBDb25kaXRpb25hbD1JTlRFUlNFQ1RJT05fT0JTRVJWRVIsCiAg
ICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKLSAgICBFbmFibGVkQXRSdW50aW1lPUludGVy
c2VjdGlvbk9ic2VydmVyLAorICAgIEVuYWJsZWRCeVNldHRpbmc9SW50ZXJzZWN0aW9uT2JzZXJ2
ZXIsCiAgICAgSlNDdXN0b21NYXJrRnVuY3Rpb24sCiBdIGludGVyZmFjZSBJbnRlcnNlY3Rpb25P
YnNlcnZlckVudHJ5IHsKICAgICBjb25zdHJ1Y3RvcihJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5
SW5pdCBpbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5SW5pdCk7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wYWdlL05hdmlnYXRvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9O
YXZpZ2F0b3IuY3BwCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL05h
dmlnYXRvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyNCwxNiArMTI0LDE2IEBAIHN0YXRpYyBP
cHRpb25hbDxVUkw+IHNoYXJlYWJsZVVSTEZvclNoYXIKICAgICByZXR1cm4gdXJsOwogfQogCi1i
b29sIE5hdmlnYXRvcjo6Y2FuU2hhcmUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwg
Y29uc3QgU2hhcmVEYXRhJiBkYXRhKQorYm9vbCBOYXZpZ2F0b3I6OmNhblNoYXJlKERvY3VtZW50
JiBkb2N1bWVudCwgY29uc3QgU2hhcmVEYXRhJiBkYXRhKQogewogICAgIGF1dG8qIGZyYW1lID0g
dGhpcy0+ZnJhbWUoKTsKICAgICBpZiAoIWZyYW1lIHx8ICFmcmFtZS0+cGFnZSgpKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKICAgICBib29sIGhhc1NoYXJlYWJsZVRpdGxlT3JUZXh0ID0gIWRh
dGEudGl0bGUuaXNOdWxsKCkgfHwgIWRhdGEudGV4dC5pc051bGwoKTsKLSAgICBib29sIGhhc1No
YXJlYWJsZVVSTCA9ICEhc2hhcmVhYmxlVVJMRm9yU2hhcmVEYXRhKGNvbnRleHQsIGRhdGEpOwor
ICAgIGJvb2wgaGFzU2hhcmVhYmxlVVJMID0gISFzaGFyZWFibGVVUkxGb3JTaGFyZURhdGEoZG9j
dW1lbnQsIGRhdGEpOwogI2lmIEVOQUJMRShGSUxFX1NIQVJFKQotICAgIGJvb2wgaGFzU2hhcmVh
YmxlRmlsZXMgPSBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLndlYlNo
YXJlRmlsZUFQSUVuYWJsZWQoKSAmJiAhZGF0YS5maWxlcy5pc0VtcHR5KCk7CisgICAgYm9vbCBo
YXNTaGFyZWFibGVGaWxlcyA9IGRvY3VtZW50LnNldHRpbmdzKCkud2ViU2hhcmVGaWxlQVBJRW5h
YmxlZCgpICYmICFkYXRhLmZpbGVzLmlzRW1wdHkoKTsKICNlbHNlCiAgICAgYm9vbCBoYXNTaGFy
ZWFibGVGaWxlcyA9IGZhbHNlOwogI2VuZGlmCkBAIC0xNDEsOSArMTQxLDkgQEAgYm9vbCBOYXZp
Z2F0b3I6OmNhblNoYXJlKFNjcmlwdEV4ZWN1dGlvbgogICAgIHJldHVybiBoYXNTaGFyZWFibGVU
aXRsZU9yVGV4dCB8fCBoYXNTaGFyZWFibGVVUkwgfHwgaGFzU2hhcmVhYmxlRmlsZXM7CiB9CiAK
LXZvaWQgTmF2aWdhdG9yOjpzaGFyZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBj
b25zdCBTaGFyZURhdGEmIGRhdGEsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK3Zv
aWQgTmF2aWdhdG9yOjpzaGFyZShEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFNoYXJlRGF0YSYg
ZGF0YSwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogewotICAgIGlmICghY2FuU2hh
cmUoY29udGV4dCwgZGF0YSkpIHsKKyAgICBpZiAoIWNhblNoYXJlKGRvY3VtZW50LCBkYXRhKSkg
ewogICAgICAgICBwcm9taXNlLT5yZWplY3QoVHlwZUVycm9yKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KQEAgLTE1NSwyMSArMTU1LDIxIEBAIHZvaWQgTmF2aWdhdG9yOjpzaGFyZShTY3JpcHRF
eGVjdXRpb25Db24KICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIE9wdGlvbmFsPFVSTD4g
dXJsID0gc2hhcmVhYmxlVVJMRm9yU2hhcmVEYXRhKGNvbnRleHQsIGRhdGEpOworICAgIE9wdGlv
bmFsPFVSTD4gdXJsID0gc2hhcmVhYmxlVVJMRm9yU2hhcmVEYXRhKGRvY3VtZW50LCBkYXRhKTsK
ICAgICBTaGFyZURhdGFXaXRoUGFyc2VkVVJMIHNoYXJlRGF0YSA9IHsKICAgICAgICAgZGF0YSwK
ICAgICAgICAgdXJsLAogICAgICAgICB7IH0sCiAgICAgfTsKICNpZiBFTkFCTEUoRklMRV9TSEFS
RSkKLSAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS53ZWJT
aGFyZUZpbGVBUElFbmFibGVkKCkgJiYgIWRhdGEuZmlsZXMuaXNFbXB0eSgpKSB7CisgICAgaWYg
KGRvY3VtZW50LnNldHRpbmdzKCkud2ViU2hhcmVGaWxlQVBJRW5hYmxlZCgpICYmICFkYXRhLmZp
bGVzLmlzRW1wdHkoKSkgewogICAgICAgICBpZiAobV9sb2FkZXIpCiAgICAgICAgICAgICBtX2xv
YWRlci0+Y2FuY2VsKCk7CiAgICAgICAgIAogICAgICAgICBtX2xvYWRlciA9IFNoYXJlRGF0YVJl
YWRlcjo6Y3JlYXRlKFt0aGlzLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0gKEV4Y2VwdGlv
bk9yPFNoYXJlRGF0YVdpdGhQYXJzZWRVUkwmPiByZWFkRGF0YSkgbXV0YWJsZSB7CiAgICAgICAg
ICAgICBzaG93U2hhcmVEYXRhKHJlYWREYXRhLCBXVEZNb3ZlKHByb21pc2UpKTsKICAgICAgICAg
fSk7Ci0gICAgICAgIG1fbG9hZGVyLT5zdGFydChmcmFtZSgpLT5kb2N1bWVudCgpLCBXVEZNb3Zl
KHNoYXJlRGF0YSkpOworICAgICAgICBtX2xvYWRlci0+c3RhcnQoJmRvY3VtZW50LCBXVEZNb3Zl
KHNoYXJlRGF0YSkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogI2VuZGlmCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvTmF2aWdhdG9yLmgJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvTmF2aWdhdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDggKzQ5LDggQEAgcHVibGljOgog
ICAgIFN0cmluZyBwbGF0Zm9ybSgpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgdXNlckFnZW50Q2hh
bmdlZCgpOwogICAgIGJvb2wgb25MaW5lKCkgY29uc3QgZmluYWw7Ci0gICAgYm9vbCBjYW5TaGFy
ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgY29uc3QgU2hhcmVEYXRhJik7Ci0gICAgdm9pZCBz
aGFyZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgY29uc3QgU2hhcmVEYXRhJiwgUmVmPERlZmVy
cmVkUHJvbWlzZT4mJik7CisgICAgYm9vbCBjYW5TaGFyZShEb2N1bWVudCYsIGNvbnN0IFNoYXJl
RGF0YSYpOworICAgIHZvaWQgc2hhcmUoRG9jdW1lbnQmLCBjb25zdCBTaGFyZURhdGEmLCBSZWY8
RGVmZXJyZWRQcm9taXNlPiYmKTsKICAgICAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAg
IGJvb2wgc3RhbmRhbG9uZSgpIGNvbnN0OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9OYXZp
Z2F0b3JTaGFyZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0
b3JTaGFyZS5pZGwJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2
aWdhdG9yU2hhcmUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw4ICsyNiw4IEBACiAKIFsKICAg
ICBOb0ludGVyZmFjZU9iamVjdCwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdlYlNoYXJlCisgICAg
RW5hYmxlZEJ5U2V0dGluZz1XZWJTaGFyZQogXSBpbnRlcmZhY2UgTmF2aWdhdG9yU2hhcmUgewot
ICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LCBTZWN1cmVDb250ZXh0XSBib29s
ZWFuIGNhblNoYXJlKG9wdGlvbmFsIFNoYXJlRGF0YSBzaGFyZURhdGEpOwotICAgIFtDYWxsV2l0
aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LCBTZWN1cmVDb250ZXh0XSBQcm9taXNlPHVuZGVmaW5l
ZD4gc2hhcmUob3B0aW9uYWwgU2hhcmVEYXRhIHNoYXJlRGF0YSk7CisgICAgW0NhbGxXaXRoPURv
Y3VtZW50LCBTZWN1cmVDb250ZXh0XSBib29sZWFuIGNhblNoYXJlKG9wdGlvbmFsIFNoYXJlRGF0
YSBzaGFyZURhdGEpOworICAgIFtDYWxsV2l0aD1Eb2N1bWVudCwgU2VjdXJlQ29udGV4dF0gUHJv
bWlzZTx1bmRlZmluZWQ+IHNoYXJlKG9wdGlvbmFsIFNoYXJlRGF0YSBzaGFyZURhdGEpOwogfTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNw
cAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxl
ZEZlYXR1cmVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsOSArNDEsNiBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OlJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXMoKQogewotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIFBMQVRGT1JNKENPQ09BKQotICAg
IG1faXNNZWRpYURldmljZXNFbmFibGVkID0gZmFsc2U7Ci0jZW5kaWYKICNpZiBQTEFURk9STShX
QVRDSE9TKQogICAgIG1faXNXZWJTb2NrZXRFbmFibGVkID0gZmFsc2U7CiAjZW5kaWYKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCShyZXZpc2lv
biAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMu
aAkod29ya2luZyBjb3B5KQpAQCAtNDQsMTggKzQ0LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
Y2xhc3MgUnVudGltZUVuYWJsZWRGZWF0dXJlcyB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UnVudGltZUVuYWJsZWRGZWF0dXJlcyk7CiBwdWJsaWM6Ci0gICAgdm9pZCBzZXRCbGFua0FuY2hv
clRhcmdldEltcGxpZXNOb09wZW5lckVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9ibGFua0Fu
Y2hvclRhcmdldEltcGxpZXNOb09wZW5lckVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAgICBib29s
IGJsYW5rQW5jaG9yVGFyZ2V0SW1wbGllc05vT3BlbmVyRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJu
IG1fYmxhbmtBbmNob3JUYXJnZXRJbXBsaWVzTm9PcGVuZXJFbmFibGVkOyB9Ci0KLSAgICB2b2lk
IHNldExpbmtQcmVsb2FkRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzTGlua1ByZWxvYWRF
bmFibGVkID0gaXNFbmFibGVkOyB9Ci0gICAgYm9vbCBsaW5rUHJlbG9hZEVuYWJsZWQoKSBjb25z
dCB7IHJldHVybiBtX2lzTGlua1ByZWxvYWRFbmFibGVkOyB9Ci0KLSAgICB2b2lkIHNldExpbmtQ
cmVmZXRjaEVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc0xpbmtQcmVmZXRjaEVuYWJsZWQg
PSBpc0VuYWJsZWQ7IH0KLSAgICBib29sIGxpbmtQcmVmZXRjaEVuYWJsZWQoKSBjb25zdCB7IHJl
dHVybiBtX2lzTGlua1ByZWZldGNoRW5hYmxlZDsgfQotCi0gICAgdm9pZCBzZXRNZWRpYVByZWxv
YWRpbmdFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNNZWRpYVByZWxvYWRpbmdFbmFibGVk
ID0gaXNFbmFibGVkOyB9Ci0gICAgYm9vbCBtZWRpYVByZWxvYWRpbmdFbmFibGVkKCkgY29uc3Qg
eyByZXR1cm4gbV9pc01lZGlhUHJlbG9hZGluZ0VuYWJsZWQ7IH0KLQogICAgIHZvaWQgc2V0UmVz
b3VyY2VUaW1pbmdFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNSZXNvdXJjZVRpbWluZ0Vu
YWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIHJlc291cmNlVGltaW5nRW5hYmxlZCgpIGNv
bnN0IHsgcmV0dXJuIG1faXNSZXNvdXJjZVRpbWluZ0VuYWJsZWQ7IH0KIApAQCAtNzAsMzkgKzU4
LDE4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFNoYWRvd0RPTUVuYWJsZWQoYm9vbCBpc0VuYWJs
ZWQpIHsgbV9pc1NoYWRvd0RPTUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIHNoYWRv
d0RPTUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzU2hhZG93RE9NRW5hYmxlZDsgfQogCi0g
ICAgdm9pZCBzZXRJbnB1dEV2ZW50c0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pbnB1dEV2
ZW50c0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAgICBib29sIGlucHV0RXZlbnRzRW5hYmxlZCgp
IGNvbnN0IHsgcmV0dXJuIG1faW5wdXRFdmVudHNFbmFibGVkOyB9Ci0KLSAgICB2b2lkIHNldElu
dGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNJbnRl
cmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotICAgIGJvb2wgaW50
ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzSW50ZXJh
Y3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQ7IH0KLQotICAgIHZvaWQgc2V0Q3VzdG9tRWxlbWVu
dHNFbmFibGVkKGJvb2wgYXJlRW5hYmxlZCkgeyBtX2FyZUN1c3RvbUVsZW1lbnRzRW5hYmxlZCA9
IGFyZUVuYWJsZWQ7IH0KLSAgICBib29sIGN1c3RvbUVsZW1lbnRzRW5hYmxlZCgpIGNvbnN0IHsg
cmV0dXJuIG1fYXJlQ3VzdG9tRWxlbWVudHNFbmFibGVkOyB9Ci0KICAgICB2b2lkIHNldE1lbnVJ
dGVtRWxlbWVudEVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc01lbnVJdGVtRWxlbWVudEVu
YWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIG1lbnVJdGVtRWxlbWVudEVuYWJsZWQoKSBj
b25zdCB7IHJldHVybiBtX2lzTWVudUl0ZW1FbGVtZW50RW5hYmxlZDsgfQogCiAgICAgdm9pZCBz
ZXREaXJlY3RvcnlVcGxvYWRFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNEaXJlY3RvcnlV
cGxvYWRFbmFibGVkID0gaXNFbmFibGVkOyB9CiAgICAgYm9vbCBkaXJlY3RvcnlVcGxvYWRFbmFi
bGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc0RpcmVjdG9yeVVwbG9hZEVuYWJsZWQ7IH0KIAotICAg
IHZvaWQgc2V0RGF0YVRyYW5zZmVySXRlbXNFbmFibGVkKGJvb2wgYXJlRW5hYmxlZCkgeyBtX2Fy
ZURhdGFUcmFuc2Zlckl0ZW1zRW5hYmxlZCA9IGFyZUVuYWJsZWQ7IH0KLSAgICBib29sIGRhdGFU
cmFuc2Zlckl0ZW1zRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fYXJlRGF0YVRyYW5zZmVySXRl
bXNFbmFibGVkOyB9Ci0KICAgICB2b2lkIHNldEN1c3RvbVBhc3RlYm9hcmREYXRhRW5hYmxlZChi
b29sIGlzRW5hYmxlZCkgeyBtX2lzQ3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVkID0gaXNFbmFi
bGVkOyB9CiAgICAgYm9vbCBjdXN0b21QYXN0ZWJvYXJkRGF0YUVuYWJsZWQoKSBjb25zdCB7IHJl
dHVybiBtX2lzQ3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVkOyB9CiAKLSAgICB2b2lkIHNldFdl
YlNoYXJlRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzV2ViU2hhcmVFbmFibGVkID0gaXNF
bmFibGVkOyB9Ci0gICAgYm9vbCB3ZWJTaGFyZUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lz
V2ViU2hhcmVFbmFibGVkOyB9Ci0KICAgICB2b2lkIHNldE1vZGVybk1lZGlhQ29udHJvbHNFbmFi
bGVkKGJvb2wgYXJlRW5hYmxlZCkgeyBtX2FyZU1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkID0g
YXJlRW5hYmxlZDsgfQogICAgIGJvb2wgbW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQoKSBjb25z
dCB7IHJldHVybiBtX2FyZU1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkOyB9CiAKLSAgICB2b2lk
IHNldFdlYkF1dGhlbnRpY2F0aW9uRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzV2ViQXV0
aGVudGljYXRpb25FbmFibGVkID0gaXNFbmFibGVkOyB9Ci0gICAgYm9vbCB3ZWJBdXRoZW50aWNh
dGlvbkVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzV2ViQXV0aGVudGljYXRpb25FbmFibGVk
OyB9Ci0KLSAgICB2b2lkIHNldFdlYkF1dGhlbnRpY2F0aW9uTG9jYWxBdXRoZW50aWNhdG9yRW5h
YmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzV2ViQXV0aGVudGljYXRpb25Mb2NhbEF1dGhlbnRp
Y2F0b3JFbmFibGVkID0gaXNFbmFibGVkOyB9Ci0gICAgYm9vbCB3ZWJBdXRoZW50aWNhdGlvbkxv
Y2FsQXV0aGVudGljYXRvckVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzV2ViQXV0aGVudGlj
YXRpb25Mb2NhbEF1dGhlbnRpY2F0b3JFbmFibGVkOyB9Ci0KICAgICB2b2lkIHNldElzU2VjdXJl
Q29udGV4dEF0dHJpYnV0ZUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1NlY3VyZUNvbnRl
eHRBdHRyaWJ1dGVFbmFibGVkID0gaXNFbmFibGVkOyB9CiAgICAgYm9vbCBpc1NlY3VyZUNvbnRl
eHRBdHRyaWJ1dGVFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1NlY3VyZUNvbnRleHRBdHRy
aWJ1dGVFbmFibGVkOyB9CiAKQEAgLTE3MCwyMSArMTM3LDEyIEBAIHB1YmxpYzoKICAgICB2b2lk
IHNldEV4cGVyaW1lbnRhbFBsdWdJblNhbmRib3hQcm9maWxlc0VuYWJsZWQoYm9vbCBpc0VuYWJs
ZWQpIHsgbV9leHBlcmltZW50YWxQbHVnSW5TYW5kYm94UHJvZmlsZXNFbmFibGVkID0gaXNFbmFi
bGVkOyB9CiAgICAgYm9vbCBleHBlcmltZW50YWxQbHVnSW5TYW5kYm94UHJvZmlsZXNFbmFibGVk
KCkgY29uc3QgeyByZXR1cm4gbV9leHBlcmltZW50YWxQbHVnSW5TYW5kYm94UHJvZmlsZXNFbmFi
bGVkOyB9CiAKLSAgICB2b2lkIHNldERpc2FibGVkQWRhcHRhdGlvbnNNZXRhVGFnRW5hYmxlZChi
b29sIGlzRW5hYmxlZCkgeyBtX2Rpc2FibGVkQWRhcHRhdGlvbnNNZXRhVGFnRW5hYmxlZCA9IGlz
RW5hYmxlZDsgfQotICAgIGJvb2wgZGlzYWJsZWRBZGFwdGF0aW9uc01ldGFUYWdFbmFibGVkKCkg
Y29uc3QgeyByZXR1cm4gbV9kaXNhYmxlZEFkYXB0YXRpb25zTWV0YVRhZ0VuYWJsZWQ7IH0KLQog
ICAgIHZvaWQgc2V0QXR0clN0eWxlRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2F0dHJTdHls
ZUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIGF0dHJTdHlsZUVuYWJsZWQoKSBjb25z
dCB7IHJldHVybiBtX2F0dHJTdHlsZUVuYWJsZWQ7IH0KIAogICAgIHZvaWQgc2V0V2ViQVBJU3Rh
dGlzdGljc0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV93ZWJBUElTdGF0aXN0aWNzRW5hYmxl
ZCA9IGlzRW5hYmxlZDsgfQogICAgIGJvb2wgd2ViQVBJU3RhdGlzdGljc0VuYWJsZWQoKSBjb25z
dCB7IHJldHVybiBtX3dlYkFQSVN0YXRpc3RpY3NFbmFibGVkOyB9CiAKLSAgICB2b2lkIHNldENT
U0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fQ1NT
Q3VzdG9tUHJvcGVydGllc0FuZFZhbHVlc0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAgICBib29s
IGNzc0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9D
U1NDdXN0b21Qcm9wZXJ0aWVzQW5kVmFsdWVzRW5hYmxlZDsgfQotCi0gICAgdm9pZCBzZXRTeW50
aGV0aWNFZGl0aW5nQ29tbWFuZHNFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fc3ludGhldGlj
RWRpdGluZ0NvbW1hbmRzRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotICAgIGJvb2wgc3ludGhldGlj
RWRpdGluZ0NvbW1hbmRzRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc3ludGhldGljRWRpdGlu
Z0NvbW1hbmRzRW5hYmxlZDsgfQotCiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRF
WFQpCiAgICAgdm9pZCBzZXRMYXlvdXRGb3JtYXR0aW5nQ29udGV4dEVuYWJsZWQoYm9vbCBpc0Vu
YWJsZWQpIHsgbV9sYXlvdXRGb3JtYXR0aW5nQ29udGV4dEVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0K
ICAgICBib29sIGxheW91dEZvcm1hdHRpbmdDb250ZXh0RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJu
IG1fbGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRFbmFibGVkOyB9CkBAIC0yMjgsMTcgKzE4Niw2IEBA
IHB1YmxpYzoKICAgICBib29sIHVzZXJHZXN0dXJlUHJvbWlzZVByb3BhZ2F0aW9uRW5hYmxlZCgp
IGNvbnN0IHsgcmV0dXJuIG1fdXNlckdlc3R1cmVQcm9taXNlUHJvcGFnYXRpb25FbmFibGVkOyB9
CiAgICAgdm9pZCBzZXRVc2VyR2VzdHVyZVByb21pc2VQcm9wYWdhdGlvbkVuYWJsZWQoYm9vbCBp
c0VuYWJsZWQpIHsgbV91c2VyR2VzdHVyZVByb21pc2VQcm9wYWdhdGlvbkVuYWJsZWQgPSBpc0Vu
YWJsZWQ7IH0KIAotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0gICAgYm9vbCBtZWRpYVJlY29y
ZGVyRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNNZWRpYVJlY29yZGVyRW5hYmxlZDsgfQot
ICAgIHZvaWQgc2V0TWVkaWFSZWNvcmRlckVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc01l
ZGlhUmVjb3JkZXJFbmFibGVkID0gaXNFbmFibGVkOyB9Ci0gICAgYm9vbCBtZWRpYURldmljZXNF
bmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc01lZGlhRGV2aWNlc0VuYWJsZWQ7IH0KLSAgICB2
b2lkIHNldE1lZGlhRGV2aWNlc0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc01lZGlhRGV2
aWNlc0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAgICBib29sIG1lZGlhU3RyZWFtRW5hYmxlZCgp
IGNvbnN0IHsgcmV0dXJuIG1faXNNZWRpYVN0cmVhbUVuYWJsZWQ7IH0KLSAgICB2b2lkIHNldE1l
ZGlhU3RyZWFtRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzTWVkaWFTdHJlYW1FbmFibGVk
ID0gaXNFbmFibGVkOyB9Ci0gICAgYm9vbCBzY3JlZW5DYXB0dXJlRW5hYmxlZCgpIGNvbnN0IHsg
cmV0dXJuIG1faXNTY3JlZW5DYXB0dXJlRW5hYmxlZDsgfQotICAgIHZvaWQgc2V0U2NyZWVuQ2Fw
dHVyZUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1NjcmVlbkNhcHR1cmVFbmFibGVkID0g
aXNFbmFibGVkOyB9Ci0jZW5kaWYKLQogI2lmIEVOQUJMRShXRUJfUlRDKQogICAgIGJvb2wgd2Vi
UlRDRFRNRkVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzV2ViUlRDRFRNRkVuYWJsZWQ7IH0K
ICAgICB2b2lkIHNldFdlYlJUQ0RUTUZFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNXZWJS
VENEVE1GRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQpAQCAtMjY4LDExICsyMTUsNiBAQCBwdWJsaWM6
CiAgICAgdm9pZCBzZXREYXRhTGlzdEVsZW1lbnRFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1f
aXNEYXRhTGlzdEVsZW1lbnRFbmFibGVkID0gaXNFbmFibGVkOyB9CiAjZW5kaWYKIAotI2lmIEVO
QUJMRShHQU1FUEFEKQotICAgIHZvaWQgc2V0R2FtZXBhZHNFbmFibGVkKGJvb2wgYXJlRW5hYmxl
ZCkgeyBtX2FyZUdhbWVwYWRzRW5hYmxlZCA9IGFyZUVuYWJsZWQ7IH0KLSAgICBib29sIGdhbWVw
YWRzRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fYXJlR2FtZXBhZHNFbmFibGVkOyB9Ci0jZW5k
aWYKLQogI2lmIEVOQUJMRShXRUJHTDIpCiAgICAgdm9pZCBzZXRXZWJHTDJFbmFibGVkKGJvb2wg
aXNFbmFibGVkKSB7IG1faXNXZWJHTDJFbmFibGVkID0gaXNFbmFibGVkOyB9CiAgICAgYm9vbCB3
ZWJHTDJFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1dlYkdMMkVuYWJsZWQ7IH0KQEAgLTI5
NSw1MCArMjM3LDE3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFRyYW5zZm9ybVN0cmVhbUFQSUVu
YWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1RyYW5zZm9ybVN0cmVhbUFQSUVuYWJsZWQgPSBp
c0VuYWJsZWQ7IH0KICAgICBib29sIHRyYW5zZm9ybVN0cmVhbUFQSUVuYWJsZWQoKSBjb25zdCB7
IHJldHVybiBtX2lzVHJhbnNmb3JtU3RyZWFtQVBJRW5hYmxlZDsgfQogCi0jaWYgRU5BQkxFKERP
V05MT0FEX0FUVFJJQlVURSkKLSAgICB2b2lkIHNldERvd25sb2FkQXR0cmlidXRlRW5hYmxlZChi
b29sIGlzRW5hYmxlZCkgeyBtX2lzRG93bmxvYWRBdHRyaWJ1dGVFbmFibGVkID0gaXNFbmFibGVk
OyB9Ci0gICAgYm9vbCBkb3dubG9hZEF0dHJpYnV0ZUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBt
X2lzRG93bmxvYWRBdHRyaWJ1dGVFbmFibGVkOyB9Ci0jZW5kaWYKLQotI2lmIEVOQUJMRShJTlRF
UlNFQ1RJT05fT0JTRVJWRVIpCi0gICAgdm9pZCBzZXRJbnRlcnNlY3Rpb25PYnNlcnZlckVuYWJs
ZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pbnRlcnNlY3Rpb25PYnNlcnZlckVuYWJsZWQgPSBpc0Vu
YWJsZWQ7IH0KLSAgICBib29sIGludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZCgpIGNvbnN0IHsg
cmV0dXJuIG1faW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkOyB9Ci0jZW5kaWYKLQotICAgIHZv
aWQgc2V0VW5kb01hbmFnZXJBUElFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fdW5kb01hbmFn
ZXJBUElFbmFibGVkID0gaXNFbmFibGVkOyB9Ci0gICAgYm9vbCB1bmRvTWFuYWdlckFQSUVuYWJs
ZWQoKSBjb25zdCB7IHJldHVybiBtX3VuZG9NYW5hZ2VyQVBJRW5hYmxlZDsgfQotCi0jaWYgRU5B
QkxFKEVOQ1JZUFRFRF9NRURJQSkKLSAgICB2b2lkIHNldEVuY3J5cHRlZE1lZGlhQVBJRW5hYmxl
ZChib29sIGlzRW5hYmxlZCkgeyBtX2VuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZCA9IGlzRW5hYmxl
ZDsgfQotICAgIGJvb2wgZW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKCkgY29uc3QgeyByZXR1cm4g
bV9lbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQ7IH0KLSNlbmRpZgotCi0jaWYgRU5BQkxFKExFR0FD
WV9FTkNSWVBURURfTUVESUEpCi0gICAgdm9pZCBzZXRMZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSUVu
YWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9sZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQg
PSBpc0VuYWJsZWQ7IH0KLSAgICBib29sIGxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZCgp
IGNvbnN0IHsgcmV0dXJuIG1fbGVnYWN5RW5jcnlwdGVkTWVkaWFBUElFbmFibGVkOyB9Ci0jZW5k
aWYKLQogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKICAgICBib29sIHNlcnZpY2VXb3JrZXJF
bmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9zZXJ2aWNlV29ya2VyRW5hYmxlZDsgfQogICAgIHZv
aWQgc2V0U2VydmljZVdvcmtlckVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9zZXJ2aWNlV29y
a2VyRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogI2VuZGlmCiAKLSNpZiBVU0UoU1lTVEVNX1BSRVZJ
RVcpCi0gICAgdm9pZCBzZXRTeXN0ZW1QcmV2aWV3RW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBt
X3N5c3RlbVByZXZpZXdFbmFibGVkID0gaXNFbmFibGVkOyB9Ci0gICAgYm9vbCBzeXN0ZW1QcmV2
aWV3RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc3lzdGVtUHJldmlld0VuYWJsZWQ7IH0KLSNl
bmRpZgotCiAgICAgdm9pZCBzZXRDU1NMb2dpY2FsRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBt
X0NTU0xvZ2ljYWxFbmFibGVkID0gaXNFbmFibGVkOyB9CiAgICAgYm9vbCBjc3NMb2dpY2FsRW5h
YmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fQ1NTTG9naWNhbEVuYWJsZWQ7IH0KIAotICAgIHZvaWQg
c2V0TGVnYWN5QmVmb3JlTG9hZEV2ZW50RW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2xlZ2Fj
eUJlZm9yZUxvYWRFdmVudEVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAgICBib29sIGxlZ2FjeUJl
Zm9yZUxvYWRFdmVudEVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2xlZ2FjeUJlZm9yZUxvYWRF
dmVudEVuYWJsZWQ7IH0KLQogICAgIHZvaWQgc2V0TGluZUhlaWdodFVuaXRzRW5hYmxlZChib29s
IGlzRW5hYmxlZCkgeyBtX2xpbmVIZWlnaHRVbml0c0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAg
ICBib29sIGxpbmVIZWlnaHRVbml0c0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2xpbmVIZWln
aHRVbml0c0VuYWJsZWQ7IH0KIAotICAgIGJvb2wgYWRDbGlja0F0dHJpYnV0aW9uRW5hYmxlZCgp
IGNvbnN0IHsgcmV0dXJuIG1fYWRDbGlja0F0dHJpYnV0aW9uRW5hYmxlZDsgfQotICAgIHZvaWQg
c2V0QWRDbGlja0F0dHJpYnV0aW9uRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2FkQ2xpY2tB
dHRyaWJ1dGlvbkVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIGFkQ2xpY2tBdHRyaWJ1
dGlvbkRlYnVnTW9kZUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2FkQ2xpY2tBdHRyaWJ1dGlv
bkRlYnVnTW9kZUVuYWJsZWQ7IH0KICAgICB2b2lkIHNldEFkQ2xpY2tBdHRyaWJ1dGlvbkRlYnVn
TW9kZUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9hZENsaWNrQXR0cmlidXRpb25EZWJ1Z01v
ZGVFbmFibGVkID0gaXNFbmFibGVkOyB9CiAKQEAgLTM0OSwyMSArMjU4LDkgQEAgcHVibGljOgog
ICAgIHZvaWQgc2V0VG91Y2hFdmVudHNFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fdG91Y2hF
dmVudHNFbmFibGVkID0gaXNFbmFibGVkOyB9CiAjZW5kaWYKIAotICAgIGJvb2wgcmVmZXJyZXJQ
b2xpY3lBdHRyaWJ1dGVFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9yZWZlcnJlclBvbGljeUF0
dHJpYnV0ZUVuYWJsZWQ7IH0KLSAgICB2b2lkIHNldFJlZmVycmVyUG9saWN5QXR0cmlidXRlRW5h
YmxlZChib29sIGlzRW5hYmxlZCkgeyBtX3JlZmVycmVyUG9saWN5QXR0cmlidXRlRW5hYmxlZCA9
IGlzRW5hYmxlZDsgfQotCiAgICAgYm9vbCBwYWdlQXRSdWxlU3VwcG9ydEVuYWJsZWQoKSBjb25z
dCB7IHJldHVybiBtX3BhZ2VBdFJ1bGVTdXBwb3J0RW5hYmxlZDsgfQogICAgIHZvaWQgc2V0UGFn
ZUF0UnVsZVN1cHBvcnRFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fcGFnZUF0UnVsZVN1cHBv
cnRFbmFibGVkID0gaXNFbmFibGVkOyB9CiAKLSAgICBib29sIGludGVycnVwdEF1ZGlvT25QYWdl
VmlzaWJpbGl0eUNoYW5nZUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2ludGVycnVwdEF1ZGlv
T25QYWdlVmlzaWJpbGl0eUNoYW5nZUVuYWJsZWQ7IH0KLSAgICB2b2lkIHNldEludGVycnVwdEF1
ZGlvT25QYWdlVmlzaWJpbGl0eUNoYW5nZUVuYWJsZWQoYm9vbCBlbmFibGVkKSB7IG1faW50ZXJy
dXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5Q2hhbmdlRW5hYmxlZCA9IGVuYWJsZWQ7IH0KLQotICAg
IGJvb2wgbGlua1ByZWxvYWRSZXNwb25zaXZlSW1hZ2VzRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJu
IG1fbGlua1ByZWxvYWRSZXNwb25zaXZlSW1hZ2VzRW5hYmxlZDsgfQotICAgIHZvaWQgc2V0TGlu
a1ByZWxvYWRSZXNwb25zaXZlSW1hZ2VzRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2xpbmtQ
cmVsb2FkUmVzcG9uc2l2ZUltYWdlc0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLQotICAgIHZvaWQg
c2V0TGF6eUltYWdlTG9hZGluZ0VuYWJsZWQoYm9vbCBhcmVFbmFibGVkKSB7IG1fbGF6eUltYWdl
TG9hZGluZ0VuYWJsZWQgPSBhcmVFbmFibGVkOyB9Ci0gICAgYm9vbCBsYXp5SW1hZ2VMb2FkaW5n
RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fbGF6eUltYWdlTG9hZGluZ0VuYWJsZWQ7IH0KLQog
ICAgIHZvaWQgc2V0Q1NTU2hhZG93UGFydHNFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXND
U1NTaGFkb3dQYXJ0c0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIGNzc1NoYWRvd1Bh
cnRzRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNDU1NTaGFkb3dQYXJ0c0VuYWJsZWQ7IH0K
IApAQCAtMzc3LDIwICsyNzQsMTEgQEAgcHVibGljOgogICAgIGJvb2wgc2VjdXJlQ29udGV4dENo
ZWNrc0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3NlY3VyZUNvbnRleHRDaGVja3NFbmFibGVk
OyB9CiAgICAgdm9pZCBzZXRTZWN1cmVDb250ZXh0Q2hlY2tzRW5hYmxlZChib29sIGlzRW5hYmxl
ZCkgeyBtX3NlY3VyZUNvbnRleHRDaGVja3NFbmFibGVkID0gaXNFbmFibGVkOyB9CiAKLSAgICB2
b2lkIHNldElzSW5BcHBCcm93c2VyUHJpdmFjeUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9p
c0luQXBwQnJvd3NlclByaXZhY3lFbmFibGVkID0gaXNFbmFibGVkOyB9Ci0gICAgYm9vbCBpc0lu
QXBwQnJvd3NlclByaXZhY3lFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc0luQXBwQnJvd3Nl
clByaXZhY3lFbmFibGVkOyB9Ci0KLSAgICB2b2lkIHNldE5lZWRzSW5BcHBCcm93c2VyUHJpdmFj
eVF1aXJrcyhib29sIGlzRW5hYmxlZCkgeyBtX25lZWRzSW5BcHBCcm93c2VyUHJpdmFjeVF1aXJr
cyA9IGlzRW5hYmxlZDsgfQotICAgIGJvb2wgbmVlZHNJbkFwcEJyb3dzZXJQcml2YWN5UXVpcmtz
KCkgY29uc3QgeyByZXR1cm4gbV9uZWVkc0luQXBwQnJvd3NlclByaXZhY3lRdWlya3M7IH0KLQog
I2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCiAgICAgdm9pZCBzZXRJc0Fj
Y2Vzc2liaWxpdHlJc29sYXRlZFRyZWVFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fYWNjZXNz
aWJpbGl0eUlzb2xhdGVkVHJlZSA9IGlzRW5hYmxlZDsgfQogICAgIGJvb2wgaXNBY2Nlc3NpYmls
aXR5SXNvbGF0ZWRUcmVlRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fYWNjZXNzaWJpbGl0eUlz
b2xhdGVkVHJlZTsgfQogI2VuZGlmCiAgICAgCi0gICAgdm9pZCBzZXRXZWJTaGFyZUZpbGVBUElF
bmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fd2ViU2hhcmVGaWxlQVBJRW5hYmxlZCA9IGlzRW5h
YmxlZDsgfQotICAgIGJvb2wgd2ViU2hhcmVGaWxlQVBJRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJu
IG1fd2ViU2hhcmVGaWxlQVBJRW5hYmxlZDsgfQotCiAjaWYgSEFWRShJTkNSRU1FTlRBTF9QREZf
QVBJUykKICAgICB2b2lkIHNldEluY3JlbWVudGFsUERGTG9hZGluZ0VuYWJsZWQoYm9vbCBpc0Vu
YWJsZWQpIHsgbV9pbmNyZW1lbnRhbFBERkxvYWRpbmdFbmFibGVkID0gaXNFbmFibGVkOyB9CiAg
ICAgYm9vbCBpbmNyZW1lbnRhbFBERkxvYWRpbmdFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9p
bmNyZW1lbnRhbFBERkxvYWRpbmdFbmFibGVkOyB9CkBAIC00MDUsMjYgKzI5MywxNSBAQCBwcml2
YXRlOgogICAgIC8vIE5ldmVyIGluc3RhbnRpYXRlLgogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXMoKTsKIAotICAgIGJvb2wgbV9ibGFua0FuY2hvclRhcmdldEltcGxpZXNOb09wZW5lckVuYWJs
ZWQgeyB0cnVlIH07CiAgICAgYm9vbCBtX2FyZU1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkIHsg
ZmFsc2UgfTsKLSAgICBib29sIG1faXNMaW5rUHJlbG9hZEVuYWJsZWQgeyB0cnVlIH07Ci0gICAg
Ym9vbCBtX2lzTGlua1ByZWZldGNoRW5hYmxlZCB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX2lzTWVk
aWFQcmVsb2FkaW5nRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzUGFpbnRUaW1pbmdF
bmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNSZXNvdXJjZVRpbWluZ0VuYWJsZWQgeyBm
YWxzZSB9OwogICAgIGJvb2wgbV9pc1VzZXJUaW1pbmdFbmFibGVkIHsgZmFsc2UgfTsKLSAgICBi
b29sIG1faXNJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZCB7IGZhbHNlIH07Ci0gICAg
Ym9vbCBtX2lzV2ViQXV0aGVudGljYXRpb25FbmFibGVkIHsgZmFsc2UgfTsKLSAgICBib29sIG1f
aXNXZWJBdXRoZW50aWNhdGlvbkxvY2FsQXV0aGVudGljYXRvckVuYWJsZWQgeyBmYWxzZSB9Owog
ICAgIGJvb2wgbV9pc1NlY3VyZUNvbnRleHRBdHRyaWJ1dGVFbmFibGVkIHsgZmFsc2UgfTsKICAg
ICBib29sIG1faXNTaGFkb3dET01FbmFibGVkIHsgdHJ1ZSB9OwotICAgIGJvb2wgbV9hcmVDdXN0
b21FbGVtZW50c0VuYWJsZWQgeyB0cnVlIH07CiAgICAgYm9vbCBtX2lzTWVudUl0ZW1FbGVtZW50
RW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzRGlyZWN0b3J5VXBsb2FkRW5hYmxlZCB7
IGZhbHNlIH07Ci0gICAgYm9vbCBtX2FyZURhdGFUcmFuc2Zlckl0ZW1zRW5hYmxlZCB7IGZhbHNl
IH07CiAgICAgYm9vbCBtX2lzQ3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVkIHsgZmFsc2UgfTsK
LSAgICBib29sIG1faXNXZWJTaGFyZUVuYWJsZWQgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9pbnB1
dEV2ZW50c0VuYWJsZWQgeyB0cnVlIH07CiAgICAgYm9vbCBtX2FyZVdlYkFuaW1hdGlvbnNFbmFi
bGVkIHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9pc1dlYkFuaW1hdGlvbnNDU1NJbnRlZ3JhdGlvbkVu
YWJsZWQgeyB0cnVlIH07CiAgICAgYm9vbCBtX2FyZVdlYkFuaW1hdGlvbnNDb21wb3NpdGVPcGVy
YXRpb25zRW5hYmxlZCB7IGZhbHNlIH07CkBAIC00NDgsMTAgKzMyNSw4IEBAIHByaXZhdGU6CiAg
ICAgYm9vbCBtX2Nyb3NzT3JpZ2luUmVzb3VyY2VQb2xpY3lFbmFibGVkIHsgdHJ1ZSB9OwogICAg
IGJvb2wgbV9pc1NlcnZlclRpbWluZ0VuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9leHBl
cmltZW50YWxQbHVnSW5TYW5kYm94UHJvZmlsZXNFbmFibGVkIHsgZmFsc2UgfTsKLSAgICBib29s
IG1fZGlzYWJsZWRBZGFwdGF0aW9uc01ldGFUYWdFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29s
IG1fYXR0clN0eWxlRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3dlYkFQSVN0YXRpc3Rp
Y3NFbmFibGVkIHsgZmFsc2UgfTsKLSAgICBib29sIG1fQ1NTQ3VzdG9tUHJvcGVydGllc0FuZFZh
bHVlc0VuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9zeW50aGV0aWNFZGl0aW5nQ29tbWFu
ZHNFbmFibGVkIHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9kaWFsb2dFbGVtZW50RW5hYmxlZCB7IGZh
bHNlIH07CiAgICAgYm9vbCBtX3dlYlNRTEVuYWJsZWQgeyBmYWxzZSB9OwpAQCAtNDgxLDEyICsz
NTYsNiBAQCBwcml2YXRlOgogI2VuZGlmCiAKICAgICBib29sIG1fdXNlckdlc3R1cmVQcm9taXNl
UHJvcGFnYXRpb25FbmFibGVkIHsgdHJ1ZSB9OwotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0g
ICAgYm9vbCBtX2lzTWVkaWFSZWNvcmRlckVuYWJsZWQgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9p
c01lZGlhRGV2aWNlc0VuYWJsZWQgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9pc01lZGlhU3RyZWFt
RW5hYmxlZCB7IHRydWUgfTsKLSAgICBib29sIG1faXNTY3JlZW5DYXB0dXJlRW5hYmxlZCB7IGZh
bHNlIH07Ci0jZW5kaWYKIAogI2lmIEVOQUJMRShXRUJfUlRDKQogICAgIGJvb2wgbV9pc1dlYlJU
Q0RUTUZFbmFibGVkIHsgdHJ1ZSB9OwpAQCAtNTA3LDEwICszNzYsNiBAQCBwcml2YXRlOgogICAg
IGJvb2wgbV9pc0RhdGFMaXN0RWxlbWVudEVuYWJsZWQgeyBmYWxzZSB9OwogI2VuZGlmCiAKLSNp
ZiBFTkFCTEUoR0FNRVBBRCkKLSAgICBib29sIG1fYXJlR2FtZXBhZHNFbmFibGVkIHsgZmFsc2Ug
fTsKLSNlbmRpZgotCiAgICAgYm9vbCBtX2lzUmVhZGFibGVCeXRlU3RyZWFtQVBJRW5hYmxlZCB7
IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzV3JpdGFibGVTdHJlYW1BUElFbmFibGVkIHsgZmFsc2Ug
fTsKICAgICBib29sIG1faXNUcmFuc2Zvcm1TdHJlYW1BUElFbmFibGVkIHsgZmFsc2UgfTsKQEAg
LTUyNywzOSArMzkyLDE2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzTWFza1dlYkdMU3RyaW5n
c0VuYWJsZWQgeyBmYWxzZSB9OwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoRE9XTkxPQURfQVRUUklC
VVRFKQotICAgIGJvb2wgbV9pc0Rvd25sb2FkQXR0cmlidXRlRW5hYmxlZCB7IGZhbHNlIH07Ci0j
ZW5kaWYKLQotI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCi0gICAgYm9vbCBtX2VuY3J5cHRl
ZE1lZGlhQVBJRW5hYmxlZCB7IGZhbHNlIH07Ci0jZW5kaWYKLQotI2lmIEVOQUJMRShMRUdBQ1lf
RU5DUllQVEVEX01FRElBKQotICAgIGJvb2wgbV9sZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSUVuYWJs
ZWQgeyB0cnVlIH07Ci0jZW5kaWYKLQotI2lmIEVOQUJMRShJTlRFUlNFQ1RJT05fT0JTRVJWRVIp
Ci0gICAgYm9vbCBtX2ludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZCB7IGZhbHNlIH07Ci0jZW5k
aWYKLQogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKICAgICBib29sIG1fc2VydmljZVdvcmtl
ckVuYWJsZWQgeyBmYWxzZSB9OwogI2VuZGlmCiAKLSNpZiBVU0UoU1lTVEVNX1BSRVZJRVcpCi0g
ICAgYm9vbCBtX3N5c3RlbVByZXZpZXdFbmFibGVkIHsgZmFsc2UgfTsKLSNlbmRpZgotCi0gICAg
Ym9vbCBtX3VuZG9NYW5hZ2VyQVBJRW5hYmxlZCB7IGZhbHNlIH07Ci0KICAgICBib29sIG1fQ1NT
TG9naWNhbEVuYWJsZWQgeyBmYWxzZSB9OwogCiAgICAgLy8gRmFsc2UgYnkgZGVmYXVsdCB1bnRp
bCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExMzUxIC8KICAgICAv
LyBodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLWRyYWZ0cy9pc3N1ZXMvMzI1NyBoYXZlIGJl
ZW4gc29ydGVkIG91dC4KICAgICBib29sIG1fbGluZUhlaWdodFVuaXRzRW5hYmxlZCB7IGZhbHNl
IH07CiAKLSAgICBib29sIG1fYWRDbGlja0F0dHJpYnV0aW9uRW5hYmxlZCB7IGZhbHNlIH07CiAg
ICAgYm9vbCBtX2FkQ2xpY2tBdHRyaWJ1dGlvbkRlYnVnTW9kZUVuYWJsZWQgeyBmYWxzZSB9Owog
CiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKQEAgLTU2OSwyOCArNDExLDE2IEBAIHByaXZhdGU6
CiAKICAgICBib29sIG1faXNJVFBEYXRhYmFzZUVuYWJsZWQgeyB0cnVlIH07CiAKLSAgICBib29s
IG1fcmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGVFbmFibGVkIHsgdHJ1ZSB9OwotICAgIGJvb2wgbV9p
bnRlcnJ1cHRBdWRpb09uUGFnZVZpc2liaWxpdHlDaGFuZ2VFbmFibGVkIHsgZmFsc2UgfTsKLQot
ICAgIGJvb2wgbV9saW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVkIHsgZmFsc2UgfTsK
LQogI2lmIEhBVkUoTlNVUkxTRVNTSU9OX1dFQlNPQ0tFVCkKICAgICBib29sIG1faXNOU1VSTFNl
c3Npb25XZWJTb2NrZXRFbmFibGVkIHsgZmFsc2UgfTsKICNlbmRpZgogCi0gICAgYm9vbCBtX2xh
enlJbWFnZUxvYWRpbmdFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fc2VjdXJlQ29udGV4
dENoZWNrc0VuYWJsZWQgeyB0cnVlIH07CiAgICAgYm9vbCBtX2lzQ1NTU2hhZG93UGFydHNFbmFi
bGVkIHsgdHJ1ZSB9OwogCi0gICAgYm9vbCBtX2lzSW5BcHBCcm93c2VyUHJpdmFjeUVuYWJsZWQg
eyBmYWxzZSB9OwotICAgIGJvb2wgbV9uZWVkc0luQXBwQnJvd3NlclByaXZhY3lRdWlya3MgeyBm
YWxzZSB9OwotCi0gICAgYm9vbCBtX2xlZ2FjeUJlZm9yZUxvYWRFdmVudEVuYWJsZWQgeyBmYWxz
ZSB9OwotCiAjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKICAgICBib29s
IG1fYWNjZXNzaWJpbGl0eUlzb2xhdGVkVHJlZSB7IGZhbHNlIH07CiAjZW5kaWYKLSAgICBib29s
IG1fd2ViU2hhcmVGaWxlQVBJRW5hYmxlZCB7IGZhbHNlIH07CiAKICNpZiBIQVZFKElOQ1JFTUVO
VEFMX1BERl9BUElTKQogICAgIGJvb2wgbV9pbmNyZW1lbnRhbFBERkxvYWRpbmdFbmFibGVkIHsg
ZmFsc2UgfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwJKHJldmlzaW9uIDI2NjMx
MikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbAkod29ya2luZyBjb3B5KQpA
QCAtMjA0LDcgKzIwNCw3IEBAIGRvbVRpbWVyc1Rocm90dGxpbmdFbmFibGVkOgogICBpbml0aWFs
OiB0cnVlCiB3ZWJBcmNoaXZlRGVidWdNb2RlRW5hYmxlZDoKICAgaW5pdGlhbDogZmFsc2UKLSAg
Y29uZGl0aW9uYWw6IFdFQl9BUkNISVZFCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoV0VCX0FSQ0hJ
VkUpCiBsb2NhbEZpbGVDb250ZW50U25pZmZpbmdFbmFibGVkOgogICBpbml0aWFsOiBmYWxzZQog
b2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkOgpAQCAtMjM3LDcgKzIzNyw3IEBAIGFj
Y2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW4KICAgaW5pdGlhbDogZGVmYXVs
dEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZAogcnViYmVyQmFu
ZGluZ0ZvclN1YlNjcm9sbGFibGVSZWdpb25zRW5hYmxlZDoKICAgaW5pdGlhbDogdHJ1ZQotICBj
b25kaXRpb25hbDogUlVCQkVSX0JBTkRJTkcKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShSVUJCRVJf
QkFORElORykKIAogZXhwZXJpbWVudGFsTm90aWZpY2F0aW9uc0VuYWJsZWQ6CiAgIGluaXRpYWw6
IGZhbHNlCkBAIC0yNjMsNyArMjYzLDcgQEAgcGFnaW5hdGVEdXJpbmdMYXlvdXRFbmFibGVkOgog
ICBpbml0aWFsOiBmYWxzZQogZnVsbFNjcmVlbkVuYWJsZWQ6CiAgIGluaXRpYWw6IGZhbHNlCi0g
IGNvbmRpdGlvbmFsOiBGVUxMU0NSRUVOX0FQSQorICBjb25kaXRpb25hbDogRU5BQkxFKEZVTExT
Q1JFRU5fQVBJKQogYXN5bmNocm9ub3VzU3BlbGxDaGVja2luZ0VuYWJsZWQ6CiAgIGluaXRpYWw6
IGZhbHNlCiAKQEAgLTMyMiwyNiArMzIyLDI2IEBAIGJhY2tzcGFjZUtleU5hdmlnYXRpb25FbmFi
bGVkOgogICBpbml0aWFsOiB0cnVlCiBzaG91bGREaXNwbGF5U3VidGl0bGVzOgogICBpbml0aWFs
OiBmYWxzZQotICBjb25kaXRpb25hbDogVklERU8KKyAgY29uZGl0aW9uYWw6IEVOQUJMRShWSURF
TykKIHNob3VsZERpc3BsYXlDYXB0aW9uczoKICAgaW5pdGlhbDogZmFsc2UKLSAgY29uZGl0aW9u
YWw6IFZJREVPCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoVklERU8pCiBzaG91bGREaXNwbGF5VGV4
dERlc2NyaXB0aW9uczoKICAgaW5pdGlhbDogZmFsc2UKLSAgY29uZGl0aW9uYWw6IFZJREVPCisg
IGNvbmRpdGlvbmFsOiBFTkFCTEUoVklERU8pCiBnZW5lcmljQ3VlQVBJRW5hYmxlZDoKICAgaW5p
dGlhbDogZmFsc2UKLSAgY29uZGl0aW9uYWw6IFZJREVPCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUo
VklERU8pCiB1c2VHUFVQcm9jZXNzRm9yTWVkaWE6CiAgIGluaXRpYWw6IGZhbHNlCi0gIGNvbmRp
dGlvbmFsOiBHUFVfUFJPQ0VTUworICBjb25kaXRpb25hbDogRU5BQkxFKEdQVV9QUk9DRVNTKQog
c2Nyb2xsaW5nQ29vcmRpbmF0b3JFbmFibGVkOgogICBpbml0aWFsOiBmYWxzZQogc2Nyb2xsaW5n
VHJlZUluY2x1ZGVzRnJhbWVzOgogICBpbml0aWFsOiBkZWZhdWx0U2Nyb2xsaW5nVHJlZUluY2x1
ZGVzRnJhbWVzCiBzY3JvbGxBbmltYXRvckVuYWJsZWQ6CiAgIGluaXRpYWw6IHRydWUKLSAgY29u
ZGl0aW9uYWw6IFNNT09USF9TQ1JPTExJTkcKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShTTU9PVEhf
U0NST0xMSU5HKQogZm9yY2VVcGRhdGVTY3JvbGxiYXJzT25NYWluVGhyZWFkRm9yUGVyZm9ybWFu
Y2VUZXN0aW5nOgogICBpbml0aWFsOiBmYWxzZQogbm90aWZpY2F0aW9uc0VuYWJsZWQ6CkBAIC00
MjgsNyArNDI4LDcgQEAgY29yZUltYWdlQWNjZWxlcmF0ZWRGaWx0ZXJSZW5kZXJFbmFibGVkOgog
bGVnYWN5T3ZlcmZsb3dTY3JvbGxpbmdUb3VjaEVuYWJsZWQ6CiAgIGluaXRpYWw6IHRydWUKICAg
b25DaGFuZ2U6IHNldE5lZWRzUmVsYXlvdXRBbGxGcmFtZXMKLSAgY29uZGl0aW9uYWw6IE9WRVJG
TE9XX1NDUk9MTElOR19UT1VDSAorICBjb25kaXRpb25hbDogRU5BQkxFKE9WRVJGTE9XX1NDUk9M
TElOR19UT1VDSCkKIAogd2ViU2VjdXJpdHlFbmFibGVkOgogICBpbml0aWFsOiB0cnVlCkBAIC00
NjgsMjIgKzQ2OCwyMiBAQCBmaXhlZEJhY2tncm91bmRzUGFpbnRSZWxhdGl2ZVRvRG9jdW1lbnQ6
CiB0ZXh0QXV0b3NpemluZ0VuYWJsZWQ6CiAgIGluaXRpYWw6IGRlZmF1bHRUZXh0QXV0b3Npemlu
Z0VuYWJsZWQoKQogICBvbkNoYW5nZTogc2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVzCi0g
IGNvbmRpdGlvbmFsOiBURVhUX0FVVE9TSVpJTkcKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShURVhU
X0FVVE9TSVpJTkcpCiB0ZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZToKICAgdHlwZTog
SW50U2l6ZQogICBvbkNoYW5nZTogc2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVzCi0gIGNv
bmRpdGlvbmFsOiBURVhUX0FVVE9TSVpJTkcKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShURVhUX0FV
VE9TSVpJTkcpCiBtaW5pbXVtWm9vbUZvbnRTaXplOgogICB0eXBlOiBmbG9hdAogICBpbml0aWFs
OiBkZWZhdWx0TWluaW11bVpvb21Gb250U2l6ZSgpCi0gIGNvbmRpdGlvbmFsOiBURVhUX0FVVE9T
SVpJTkcKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShURVhUX0FVVE9TSVpJTkcpCiB0ZXh0QXV0b3Np
emluZ1VzZXNJZGVtcG90ZW50TW9kZToKICAgaW5pdGlhbDogZmFsc2UKICAgb25DaGFuZ2U6IHNl
dE5lZWRzUmVjYWxjU3R5bGVJbkFsbEZyYW1lcwotICBjb25kaXRpb25hbDogVEVYVF9BVVRPU0la
SU5HCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoVEVYVF9BVVRPU0laSU5HKQogaWRlbXBvdGVudE1v
ZGVBdXRvc2l6aW5nT25seUhvbm9yc1BlcmNlbnRhZ2VzOgogICBpbml0aWFsOiBmYWxzZQotICBj
b25kaXRpb25hbDogVEVYVF9BVVRPU0laSU5HCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoVEVYVF9B
VVRPU0laSU5HKQogICAjIFRoaXMgaXMgb25seSBzZXQgYmVmb3JlIHRoZSBtYWluIGZyYW1lIGxv
YWQsIHNvIHRoZXJlJ3Mgbm8gbmVlZCB0byBzcGVjaWZ5IHNldE5lZWRzUmVjYWxjU3R5bGVJbkFs
bEZyYW1lcy4KIAogc3VicGl4ZWxBbnRpYWxpYXNlZExheWVyVGV4dEVuYWJsZWQ6CkBAIC01MDcs
MTEgKzUwNywxMSBAQCB1c2VHaWFudFRpbGVzOgogCiBtZWRpYVNvdXJjZUVuYWJsZWQ6CiAgIGlu
aXRpYWw6IHBsYXRmb3JtRGVmYXVsdE1lZGlhU291cmNlRW5hYmxlZCgpCi0gIGNvbmRpdGlvbmFs
OiBNRURJQV9TT1VSQ0UKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShNRURJQV9TT1VSQ0UpCiAKIHNv
dXJjZUJ1ZmZlckNoYW5nZVR5cGVFbmFibGVkOgogICBpbml0aWFsOiB0cnVlCi0gIGNvbmRpdGlv
bmFsOiBNRURJQV9TT1VSQ0UKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShNRURJQV9TT1VSQ0UpCiAK
ICMgRklYTUU6IFJlbmFtZSB0byBhbGxvd011bHRpRWxlbWVudEltcGxpY2l0Rm9ybVN1Ym1pc3Np
b24gb25jZSB3ZSB1cHN0cmVhbSB0aGUgaU9TIGNoYW5nZXMgdG8gV2ViVmlldy5tbS4KIGFsbG93
TXVsdGlFbGVtZW50SW1wbGljaXRTdWJtaXNzaW9uOgpAQCAtNTE5LDExICs1MTksMTEgQEAgYWxs
b3dNdWx0aUVsZW1lbnRJbXBsaWNpdFN1Ym1pc3Npb246CiAKIGFsbG93c0FpclBsYXlGb3JNZWRp
YVBsYXliYWNrOgogICBpbml0aWFsOiB0cnVlCi0gIGNvbmRpdGlvbmFsOiBXSVJFTEVTU19QTEFZ
QkFDS19UQVJHRVQKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJH
RVQpCiAKIHJlbW90ZVBsYXliYWNrRW5hYmxlZDoKICAgaW5pdGlhbDogdHJ1ZQotICBjb25kaXRp
b25hbDogV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoV0lS
RUxFU1NfUExBWUJBQ0tfVEFSR0VUKQogCiBzaG91bGRDb252ZXJ0UG9zaXRpb25TdHlsZU9uQ29w
eToKICAgaW5pdGlhbDogZmFsc2UKQEAgLTU0MSw3ICs1NDEsNyBAQCBhbHdheXNVc2VBY2NlbGVy
YXRlZE92ZXJmbG93U2Nyb2xsOgogICBpbml0aWFsOiBmYWxzZQogaW1hZ2VDb250cm9sc0VuYWJs
ZWQ6CiAgIGluaXRpYWw6IGZhbHNlCi0gIGNvbmRpdGlvbmFsOiBTRVJWSUNFX0NPTlRST0xTCisg
IGNvbmRpdGlvbmFsOiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKIAogZW5hYmxlSW5oZXJpdFVS
SVF1ZXJ5Q29tcG9uZW50OgogICBpbml0aWFsOiBmYWxzZQpAQCAtNTU2LDE4ICs1NTYsMTggQEAg
dXNlSW1hZ2VEb2N1bWVudEZvclN1YmZyYW1lUERGOgogZGF0YURldGVjdG9yVHlwZXM6CiAgIHR5
cGU6IERhdGFEZXRlY3RvclR5cGVzCiAgIGluaXRpYWw6IAotICBjb25kaXRpb25hbDogREFUQV9E
RVRFQ1RJT04KKyAgY29uZGl0aW9uYWw6IEVOQUJMRShEQVRBX0RFVEVDVElPTikKIAogIyBBbGxv
dyBTb3VyY2VCdWZmZXJzIHRvIHN0b3JlIHVwIHRvIDMwNE1CIGVhY2gsIGVub3VnaCBmb3IgYXBw
cm94aW1hdGVseSBmaXZlIG1pbnV0ZXMKICMgb2YgMTA4MHAgdmlkZW8gYW5kIHN0ZXJlbyBhdWRp
by4KIG1heGltdW1Tb3VyY2VCdWZmZXJTaXplOgogICB0eXBlOiBpbnQKICAgaW5pdGlhbDogMzE4
NzY3MTA0Ci0gIGNvbmRpdGlvbmFsOiBNRURJQV9TT1VSQ0UKKyAgY29uZGl0aW9uYWw6IEVOQUJM
RShNRURJQV9TT1VSQ0UpCiAKIHNlcnZpY2VDb250cm9sc0VuYWJsZWQ6CiAgIGluaXRpYWw6IGZh
bHNlCi0gIGNvbmRpdGlvbmFsOiBTRVJWSUNFX0NPTlRST0xTCisgIGNvbmRpdGlvbmFsOiBFTkFC
TEUoU0VSVklDRV9DT05UUk9MUykKIAogYXBwbGVNYWlsUGFnaW5hdGlvblF1aXJrRW5hYmxlZDoK
ICAgaW5pdGlhbDogZmFsc2UKQEAgLTYyNiw3ICs2MjYsNiBAQCBsYXlvdXRWaWV3cG9ydEhlaWdo
dEV4cGFuc2lvbkZhY3RvcjoKICAgaW5pdGlhbDogMAogICBvbkNoYW5nZTogc2V0TmVlZHNSZWNh
bGNTdHlsZUluQWxsRnJhbWVzCiAKLSMgUnVudGltZS1lbmFibGVkIGZlYXR1cmVzCiB2aXN1YWxW
aWV3cG9ydEVuYWJsZWQ6CiAgIGluaXRpYWw6IHRydWUKICAgb25DaGFuZ2U6IHNldE5lZWRzUmVj
YWxjU3R5bGVJbkFsbEZyYW1lcwpAQCAtNzIwLDE2ICs3MTksMTYgQEAgc2hvdWxkSWdub3JlRm9u
dExvYWRDb21wbGV0aW9uczoKICAgaW5pdGlhbDogZmFsc2UKIAogYXBwbGVQYXlDYXBhYmlsaXR5
RGlzY2xvc3VyZUFsbG93ZWQ6Ci0gIGNvbmRpdGlvbmFsOiBBUFBMRV9QQVkKKyAgY29uZGl0aW9u
YWw6IEVOQUJMRShBUFBMRV9QQVkpCiAgIGluaXRpYWw6IHRydWUKIGFwcGxlUGF5RW5hYmxlZDoK
LSAgY29uZGl0aW9uYWw6IEFQUExFX1BBWQorICBjb25kaXRpb25hbDogRU5BQkxFKEFQUExFX1BB
WSkKICAgaW5pdGlhbDogZGVmYXVsdEFwcGxlUGF5RW5hYmxlZAogYXBwbGVQYXlSZW1vdGVVSUVu
YWJsZWQ6Ci0gIGNvbmRpdGlvbmFsOiBBUFBMRV9QQVlfUkVNT1RFX1VJCisgIGNvbmRpdGlvbmFs
OiBFTkFCTEUoQVBQTEVfUEFZX1JFTU9URV9VSSkKICAgaW5pdGlhbDogdHJ1ZQogcGF5bWVudFJl
cXVlc3RFbmFibGVkOgotICBjb25kaXRpb25hbDogUEFZTUVOVF9SRVFVRVNUCisgIGNvbmRpdGlv
bmFsOiBFTkFCTEUoUEFZTUVOVF9SRVFVRVNUKQogICBpbml0aWFsOiBmYWxzZQogCiBqYXZhRW5h
YmxlZDoKQEAgLTc5OSw3ICs3OTgsNyBAQCBzaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250czoK
IAogcmVzaXplT2JzZXJ2ZXJFbmFibGVkOgogICBpbml0aWFsOiBmYWxzZQotICBjb25kaXRpb25h
bDogUkVTSVpFX09CU0VSVkVSCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoUkVTSVpFX09CU0VSVkVS
KQogCiAjIE9ubHkgc2V0IGJ5IExheW91dCBUZXN0cy4KIG1lZGlhVHlwZU92ZXJyaWRlOgpAQCAt
ODI5LDcgKzgyOCw3IEBAIGV4cG9zZVNwZWFrZXJzRW5hYmxlZDoKIAogbWVkaWFEZXZpY2VJZGVu
dGlmaWVyU3RvcmFnZURpcmVjdG9yeToKICAgdHlwZTogU3RyaW5nCi0gIGNvbmRpdGlvbmFsOiBN
RURJQV9TVFJFQU0KKyAgY29uZGl0aW9uYWw6IEVOQUJMRShNRURJQV9TVFJFQU0pCiAKICMgRklY
TUU6IFRoaXMgcXVpcmsgaXMgbmVlZGVkIGJlY2F1c2Ugb2YgUmFkYXIgNDY3NDUzNyBhbmQgNTIx
MTI3MS4gV2UgbmVlZCB0byBwaGFzZSBpdCBvdXQgb25jZSBBZG9iZQogIyBjYW4gZml4IHRoZSBi
dWcgZnJvbSB0aGVpciBlbmQuCkBAIC04NDMsMjIgKzg0MiwyMiBAQCBwYXNzaXZlVG91Y2hMaXN0
ZW5lcnNBc0RlZmF1bHRPbkRvY3VtZW50CiB0b3VjaEV2ZW50RW11bGF0aW9uRW5hYmxlZDoKICAg
aW5pdGlhbDogZmFsc2UKICAgZ2V0dGVyOiBpc1RvdWNoRXZlbnRFbXVsYXRpb25FbmFibGVkCi0g
IGNvbmRpdGlvbmFsOiBUT1VDSF9FVkVOVFMKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShUT1VDSF9F
VkVOVFMpCiAKIGRldmljZU9yaWVudGF0aW9uRXZlbnRFbmFibGVkOgogICB0eXBlOiBib29sCiAg
IGluaXRpYWw6IHRydWUKLSAgY29uZGl0aW9uYWw6IERFVklDRV9PUklFTlRBVElPTgorICBjb25k
aXRpb25hbDogRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKIAogZGV2aWNlT3JpZW50YXRpb25Q
ZXJtaXNzaW9uQVBJRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBpbml0aWFsOiBmYWxzZQotICBj
b25kaXRpb25hbDogREVWSUNFX09SSUVOVEFUSU9OCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoREVW
SUNFX09SSUVOVEFUSU9OKQogCiBzaG91bGRFbmFibGVUZXh0QXV0b3NpemluZ0Jvb3N0OgogICB0
eXBlOiBib29sCiAgIGluaXRpYWw6IGZhbHNlCi0gIGNvbmRpdGlvbmFsOiBURVhUX0FVVE9TSVpJ
TkcKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShURVhUX0FVVE9TSVpJTkcpCiAgIG9uQ2hhbmdlOiBz
aG91bGRFbmFibGVUZXh0QXV0b3NpemluZ0Jvb3N0Q2hhbmdlZAogCiBtZWRpYUNhcGFiaWxpdGll
c0VuYWJsZWQ6CkBAIC04ODcsNyArODg2LDcgQEAgc2hvdWxkSWdub3JlTWV0YVZpZXdwb3J0Ogog
CiB2aWRlb1F1YWxpdHlJbmNsdWRlc0Rpc3BsYXlDb21wb3NpdGluZ0VuYWJsZWQ6CiAgIGluaXRp
YWw6IGZhbHNlCi0gIGNvbmRpdGlvbmFsOiBWSURFTworICBjb25kaXRpb25hbDogRU5BQkxFKFZJ
REVPKQogCiBlZGl0YWJsZUltYWdlc0VuYWJsZWQ6CiAgIGluaXRpYWw6IGZhbHNlCkBAIC05NDEs
MTEgKzk0MCwxMyBAQCBlbnRlcktleUhpbnRFbmFibGVkOgogCiBsZWdhY3lHZXRVc2VyTWVkaWFF
bmFibGVkOgogICBpbml0aWFsOiBmYWxzZQotICBjb25kaXRpb25hbDogTUVESUFfU1RSRUFNCisg
IGNvbmRpdGlvbmFsOiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCisjIEZJWE1FOiBTZWVtcyB0byBi
ZSB1bnVzZWQuIFJlbW92ZSBvbmNlIHZlcmlmaWVkLgogaXNJbkFwcEJyb3dzZXJQcml2YWN5RW5h
YmxlZDoKICAgaW5pdGlhbDogZmFsc2UKIAorIyBGSVhNRTogU2VlbXMgdG8gYmUgdW51c2VkLiBS
ZW1vdmUgb25jZSB2ZXJpZmllZC4KIE5lZWRzSW5BcHBCcm93c2VyUHJpdmFjeVF1aXJrczoKICAg
aW5pdGlhbDogZmFsc2UKIApAQCAtOTU3LDMxICs5NTgsMTI2IEBAIGFzcGVjdFJhdGlvT2ZJbWdG
cm9tV2lkdGhBbmRIZWlnaHRFbmFibGUKIAogaW5wdXRUeXBlQ29sb3JFbmFibGVkOgogICBpbml0
aWFsOiBmYWxzZQotICBjb25kaXRpb25hbDogSU5QVVRfVFlQRV9DT0xPUgorICBjb25kaXRpb25h
bDogRU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCiAKIGlucHV0VHlwZURhdGVFbmFibGVkOgogICBp
bml0aWFsOiBmYWxzZQotICBjb25kaXRpb25hbDogSU5QVVRfVFlQRV9EQVRFCisgIGNvbmRpdGlv
bmFsOiBFTkFCTEUoSU5QVVRfVFlQRV9EQVRFKQogCiBpbnB1dFR5cGVEYXRlVGltZUxvY2FsRW5h
YmxlZDoKICAgaW5pdGlhbDogZmFsc2UKLSAgY29uZGl0aW9uYWw6IElOUFVUX1RZUEVfREFURVRJ
TUVMT0NBTAorICBjb25kaXRpb25hbDogRU5BQkxFKElOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkK
IAogaW5wdXRUeXBlTW9udGhFbmFibGVkOgogICBpbml0aWFsOiBmYWxzZQotICBjb25kaXRpb25h
bDogSU5QVVRfVFlQRV9NT05USAorICBjb25kaXRpb25hbDogRU5BQkxFKElOUFVUX1RZUEVfTU9O
VEgpCiAKIGlucHV0VHlwZVRpbWVFbmFibGVkOgogICBpbml0aWFsOiBmYWxzZQotICBjb25kaXRp
b25hbDogSU5QVVRfVFlQRV9USU1FCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoSU5QVVRfVFlQRV9U
SU1FKQogCiBpbnB1dFR5cGVXZWVrRW5hYmxlZDoKICAgaW5pdGlhbDogZmFsc2UKLSAgY29uZGl0
aW9uYWw6IElOUFVUX1RZUEVfV0VFSworICBjb25kaXRpb25hbDogRU5BQkxFKElOUFVUX1RZUEVf
V0VFSykKIAogZGF0ZVRpbWVJbnB1dHNFZGl0YWJsZUNvbXBvbmVudHNFbmFibGVkOgogICBpbml0
aWFsOiBmYWxzZQotICBjb25kaXRpb25hbDogREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUworICBj
b25kaXRpb25hbDogRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMpCisKK2JsYW5rQW5j
aG9yVGFyZ2V0SW1wbGllc05vT3BlbmVyRW5hYmxlZDoKKyAgaW5pdGlhbDogdHJ1ZQorCitsaW5r
UHJlbG9hZEVuYWJsZWQ6CisgIGluaXRpYWw6IHRydWUKKworbGlua1ByZWZldGNoRW5hYmxlZDoK
KyAgaW5pdGlhbDogZmFsc2UKKworbGlua1ByZWxvYWRSZXNwb25zaXZlSW1hZ2VzRW5hYmxlZDoK
KyAgaW5pdGlhbDogZmFsc2UKKworZGlzYWJsZWRBZGFwdGF0aW9uc01ldGFUYWdFbmFibGVkOgor
ICBpbml0aWFsOiBmYWxzZQorCitsYXp5SW1hZ2VMb2FkaW5nRW5hYmxlZDoKKyAgaW5pdGlhbDog
ZmFsc2UKKworcmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGVFbmFibGVkOgorICBpbml0aWFsOiB0cnVl
CisKK2N1c3RvbUVsZW1lbnRzRW5hYmxlZDoKKyAgaW5pdGlhbDogdHJ1ZQorCitkYXRhVHJhbnNm
ZXJJdGVtc0VuYWJsZWQ6CisgIGluaXRpYWw6IGZhbHNlCisKK3dlYkF1dGhlbnRpY2F0aW9uRW5h
YmxlZDoKKyAgaW5pdGlhbDogZmFsc2UKKword2ViQXV0aGVudGljYXRpb25Mb2NhbEF1dGhlbnRp
Y2F0b3JFbmFibGVkOgorICBpbml0aWFsOiBmYWxzZQorCisjIEZJWE1FOiBTZWVtcyB0byBiZSB1
bnVzZWQuIFJlbW92ZSBvbmNlIHZlcmlmaWVkLgorbWVkaWFTdHJlYW1FbmFibGVkOgorICBpbml0
aWFsOiB0cnVlCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCittZWRpYVJl
Y29yZGVyRW5hYmxlZDoKKyAgaW5pdGlhbDogZmFsc2UKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShN
RURJQV9TVFJFQU0pCisKK21lZGlhRGV2aWNlc0VuYWJsZWQ6CisgIGluaXRpYWw6IGZhbHNlCisg
IGNvbmRpdGlvbmFsOiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCitzY3JlZW5DYXB0dXJlRW5hYmxl
ZDoKKyAgaW5pdGlhbDogZmFsc2UKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShNRURJQV9TVFJFQU0p
CisKK2dhbWVwYWRzRW5hYmxlZDoKKyAgaW5pdGlhbDogZmFsc2UKKyAgY29uZGl0aW9uYWw6IEVO
QUJMRShHQU1FUEFEKQorCitjc3NDdXN0b21Qcm9wZXJ0aWVzQW5kVmFsdWVzRW5hYmxlZDoKKyAg
aW5pdGlhbDogZmFsc2UKKword2ViU2hhcmVFbmFibGVkOgorICBpbml0aWFsOiBmYWxzZQorCit3
ZWJTaGFyZUZpbGVBUElFbmFibGVkOgorICBpbml0aWFsOiBmYWxzZQorCit1bmRvTWFuYWdlckFQ
SUVuYWJsZWQ6CisgIGluaXRpYWw6IGZhbHNlCisKK2ludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxl
ZDoKKyAgaW5pdGlhbDogZmFsc2UKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShJTlRFUlNFQ1RJT05f
T0JTRVJWRVIpCisKK2Rvd25sb2FkQXR0cmlidXRlRW5hYmxlZDoKKyAgaW5pdGlhbDogZmFsc2UK
KyAgY29uZGl0aW9uYWw6IEVOQUJMRShET1dOTE9BRF9BVFRSSUJVVEUpCisKK3N5c3RlbVByZXZp
ZXdFbmFibGVkOgorICBpbml0aWFsOiBmYWxzZQorICBjb25kaXRpb25hbDogVVNFKFNZU1RFTV9Q
UkVWSUVXKQorCitpbnRlcnJ1cHRBdWRpb09uUGFnZVZpc2liaWxpdHlDaGFuZ2VFbmFibGVkOgor
ICBpbml0aWFsOiBmYWxzZQorICBjb25kaXRpb25hbDogRU5BQkxFKE1FRElBX1NUUkVBTSkKKwor
ZW5jcnlwdGVkTWVkaWFBUElFbmFibGVkOgorICBpbnRpaWFsOiBmYWxzZQorICBjb25kaXRpb25h
OiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorCitsZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSUVuYWJs
ZWQ6CisgIGludGlpYWw6IHRydWUKKyAgY29uZGl0aW9uYTogRU5BQkxFKExFR0FDWV9FTkNSWVBU
RURfTUVESUEpCisKKyMgRklNWEU6IFRoaXMgZG9lcyBub3QgYXBwZWFyIHRvIGV2ZXIgYmUgc2V0
IHRvIHRydWUuIFJlbW92ZSBvbmNlIHZlcmlmaWVkLgorbGVnYWN5QmVmb3JlTG9hZEV2ZW50RW5h
YmxlZDoKKyAgaW5pdGlhbDogZmFsc2UKKwogCiAjIERlcHJlY2F0ZWQKIApAQCAtOTkyLDEzICsx
MDg4LDEzIEBAIGljZUNhbmRpZGF0ZUZpbHRlcmluZ0VuYWJsZWQ6CiAKIG1vY2tDYXB0dXJlRGV2
aWNlc0VuYWJsZWQ6CiAgIGluaXRpYWw6IGZhbHNlCi0gIGNvbmRpdGlvbmFsOiBNRURJQV9TVFJF
QU0KKyAgY29uZGl0aW9uYWw6IEVOQUJMRShNRURJQV9TVFJFQU0pCiAgIG9uQ2hhbmdlOiBtb2Nr
Q2FwdHVyZURldmljZXNFbmFibGVkQ2hhbmdlZAogICBpbnNwZWN0b3JPdmVycmlkZTogdHJ1ZQog
CiBtZWRpYUNhcHR1cmVSZXF1aXJlc1NlY3VyZUNvbm5lY3Rpb246CiAgIGluaXRpYWw6IHRydWUK
LSAgY29uZGl0aW9uYWw6IE1FRElBX1NUUkVBTQorICBjb25kaXRpb25hbDogRU5BQkxFKE1FRElB
X1NUUkVBTSkKICAgaW5zcGVjdG9yT3ZlcnJpZGU6IHRydWUKIAogc2hvdWxkVXNlU2VydmljZVdv
cmtlclNob3J0VGltZW91dDoKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvVW5kb0l0ZW0uaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvVW5kb0l0ZW0uaWRsCShyZXZpc2lv
biAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1VuZG9JdGVtLmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMjQsNyArMjQsNyBAQAogICovCiAKIFsKLSAgICBFbmFibGVkQXRSdW50aW1lPVVu
ZG9NYW5hZ2VyQVBJLAorICAgIEVuYWJsZWRCeVNldHRpbmc9VW5kb01hbmFnZXJBUEksCiBdIGRp
Y3Rpb25hcnkgVW5kb0l0ZW1Jbml0IHsKICAgICByZXF1aXJlZCBET01TdHJpbmcgbGFiZWw7CiAg
ICAgcmVxdWlyZWQgVm9pZENhbGxiYWNrIHVuZG87CkBAIC0zMiw3ICszMiw3IEBACiB9OwogCiBb
Ci0gICAgRW5hYmxlZEF0UnVudGltZT1VbmRvTWFuYWdlckFQSSwKKyAgICBFbmFibGVkQnlTZXR0
aW5nPVVuZG9NYW5hZ2VyQVBJLAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAg
SlNDdXN0b21NYXJrRnVuY3Rpb24sCiAgICAgQ3VzdG9tSXNSZWFjaGFibGUsCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1VuZG9NYW5hZ2VyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wYWdlL1VuZG9NYW5hZ2VyLmlkbAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dl
YkNvcmUvcGFnZS9VbmRvTWFuYWdlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI0LDcgKzI0LDcg
QEAKICAqLwogCiBbCi0gICAgRW5hYmxlZEF0UnVudGltZT1VbmRvTWFuYWdlckFQSSwKKyAgICBF
bmFibGVkQnlTZXR0aW5nPVVuZG9NYW5hZ2VyQVBJLAogICAgIEltcGxlbWVudGF0aW9uTGFja3NW
VGFibGUsCiAgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBsRG9jdW1lbnQsCiBdIGludGVyZmFj
ZSBVbmRvTWFuYWdlciB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1h
Z2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFn
ZS5jcHAJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJJbWFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcxMCw3ICs3MTAsNyBAQCBJbWFnZURyYXdS
ZXN1bHQgUmVuZGVySW1hZ2U6OnBhaW50SW50b1JlCiAgICAgICAgIGltYWdlUmVzb3VyY2UoKS5j
YWNoZWRJbWFnZSgpLT5hZGRDbGllbnRXYWl0aW5nRm9yQXN5bmNEZWNvZGluZygqdGhpcyk7CiAK
ICNpZiBVU0UoU1lTVEVNX1BSRVZJRVcpCi0gICAgaWYgKGltYWdlRWxlbWVudCAmJiBpbWFnZUVs
ZW1lbnQtPmlzU3lzdGVtUHJldmlld0ltYWdlKCkgJiYgZHJhd1Jlc3VsdCA9PSBJbWFnZURyYXdS
ZXN1bHQ6OkRpZERyYXcgJiYgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMo
KS5zeXN0ZW1QcmV2aWV3RW5hYmxlZCgpKQorICAgIGlmIChpbWFnZUVsZW1lbnQgJiYgaW1hZ2VF
bGVtZW50LT5pc1N5c3RlbVByZXZpZXdJbWFnZSgpICYmIGRyYXdSZXN1bHQgPT0gSW1hZ2VEcmF3
UmVzdWx0OjpEaWREcmF3ICYmIGltYWdlRWxlbWVudC0+ZG9jdW1lbnQoKS5zZXR0aW5ncygpLnN5
c3RlbVByZXZpZXdFbmFibGVkKCkpCiAgICAgICAgIHRoZW1lKCkucGFpbnRTeXN0ZW1QcmV2aWV3
QmFkZ2UoKmltZywgcGFpbnRJbmZvLCByZWN0KTsKICNlbmRpZgogCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAJKHJldmlzaW9uIDI2NjMxMikKKysr
IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTExNiw5ICsxMTYsNiBAQCBJbnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OkJhY2t1cChT
ZXR0aW5nCiAjaWYgRU5BQkxFKFdFQkdMMikKICAgICAsIG1fd2ViR0wyRW5hYmxlZChSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLndlYkdMMkVuYWJsZWQoKSkKICNlbmRp
ZgotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0gICAgLCBtX3NldFNjcmVlbkNhcHR1cmVFbmFi
bGVkKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2NyZWVuQ2FwdHVy
ZUVuYWJsZWQoKSkKLSNlbmRpZgogICAgICwgbV9mZXRjaEFQSUtlZXBBbGl2ZUFQSUVuYWJsZWQo
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5mZXRjaEFQSUtlZXBBbGl2
ZUVuYWJsZWQoKSkKICAgICAsIG1fc2hvdWxkTW9ja0JvbGRTeXN0ZW1Gb250Rm9yQWNjZXNzaWJp
bGl0eShSZW5kZXJUaGVtZTo6c2luZ2xldG9uKCkuc2hvdWxkTW9ja0JvbGRTeXN0ZW1Gb250Rm9y
QWNjZXNzaWJpbGl0eSgpKQogI2lmIFVTRShBVURJT19TRVNTSU9OKQpAQCAtMjIwLDkgKzIxNyw2
IEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3JlVG8KICNpZiBFTkFCTEUo
V0VCR0wyKQogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0
V2ViR0wyRW5hYmxlZChtX3dlYkdMMkVuYWJsZWQpOwogI2VuZGlmCi0jaWYgRU5BQkxFKE1FRElB
X1NUUkVBTSkKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNl
dFNjcmVlbkNhcHR1cmVFbmFibGVkKG1fc2V0U2NyZWVuQ2FwdHVyZUVuYWJsZWQpOwotI2VuZGlm
CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRGZXRjaEFQ
SUtlZXBBbGl2ZUVuYWJsZWQobV9mZXRjaEFQSUtlZXBBbGl2ZUFQSUVuYWJsZWQpOwogICAgIFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0Q3VzdG9tUGFzdGVib2Fy
ZERhdGFFbmFibGVkKG1fY3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVkKTsKIApAQCAtODE0LDE1
ICs4MDgsNiBAQCB2b2lkIEludGVybmFsU2V0dGluZ3M6OnNldFdlYkdQVUVuYWJsZWQoCiAjZW5k
aWYKIH0KIAotdm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRTY3JlZW5DYXB0dXJlRW5hYmxlZChi
b29sIGVuYWJsZWQpCi17Ci0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLSAgICBSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFNjcmVlbkNhcHR1cmVFbmFibGVkKGVu
YWJsZWQpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZW5hYmxlZCk7Ci0jZW5kaWYKLX0KLQog
dm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRGZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQoYm9vbCBl
bmFibGVkKQogewogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCku
c2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKGVuYWJsZWQpOwpJbmRleDogU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
MzIsNyArMTMyLDYgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHNldFdlYkdMMkVuYWJsZWQo
Ym9vbCk7CiAgICAgc3RhdGljIHZvaWQgc2V0V2ViR1BVRW5hYmxlZChib29sKTsKICAgICBzdGF0
aWMgdm9pZCBzZXRQaWN0dXJlSW5QaWN0dXJlQVBJRW5hYmxlZChib29sKTsKLSAgICBzdGF0aWMg
dm9pZCBzZXRTY3JlZW5DYXB0dXJlRW5hYmxlZChib29sKTsKICAgICBzdGF0aWMgdm9pZCBzZXRG
ZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQoYm9vbCk7CiAKICAgICBzdGF0aWMgYm9vbCB3ZWJBbmlt
YXRpb25zQ1NTSW50ZWdyYXRpb25FbmFibGVkKCk7CkBAIC0yMjQsNyArMjIzLDYgQEAgcHJpdmF0
ZToKICAgICAgICAgLy8gUnVudGltZSBlbmFibGVkIHNldHRpbmdzLgogICAgICAgICBib29sIG1f
aW5kZXhlZERCV29ya2Vyc0VuYWJsZWQ7CiAgICAgICAgIGJvb2wgbV93ZWJHTDJFbmFibGVkOwot
ICAgICAgICBib29sIG1fc2V0U2NyZWVuQ2FwdHVyZUVuYWJsZWQ7CiAgICAgICAgIGJvb2wgbV9m
ZXRjaEFQSUtlZXBBbGl2ZUFQSUVuYWJsZWQ7CiAgICAgICAgIAogICAgICAgICBib29sIG1fc2hv
dWxkTW9ja0JvbGRTeXN0ZW1Gb250Rm9yQWNjZXNzaWJpbGl0eTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbAkocmV2aXNpb24gMjY2MzEyKQorKysg
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbAkod29ya2luZyBjb3B5
KQpAQCAtOTYsNyArOTYsNiBAQCBlbnVtIEZvbnRMb2FkVGltaW5nT3ZlcnJpZGUgeyAiQmxvY2si
LCAiCiAgICAgdW5kZWZpbmVkIHNldEluZGV4ZWREQldvcmtlcnNFbmFibGVkKGJvb2xlYW4gZW5h
YmxlZCk7CiAgICAgdW5kZWZpbmVkIHNldFdlYkdMMkVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsK
ICAgICB1bmRlZmluZWQgc2V0V2ViR1BVRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwotICAgIHVu
ZGVmaW5lZCBzZXRTY3JlZW5DYXB0dXJlRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwogICAgIHVu
ZGVmaW5lZCBzZXRGZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKIAog
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gRE9NU3RyaW5nIHVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Q
b2xpY3koKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJKHJldmlzaW9u
IDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNTc4LDcgKzU3OCw3IEBAIHZvaWQgSW50ZXJuYWxzOjpyZXNldFRvQ29uc2lz
dGVudFN0YXRlKFAKICAgICBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpkaXNhYmxl
TW9jaygpOwogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLSAgICBSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEludGVycnVwdEF1ZGlvT25QYWdlVmlzaWJpbGl0
eUNoYW5nZUVuYWJsZWQoZmFsc2UpOworICAgIHBhZ2Uuc2V0dGluZ3MoKS5zZXRJbnRlcnJ1cHRB
dWRpb09uUGFnZVZpc2liaWxpdHlDaGFuZ2VFbmFibGVkKGZhbHNlKTsKICAgICBXZWJDb3JlOjpN
ZWRpYVJlY29yZGVyOjpzZXRDdXN0b21Qcml2YXRlUmVjb3JkZXJDcmVhdG9yKG51bGxwdHIpOwog
I2VuZGlmCiAKQEAgLTE2ODEsNyArMTY4MSw5IEBAIHZvaWQgSW50ZXJuYWxzOjpzZXRVc2VHUFVQ
cm9jZXNzRm9yV2ViUlQKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogdm9pZCBJbnRlcm5hbHM6
OnNldFNob3VsZEludGVycnVwdEF1ZGlvT25QYWdlVmlzaWJpbGl0eUNoYW5nZShib29sIHNob3Vs
ZEludGVycnVwdCkKIHsKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJl
cygpLnNldEludGVycnVwdEF1ZGlvT25QYWdlVmlzaWJpbGl0eUNoYW5nZUVuYWJsZWQoc2hvdWxk
SW50ZXJydXB0KTsKKyAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBjb250ZXh0RG9jdW1lbnQoKTsK
KyAgICBpZiAoYXV0byogcGFnZSA9IGRvY3VtZW50LT5wYWdlKCkpCisgICAgICAgIHBhZ2UtPnNl
dHRpbmdzKCkuc2V0SW50ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5Q2hhbmdlRW5hYmxlZChz
aG91bGRJbnRlcnJ1cHQpOwogfQogCiB2b2lkIEludGVybmFsczo6c2V0TWVkaWFDYXB0dXJlUmVx
dWlyZXNTZWN1cmVDb25uZWN0aW9uKGJvb2wgZW5hYmxlZCkKQEAgLTU4MTQsNyArNTgxNiw3IEBA
IEludGVybmFsczo6VGV4dEluZGljYXRvckluZm8gSW50ZXJuYWxzOjoKIAogdm9pZCBJbnRlcm5h
bHM6OmFkZFByZWZldGNoTG9hZEV2ZW50TGlzdGVuZXIoSFRNTExpbmtFbGVtZW50JiBsaW5rLCBS
ZWZQdHI8RXZlbnRMaXN0ZW5lcj4mJiBsaXN0ZW5lcikKIHsKLSAgICBpZiAoUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5saW5rUHJlZmV0Y2hFbmFibGVkKCkgJiYgZXF1
YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UobGluay5yZWwoKSwgInByZWZldGNoIikpIHsKKyAg
ICBpZiAobGluay5kb2N1bWVudCgpLnNldHRpbmdzKCkubGlua1ByZWZldGNoRW5hYmxlZCgpICYm
IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGxpbmsucmVsKCksICJwcmVmZXRjaCIpKSB7
CiAgICAgICAgIGxpbmsuYWxsb3dQcmVmZXRjaExvYWRBbmRFcnJvckZvclRlc3RpbmcoKTsKICAg
ICAgICAgbGluay5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5sb2FkRXZlbnQsIGxpc3Rl
bmVyLnJlbGVhc2VOb25OdWxsKCksIGZhbHNlKTsKICAgICB9CkluZGV4OiBTb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNp
b24gMjY2MzI4KQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwyOCBAQAorMjAyMC0wOC0yOSAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+
CisKKyAgICAgICAgTWFueSBzZXR0aW5ncyBpbiBSdW50aW1lRW5hYmxlZFNldHRpbmdzIHNob3Vs
ZCBhdXRvZ2VuZXJhdGVkIFNldHRpbmdzOiBQYXJ0IDEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTk4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgbW92ZXMgYW4gaW5pdGlhbCBjaHVuayBvZiBS
dW50aW1lRW5hYmxlZFNldHRpbmdzIHNldHRpbmdzIHRvIFNldHRpbmdzLnlhbWwsIGZvY3VzaW5n
CisgICAgICAgIG9uIHNldHRpbmdzIHRoYXQgZG9uJ3QgcmVxdWlyZSBzdWJzdGFudGlhbCByZWZh
Y3RvcmluZyBvciBuZXcgZmVhdHVyZXMgdG8gd29yayBpbiBTZXR0aW5ncy55YW1sLgorICAgICAg
ICAKKyAgICAgICAgSW4gV2ViS2l0LCB0aGlzIG1lYW5zIG1vc3RseSByZW1vdmluZyBub3cgdW5u
ZWNlc3NhcnkgdXNlIG9mIHRoZSB3ZWJjb3JlQmluZGluZyBrZXkgaW4gCisgICAgICAgIFdlYlBy
ZWZlcmVuY2VzLnlhbWwgYW5kIHJlbW92aW5nIG5vdyBzdXBlcmZsdW91cyBjYXNlcyBpbiBJbmpl
Y3RlZEJ1bmRsZTo6b3ZlcnJpZGVCb29sUHJlZmVyZW5jZUZvclRlc3RSdW5uZXIuCisKKyAgICAg
ICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbDoKKyAgICAgICAgUmVtb3Zpbmcgbm93IHVu
bmVjZXNzYXJ5IHVzZSBvZiB0aGUgd2ViY29yZUJpbmRpbmcga2V5IGFuZCBmaXggaW5kZW50YXRp
b24gb2YgYSBmZXcgY2FzZXMuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0luamVjdGVkQnVuZGxlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGU6Om92
ZXJyaWRlQm9vbFByZWZlcmVuY2VGb3JUZXN0UnVubmVyKToKKyAgICAgICAgUmVtb3ZlIG5vdyBz
dXBlcmZsdW91cyBjYXNlcywgYXMgZWFjaCBib29sZWFuIFNldHRpbmdzIGJhc2VkIHNldHRpbmcg
Z2V0cyBoYW5kbGVkIGF1dG9tYXRpY2FsbHkuCisgCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp1cGRhdGVQcmVmZXJl
bmNlcyk6CisgICAgICAgIFJlbW92ZSBleHBsaWNpdCBzZXR0aW5nIG9mIHNldEludGVyYWN0aXZl
Rm9ybVZhbGlkYXRpb25FbmFibGVkIG5vdyB0aGF0IHdlIGRvbid0IGhhdmUgdGhlCisgICAgICAg
IFJ1bnRpbWVFbmFibGVkU2V0dGluZ3MgdmFyaWFudCBiZWluZyBzZXQgYnkgdGhlIGdlbmVyYXRv
ci4KKwogMjAyMC0wOC0yOCAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4K
IAogICAgICAgICBTaXRlcyBidWlsdCB3aXRoIGZsYW1iZS5qcyBkb24ndCB3b3JrIHdpdGggdHJh
Y2twYWQgb24gaVBhZApJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMu
eWFtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55
YW1sCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJl
bmNlcy55YW1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDcgKzEsNiBAQAogQmxhbmtBbmNob3JUYXJn
ZXRJbXBsaWVzTm9PcGVuZXJFbmFibGVkOgogICAgdHlwZTogYm9vbAogICAgZGVmYXVsdFZhbHVl
OiB0cnVlCi0gICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogICAgaHVt
YW5SZWFkYWJsZU5hbWU6ICJCbGFuayBhbmNob3IgdGFyZ2V0IGltcGxpZXMgcmVsPW5vb3BlbmVy
IgogICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAidGFyZ2V0PV9ibGFuayBvbiBhbmNob3Ig
ZWxlbWVudHMgaW1wbGllcyByZWw9bm9vcGVuZXIiCiAgICBjYXRlZ29yeTogZXhwZXJpbWVudGFs
CkBAIC01NTgsMjQgKzU1NywyMSBAQCBVc2VHaWFudFRpbGVzOgogICBkZWZhdWx0VmFsdWU6IGZh
bHNlCiAKIE1lZGlhUmVjb3JkZXJFbmFibGVkOgotICAgIHR5cGU6IGJvb2wKLSAgICBkZWZhdWx0
VmFsdWU6IGZhbHNlCi0gICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMK
LSAgICBjb25kaXRpb246IEVOQUJMRShNRURJQV9TVFJFQU0pCi0gICAgaHVtYW5SZWFkYWJsZU5h
bWU6ICJNZWRpYVJlY29yZGVyIgotICAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIk1lZGlh
UmVjb3JkZXIiCi0gICAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAorICB0eXBlOiBib29sCisgIGRl
ZmF1bHRWYWx1ZTogZmFsc2UKKyAgY29uZGl0aW9uOiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICBo
dW1hblJlYWRhYmxlTmFtZTogIk1lZGlhUmVjb3JkZXIiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlw
dGlvbjogIk1lZGlhUmVjb3JkZXIiCisgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKIAogTWVkaWFE
ZXZpY2VzRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IGZhbHNlCi0gIHdl
YmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAgIGNvbmRpdGlvbjogRU5BQkxF
KE1FRElBX1NUUkVBTSkKIAogTWVkaWFTdHJlYW1FbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRl
ZmF1bHRWYWx1ZTogdHJ1ZQotICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJl
cwogICBjb25kaXRpb246IEVOQUJMRShNRURJQV9TVFJFQU0pCiAKIE1lZGlhRW5hYmxlZDoKQEAg
LTU4Nyw3ICs1ODMsNiBAQCBNZWRpYUVuYWJsZWQ6CiBTY3JlZW5DYXB0dXJlRW5hYmxlZDoKICAg
dHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IHRydWUKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXMKICAgY29uZGl0aW9uOiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBQ
TEFURk9STShNQUMpCiAgIGh1bWFuUmVhZGFibGVOYW1lOiAiU2NyZWVuQ2FwdHVyZSIKICAgaHVt
YW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIFNjcmVlbkNhcHR1cmUiCkBAIC02MDIsNyAr
NTk3LDYgQEAgUGVlckNvbm5lY3Rpb25FbmFibGVkOgogSW50ZXJydXB0QXVkaW9PblBhZ2VWaXNp
YmlsaXR5Q2hhbmdlRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IFdlYkNv
cmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNob3VsZEludGVycnVwdEF1ZGlvT25QYWdl
VmlzaWJpbGl0eUNoYW5nZSgpCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzCiAgIGNvbmRpdGlvbjogRU5BQkxFKE1FRElBX1NUUkVBTSkKIAogV2ViUlRDSDI2NExvd0xh
dGVuY3lFbmNvZGVyRW5hYmxlZDoKQEAgLTc5NSw3ICs3ODksNiBAQCBGZXRjaEFQSUVuYWJsZWQ6
CiBEb3dubG9hZEF0dHJpYnV0ZUVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVl
OiB0cnVlCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAgIGNvbmRp
dGlvbjogRU5BQkxFKERPV05MT0FEX0FUVFJJQlVURSkKIAogU2VsZWN0aW9uUGFpbnRpbmdXaXRo
b3V0U2VsZWN0aW9uR2Fwc0VuYWJsZWQ6CkBAIC04MzEsNyArODI0LDYgQEAgQW5pbWF0ZWRJbWFn
ZUFzeW5jRGVjb2RpbmdFbmFibGVkOgogQ3VzdG9tRWxlbWVudHNFbmFibGVkOgogICB0eXBlOiBi
b29sCiAgIGRlZmF1bHRWYWx1ZTogdHJ1ZQotICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJs
ZWRGZWF0dXJlcwogCiBNZW51SXRlbUVsZW1lbnRFbmFibGVkOgogICB0eXBlOiBib29sCkBAIC04
NDEsMTQgKzgzMywxMiBAQCBNZW51SXRlbUVsZW1lbnRFbmFibGVkOgogTWVkaWFQcmVsb2FkaW5n
RW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IGZhbHNlCi0gIHdlYmNvcmVC
aW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAKIEludGVyYWN0aXZlRm9ybVZhbGlkYXRp
b25FbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogdHJ1ZQogICBodW1hblJl
YWRhYmxlTmFtZTogIkhUTUwgSW50ZXJhY3RpdmUgRm9ybSBWYWxpZGF0aW9uIgogICBodW1hblJl
YWRhYmxlRGVzY3JpcHRpb246ICJIVE1MIGludGVyYWN0aXZlIGZvcm0gdmFsaWRhdGlvbiIKLSAg
d2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKIAogU2hvdWxkU3VwcHJlc3NU
ZXh0SW5wdXRGcm9tRWRpdGluZ0R1cmluZ1Byb3Zpc2lvbmFsTmF2aWdhdGlvbjoKICAgdHlwZTog
Ym9vbApAQCAtODU5LDMwICs4NDksMjcgQEAgR2FtZXBhZHNFbmFibGVkOgogICBkZWZhdWx0VmFs
dWU6IHRydWUKICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJHYW1lcGFkcyIKICAgaHVtYW5SZWFkYWJs
ZURlc2NyaXB0aW9uOiAiV2ViIEdhbWVwYWQgQVBJIHN1cHBvcnQiCi0gIHdlYmNvcmVCaW5kaW5n
OiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAgIGNvbmRpdGlvbjogRU5BQkxFKEdBTUVQQUQpCiAK
IEhpZ2hsaWdodEFQSUVuYWJsZWQ6Ci0gICAgdHlwZTogYm9vbAotICAgIGRlZmF1bHRWYWx1ZTog
ZmFsc2UKLSAgICBodW1hblJlYWRhYmxlTmFtZTogIkhpZ2hsaWdodCBBUEkiCi0gICAgaHVtYW5S
ZWFkYWJsZURlc2NyaXB0aW9uOiAiSGlnaGxpZ2h0IEFQSSBzdXBwb3J0IgotICAgIHdlYmNvcmVC
aW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCi0gICAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRh
bAorICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTogZmFsc2UKKyAgaHVtYW5SZWFkYWJsZU5h
bWU6ICJIaWdobGlnaHQgQVBJIgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJIaWdobGln
aHQgQVBJIHN1cHBvcnQiCisgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVz
CisgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKIAogSW5wdXRFdmVudHNFbmFibGVkOgogICB0eXBl
OiBib29sCiAgIGRlZmF1bHRWYWx1ZTogdHJ1ZQogICBodW1hblJlYWRhYmxlTmFtZTogIklucHV0
IEV2ZW50cyIKICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIElucHV0RXZlbnRz
IHN1cHBvcnQiCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAKIFdl
YkF1dGhlbnRpY2F0aW9uRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IGZh
bHNlCiAgIGh1bWFuUmVhZGFibGVOYW1lOiAiV2ViIEF1dGhlbnRpY2F0aW9uIgogICBodW1hblJl
YWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgV2ViIEF1dGhlbnRpY2F0aW9uIHN1cHBvcnQiCi0g
IHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAgIGNhdGVnb3J5OiBleHBl
cmltZW50YWwKICAgY29uZGl0aW9uOiBFTkFCTEUoV0VCX0FVVEhOKQogCkBAIC04OTEsNyArODc4
LDYgQEAgV2ViQXV0aGVudGljYXRpb25Mb2NhbEF1dGhlbnRpY2F0b3JFbmFibAogICBkZWZhdWx0
VmFsdWU6IGZhbHNlCiAgIGh1bWFuUmVhZGFibGVOYW1lOiAiV2ViIEF1dGhlbnRpY2F0aW9uIExv
Y2FsIEF1dGhlbnRpY2F0b3IiCiAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBX
ZWIgQXV0aGVudGljYXRpb24gbG9jYWwgYXV0aGVudGljYXRvciBzdXBwb3J0IgotICB3ZWJjb3Jl
QmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogICBjYXRlZ29yeTogZXhwZXJpbWVudGFs
CiAgIGNvbmRpdGlvbjogRU5BQkxFKFdFQl9BVVRITikKIApAQCAtOTM1LDcgKzkyMSw2IEBAIExl
Z2FjeUVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZDoKICAgZGVmYXVsdFZhbHVlOiB0cnVlCiAgIGh1
bWFuUmVhZGFibGVOYW1lOiAiRW5hYmxlIExlZ2FjeSBFTUUgQVBJIgogICBodW1hblJlYWRhYmxl
RGVzY3JpcHRpb246ICJFbmFibGUgbGVnYWN5IEVNRSBBUEkiCi0gIHdlYmNvcmVCaW5kaW5nOiBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzCiAgIGNvbmRpdGlvbjogRU5BQkxFKExFR0FDWV9FTkNSWVBU
RURfTUVESUEpCiAKIEFsbG93TWVkaWFDb250ZW50VHlwZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBv
cnRBc0ZhbGxiYWNrOgpAQCAtOTYzLDcgKzk0OCw2IEBAIERhdGFUcmFuc2Zlckl0ZW1zRW5hYmxl
ZDoKICAgZGVmYXVsdFZhbHVlOiBERUZBVUxUX0RBVEFfVFJBTlNGRVJfSVRFTVNfRU5BQkxFRAog
ICBodW1hblJlYWRhYmxlTmFtZTogIkRhdGEgVHJhbnNmZXIgSXRlbXMiCiAgIGh1bWFuUmVhZGFi
bGVEZXNjcmlwdGlvbjogIkVuYWJsZXMgRGF0YVRyYW5zZmVySXRlbSBpbiB0aGUgY2xpcGJvYXJk
IEFQSSIKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKIAogQ3VzdG9t
UGFzdGVib2FyZERhdGFFbmFibGVkOgogICB0eXBlOiBib29sCkBAIC05ODQsNyArOTY4LDYgQEAg
V2ViU2hhcmVFbmFibGVkOgogICBkZWZhdWx0VmFsdWU6IERFRkFVTFRfV0VCX1NIQVJFX0VOQUJM
RUQKICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJXZWIgU2hhcmUiCiAgIGh1bWFuUmVhZGFibGVEZXNj
cmlwdGlvbjogIkVuYWJsZSBzdXBwb3J0IGZvciBzaGFyZSBzaGVldCB2aWEgV2ViIFNoYXJlIEFQ
SSIKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKIAogVmlld3BvcnRG
aXRFbmFibGVkOgogICB0eXBlOiBib29sCkBAIC0xMjQ3LDcgKzEyMzAsNiBAQCBNZWRpYUNhcGFi
aWxpdGllc0VuYWJsZWQ6CiBTeXN0ZW1QcmV2aWV3RW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBk
ZWZhdWx0VmFsdWU6IGZhbHNlCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzCiAgIGNvbmRpdGlvbjogVVNFKFNZU1RFTV9QUkVWSUVXKQogCiBDYWNoZUFQSUVuYWJsZWQ6
CkBAIC0xMjcxLDcgKzEyNTMsNiBAQCBDcm9zc09yaWdpblJlc291cmNlUG9saWN5RW5hYmxlZDoK
IERpc2FibGVkQWRhcHRhdGlvbnNNZXRhVGFnRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZh
dWx0VmFsdWU6IERJU0FCTEVEX0FEQVBUQVRJT05TX01FVEFfVEFHX0VOQUJMRUQKLSAgd2ViY29y
ZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKIAogQ29sb3JGaWx0ZXJFbmFibGVkOgog
ICB0eXBlOiBib29sCkBAIC0xMjk5LDcgKzEyODAsNiBAQCBTdG9yYWdlQWNjZXNzQVBJRW5hYmxl
ZDoKIExpbmtQcmVsb2FkRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IHRy
dWUKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKIAogSXNTZWN1cmVD
b250ZXh0QXR0cmlidXRlRW5hYmxlZDoKICAgdHlwZTogYm9vbApAQCAtMTMyMiw3ICsxMzAyLDYg
QEAgS2V5Z2VuRWxlbWVudEVuYWJsZWQ6CiBFbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQ6CiAgIHR5
cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiB0cnVlCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzCiAgIGNvbmRpdGlvbjogRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKIAog
VmlkZW9RdWFsaXR5SW5jbHVkZXNEaXNwbGF5Q29tcG9zaXRpbmdFbmFibGVkOgpAQCAtMTM0Nyw3
ICsxMzI2LDYgQEAgSXNJbkFwcEJyb3dzZXJQcml2YWN5RW5hYmxlZDoKICAgICBkZWZhdWx0VmFs
dWU6IGRlZmF1bHRJbkFwcEJyb3dzZXJQcml2YWN5KCkKICAgICBodW1hblJlYWRhYmxlTmFtZTog
IkluLUFwcCBCcm93c2VyIFByaXZhY3kiCiAgICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAi
RW5hYmxlIEluLUFwcCBCcm93c2VyIFByaXZhY3kiCi0gICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXMKICAgICBjYXRlZ29yeTogZGVidWcKIAogTmVlZHNJbkFwcEJyb3dz
ZXJQcml2YWN5UXVpcmtzOgpAQCAtMTM1NSw3ICsxMzMzLDYgQEAgTmVlZHNJbkFwcEJyb3dzZXJQ
cml2YWN5UXVpcmtzOgogICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UKICAgICBodW1hblJlYWRhYmxl
TmFtZTogIk5lZWRzIEluLUFwcCBCcm93c2VyIFByaXZhY3kgUXVpcmtzIgogICAgIGh1bWFuUmVh
ZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBxdWlya3MgbmVlZGVkIHRvIHN1cHBvcnQgSW4tQXBw
IEJyb3dzZXIgcHJpdmFjeSIKLSAgICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0
dXJlcwogICAgIGNhdGVnb3J5OiBkZWJ1ZwogCiBTZXJ2aWNlV29ya2VyRW50aXRsZW1lbnREaXNh
YmxlZEZvclRlc3Rpbmc6CkBAIC0xNDEwLDcgKzEzODcsNiBAQCBJbnRlcnNlY3Rpb25PYnNlcnZl
ckVuYWJsZWQ6CiAgIGRlZmF1bHRWYWx1ZTogdHJ1ZQogICBodW1hblJlYWRhYmxlTmFtZTogIklu
dGVyc2VjdGlvbiBPYnNlcnZlciIKICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxl
IEludGVyc2VjdGlvbiBPYnNlcnZlciBzdXBwb3J0IgotICB3ZWJjb3JlQmluZGluZzogUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcwogICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCiAgIGNvbmRpdGlvbjog
RU5BQkxFKElOVEVSU0VDVElPTl9PQlNFUlZFUikKIApAQCAtMTUzMCw3ICsxNTA2LDYgQEAgQ1NT
Q3VzdG9tUHJvcGVydGllc0FuZFZhbHVlc0VuYWJsZWQ6CiAgIGRlZmF1bHRWYWx1ZTogZmFsc2UK
ICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJDU1MgQ3VzdG9tIFByb3BlcnRpZXMgYW5kIFZhbHVlcyBB
UEkiCiAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBDU1MgQ3VzdG9tIFByb3Bl
cnRpZXMgYW5kIFZhbHVlcyBBUEkiCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZl
YXR1cmVzCiAgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKIAogQ1NTUGFpbnRpbmdBUElFbmFibGVk
OgpAQCAtMTU5MCwyMCArMTU2NSwxOSBAQCBSZXNpemVPYnNlcnZlckVuYWJsZWQ6CiAgIGNvbmRp
dGlvbjogRU5BQkxFKFJFU0laRV9PQlNFUlZFUikKIAogQWRDbGlja0F0dHJpYnV0aW9uRW5hYmxl
ZDoKLSAgICB0eXBlOiBib29sCi0gICAgZGVmYXVsdFZhbHVlOiBmYWxzZQotICAgIGh1bWFuUmVh
ZGFibGVOYW1lOiAiQWQgQ2xpY2sgQXR0cmlidXRpb24iCi0gICAgaHVtYW5SZWFkYWJsZURlc2Ny
aXB0aW9uOiAiRW5hYmxlIEFkIENsaWNrIEF0dHJpYnV0aW9uIGZvciBDcm9zcy1TaXRlIExpbmsg
TmF2aWdhdGlvbnMiCi0gICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMK
LSAgICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCisgIHR5cGU6IGJvb2wKKyAgZGVmYXVsdFZhbHVl
OiBmYWxzZQorICBodW1hblJlYWRhYmxlTmFtZTogIkFkIENsaWNrIEF0dHJpYnV0aW9uIgorICBo
dW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgQWQgQ2xpY2sgQXR0cmlidXRpb24gZm9y
IENyb3NzLVNpdGUgTGluayBOYXZpZ2F0aW9ucyIKKyAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAog
CiBBZENsaWNrQXR0cmlidXRpb25EZWJ1Z01vZGVFbmFibGVkOgotICAgIHR5cGU6IGJvb2wKLSAg
ICBkZWZhdWx0VmFsdWU6IGZhbHNlCi0gICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJBZCBDbGljayBB
dHRyaWJ1dGlvbiBEZWJ1ZyBNb2RlIgotICAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVu
YWJsZSBBZCBDbGljayBBdHRyaWJ1dGlvbiBEZWJ1ZyBNb2RlIgotICAgIHdlYmNvcmVCaW5kaW5n
OiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCi0gICAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAorICB0
eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTogZmFsc2UKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJB
ZCBDbGljayBBdHRyaWJ1dGlvbiBEZWJ1ZyBNb2RlIgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRp
b246ICJFbmFibGUgQWQgQ2xpY2sgQXR0cmlidXRpb24gRGVidWcgTW9kZSIKKyAgd2ViY29yZUJp
bmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKKyAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAog
CiBGZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKQEAgLTE5MjYsNyArMTkw
MCw2IEBAIFVuZG9NYW5hZ2VyQVBJRW5hYmxlZDoKICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJVbmRv
TWFuYWdlciBET00gQVBJIgogICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgdGhl
IFVuZG9NYW5hZ2VyIERPTSBBUEkiCiAgIGNhdGVnb3J5OiBpbnRlcm5hbAotICB3ZWJjb3JlQmlu
ZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogCiBDU1NMb2dpY2FsRW5hYmxlZDoKICAgdHlw
ZTogYm9vbApAQCAtMTk4OSw3ICsxOTYyLDYgQEAgUmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGVFbmFi
bGVkOgogICBodW1hblJlYWRhYmxlTmFtZTogIlJlZmVycmVyIFBvbGljeSBhdHRyaWJ1dGUiCiAg
IGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBSZWZlcnJlciBQb2xpY3kgYXR0cmli
dXRlIgogICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzCiAKIFBhZ2VBdFJ1bGVTdXBwb3J0RW5hYmxlZDoKICAgdHlwZTogYm9v
bApAQCAtMjAxOSw3ICsxOTkxLDYgQEAgTGlua1ByZWZldGNoRW5hYmxlZDoKICAgZGVmYXVsdFZh
bHVlOiBmYWxzZQogICBodW1hblJlYWRhYmxlTmFtZTogIkxpbmtQcmVmZXRjaCIKICAgaHVtYW5S
ZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIExpbmtlZFByZWZldGNoIgotICB3ZWJjb3JlQmlu
ZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCiAK
IExpbmtQcmVsb2FkUmVzcG9uc2l2ZUltYWdlc0VuYWJsZWQ6CkBAIC0yMDI3LDcgKzE5OTgsNiBA
QCBMaW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVkOgogICBkZWZhdWx0VmFsdWU6IGZh
bHNlCiAgIGh1bWFuUmVhZGFibGVOYW1lOiAiTGluayBwcmVsb2FkIHJlc3BvbnNpdmUgaW1hZ2Vz
IgogICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgbGluayBwcmVsb2FkIHJlc3Bv
bnNpdmUgaW1hZ2VzIgotICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwog
ICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCiAKIElzTlNVUkxTZXNzaW9uV2ViU29ja2V0RW5hYmxl
ZDoKQEAgLTIwNDQsNyArMjAxNCw2IEBAIExhenlJbWFnZUxvYWRpbmdFbmFibGVkOgogICBkZWZh
dWx0VmFsdWU6IGZhbHNlCiAgIGh1bWFuUmVhZGFibGVOYW1lOiAiTGF6eSBJbWFnZSBMb2FkaW5n
IgogICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgTGF6eSBJbWFnZSBMb2FkaW5n
IHN1cHBvcnQiCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAgIGNh
dGVnb3J5OiBleHBlcmltZW50YWwKIAogSXNUaGlyZFBhcnR5Q29va2llQmxvY2tpbmdEaXNhYmxl
ZDoKQEAgLTIxMzMsNyArMjEwMiw2IEBAIFdlYlNoYXJlRmlsZUFQSUVuYWJsZWQ6CiAgICAgZGVm
YXVsdFZhbHVlOiBmYWxzZQogICAgIGh1bWFuUmVhZGFibGVOYW1lOiAiV2ViIFNoYXJlIEFQSSBM
ZXZlbCAyIgogICAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBsZXZlbCAyIG9m
IFdlYiBTaGFyZSBBUEkiCi0gICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXMKICAgICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCiAKIEluY3JlbWVudGFsUERGTG9hZGluZ0Vu
YWJsZWQ6CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5q
ZWN0ZWRCdW5kbGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAJKHJldmlzaW9uIDI2NjMxMikKKysrIFNv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTIwMyw5ICsyMDMsNiBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpv
dmVycmlkZUJvb2xQcmVmZXJlCiAgICAgaWYgKHByZWZlcmVuY2UgPT0gIldlYktpdFRyYW5zZm9y
bVN0cmVhbUFQSUVuYWJsZWQiKQogICAgICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFy
ZWRGZWF0dXJlcygpLnNldFRyYW5zZm9ybVN0cmVhbUFQSUVuYWJsZWQoZW5hYmxlZCk7CiAKLSAg
ICBpZiAocHJlZmVyZW5jZSA9PSAiV2ViS2l0SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJs
ZWQiKQotICAgICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNl
dEludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkKGVuYWJsZWQpOwotCiAjaWYgRU5BQkxF
KFdFQkdMMikKICAgICBpZiAocHJlZmVyZW5jZSA9PSAiV2ViS2l0V2ViR0wyRW5hYmxlZCIpCiAg
ICAgICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0V2ViR0wy
RW5hYmxlZChlbmFibGVkKTsKQEAgLTIxOSwyMCArMjE2LDYgQEAgdm9pZCBJbmplY3RlZEJ1bmRs
ZTo6b3ZlcnJpZGVCb29sUHJlZmVyZQogICAgIGlmIChwcmVmZXJlbmNlID09ICJXZWJLaXRNb2Rl
cm5NZWRpYUNvbnRyb2xzRW5hYmxlZCIpCiAgICAgICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNoYXJlZEZlYXR1cmVzKCkuc2V0TW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQoZW5hYmxlZCk7
CiAKLSNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQotICAgIGlmIChwcmVmZXJlbmNlID09ICJX
ZWJLaXRFbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQiKSB7Ci0gICAgICAgIFdlYlByZWZlcmVuY2Vz
U3RvcmU6Om92ZXJyaWRlQm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjplbmNyeXB0
ZWRNZWRpYUFQSUVuYWJsZWRLZXkoKSwgZW5hYmxlZCk7Ci0gICAgICAgIFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0RW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKGVu
YWJsZWQpOwotICAgIH0KLSNlbmRpZgotCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLSAgICBp
ZiAocHJlZmVyZW5jZSA9PSAiV2ViS2l0TWVkaWFEZXZpY2VzRW5hYmxlZCIpCi0gICAgICAgIFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TWVkaWFEZXZpY2VzRW5h
YmxlZChlbmFibGVkKTsKLSAgICBpZiAocHJlZmVyZW5jZSA9PSAiV2ViS2l0U2NyZWVuQ2FwdHVy
ZUVuYWJsZWQiKQotICAgICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJl
cygpLnNldFNjcmVlbkNhcHR1cmVFbmFibGVkKGVuYWJsZWQpOwotI2VuZGlmCi0KICNpZiBFTkFC
TEUoV0VCX1JUQykKICAgICBpZiAocHJlZmVyZW5jZSA9PSAiV2ViS2l0V2ViUlRDTUROU0lDRUNh
bmRpZGF0ZXNFbmFibGVkIikKICAgICAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS5zZXRXZWJSVENNRE5TSUNFQ2FuZGlkYXRlc0VuYWJsZWQoZW5hYmxlZCk7CkBA
IC0yNjIsOSArMjQ1LDYgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6b3ZlcnJpZGVCb29sUHJlZmVy
ZQogICAgIGlmIChwcmVmZXJlbmNlID09ICJXZWJLaXRXZWJBUElTdGF0aXN0aWNzRW5hYmxlZCIp
CiAgICAgICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0V2Vi
QVBJU3RhdGlzdGljc0VuYWJsZWQoZW5hYmxlZCk7CiAKLSAgICBpZiAocHJlZmVyZW5jZSA9PSAi
Q1NTQ3VzdG9tUHJvcGVydGllc0FuZFZhbHVlc0VuYWJsZWQiKQotICAgICAgICBSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldENTU0N1c3RvbVByb3BlcnRpZXNBbmRW
YWx1ZXNFbmFibGVkKGVuYWJsZWQpOwotCiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NP
TlRFWFQpCiAgICAgaWYgKHByZWZlcmVuY2UgPT0gIkxheW91dEZvcm1hdHRpbmdDb250ZXh0RW5h
YmxlZCIpCiAgICAgICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCku
c2V0TGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRFbmFibGVkKGVuYWJsZWQpOwpJbmRleDogU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHJldmlzaW9uIDI2NjMx
MikKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNzI2LDkgKzM3MjYsNiBAQCB2b2lkIFdlYlBhZ2U6OnVwZGF0ZVByZWZl
cmVuY2VzKGNvbnN0IFdlCiAgICAgc2V0dGluZ3Muc2V0UGF5bWVudFJlcXVlc3RFbmFibGVkKHN0
b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6YXBwbGVQYXlFbmFibGVk
S2V5KCkpKTsKICNlbmRpZgogCi0gICAgLy8gRklYTUU6IFRoaXMgaXMgYm90aCBhIFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXMgKGdlbmVyYXRlZCkgYW5kIGEgc2V0dGluZy4gSXQgc2hvdWxkIHBpY2sg
b25lLgotICAgIHNldHRpbmdzLnNldEludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkKHN0
b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6aW50ZXJhY3RpdmVGb3Jt
VmFsaWRhdGlvbkVuYWJsZWRLZXkoKSkpOwotCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAg
ICBzZXRGb3JjZUFsd2F5c1VzZXJTY2FsYWJsZShtX2ZvcmNlQWx3YXlzVXNlclNjYWxhYmxlIHx8
IHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6Zm9yY2VBbHdheXNV
c2VyU2NhbGFibGVLZXkoKSkpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAyMC0wOC0yOSAgU2FtIFdlaW5pZyAgPHdl
aW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgTWFueSBzZXR0aW5ncyBpbiBSdW50aW1lRW5hYmxl
ZFNldHRpbmdzIHNob3VsZCBhdXRvZ2VuZXJhdGVkIFNldHRpbmdzOiBQYXJ0IDEKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTk4MQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgbW92ZXMgYW4gaW5p
dGlhbCBjaHVuayBvZiBSdW50aW1lRW5hYmxlZFNldHRpbmdzIHNldHRpbmdzIHRvIFNldHRpbmdz
LnlhbWwsIGZvY3VzaW5nCisgICAgICAgIG9uIHNldHRpbmdzIHRoYXQgZG9uJ3QgcmVxdWlyZSBz
dWJzdGFudGlhbCByZWZhY3RvcmluZyBvciBuZXcgZmVhdHVyZXMgdG8gd29yayBpbiBTZXR0aW5n
cy55YW1sLgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJW
aWV3IF9wcmVmZXJlbmNlc0NoYW5nZWQ6XSk6CisgICAgICAgIFVwZGF0ZSBjaGFuZ2VkIHNldHRp
bmdzIHRvIHVzZSBTZXR0aW5ncyByYXRoZXIgdGhhbiBSdW50aW1lRW5hYmxlZFNldHRpbmdzLgor
CiAyMDIwLTA4LTI4ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZW1vdmUgYWxtb3N0IGFsbCB0aGUgcmVtYWluaW5nIHVzZXMgb2YgbGl2ZSByYW5nZXMKSW5kZXg6
IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHJldmlzaW9uIDI2
NjMxMikKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkod29y
a2luZyBjb3B5KQpAQCAtMzI4NSw5ICszMjg1LDkgQEAgLSAodm9pZClfcHJlZmVyZW5jZXNDaGFu
Z2VkOihXZWJQcmVmZXJlbgogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgc2V0dGluZ3Mu
c2V0TW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZChmYWxzZSk7CiAgICAgc2V0dGluZ3Muc2V0TWVk
aWFDYXB0dXJlUmVxdWlyZXNTZWN1cmVDb25uZWN0aW9uKHRydWUpOwotICAgIFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TWVkaWFTdHJlYW1FbmFibGVkKGZhbHNl
KTsKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldE1lZGlh
RGV2aWNlc0VuYWJsZWQoZmFsc2UpOwotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJl
ZEZlYXR1cmVzKCkuc2V0TWVkaWFSZWNvcmRlckVuYWJsZWQocHJlZmVyZW5jZXMubWVkaWFSZWNv
cmRlckVuYWJsZWQpOworICAgIHNldHRpbmdzLnNldE1lZGlhU3RyZWFtRW5hYmxlZChmYWxzZSk7
CisgICAgc2V0dGluZ3Muc2V0TWVkaWFEZXZpY2VzRW5hYmxlZChmYWxzZSk7CisgICAgc2V0dGlu
Z3Muc2V0TWVkaWFSZWNvcmRlckVuYWJsZWQocHJlZmVyZW5jZXMubWVkaWFSZWNvcmRlckVuYWJs
ZWQpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoV0VCX1JUQykKQEAgLTMzMDgsNyArMzMwOCw3IEBA
IC0gKHZvaWQpX3ByZWZlcmVuY2VzQ2hhbmdlZDooV2ViUHJlZmVyZW4KIAogICAgIFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TGluZUhlaWdodFVuaXRzRW5hYmxl
ZChbcHJlZmVyZW5jZXMgbGluZUhlaWdodFVuaXRzRW5hYmxlZF0pOwogCi0gICAgUnVudGltZUVu
YWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRBZENsaWNrQXR0cmlidXRpb25FbmFi
bGVkKFtwcmVmZXJlbmNlcyBhZENsaWNrQXR0cmlidXRpb25FbmFibGVkXSk7CisgICAgc2V0dGlu
Z3Muc2V0QWRDbGlja0F0dHJpYnV0aW9uRW5hYmxlZChbcHJlZmVyZW5jZXMgYWRDbGlja0F0dHJp
YnV0aW9uRW5hYmxlZF0pOwogCiAgICAgc2V0dGluZ3Muc2V0SGlkZGVuUGFnZURPTVRpbWVyVGhy
b3R0bGluZ0VuYWJsZWQoW3ByZWZlcmVuY2VzIGhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdF
bmFibGVkXSk7CiAKQEAgLTMzMjAsMjEgKzMzMjAsMjEgQEAgLSAodm9pZClfcHJlZmVyZW5jZXND
aGFuZ2VkOihXZWJQcmVmZXJlbgogICAgIHNldHRpbmdzLnNldENvbnN0YW50UHJvcGVydGllc0Vu
YWJsZWQoW3ByZWZlcmVuY2VzIGNvbnN0YW50UHJvcGVydGllc0VuYWJsZWRdKTsKIAogI2lmIEVO
QUJMRShHQU1FUEFEKQotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVz
KCkuc2V0R2FtZXBhZHNFbmFibGVkKFtwcmVmZXJlbmNlcyBnYW1lcGFkc0VuYWJsZWRdKTsKKyAg
ICBzZXR0aW5ncy5zZXRHYW1lcGFkc0VuYWJsZWQoW3ByZWZlcmVuY2VzIGdhbWVwYWRzRW5hYmxl
ZF0pOwogI2VuZGlmCiAKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJl
cygpLnNldEhpZ2hsaWdodEFQSUVuYWJsZWQoW3ByZWZlcmVuY2VzIGhpZ2hsaWdodEFQSUVuYWJs
ZWRdKTsKIAogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0
U2hhZG93RE9NRW5hYmxlZChbcHJlZmVyZW5jZXMgc2hhZG93RE9NRW5hYmxlZF0pOwotICAgIFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0Q3VzdG9tRWxlbWVudHNF
bmFibGVkKFtwcmVmZXJlbmNlcyBjdXN0b21FbGVtZW50c0VuYWJsZWRdKTsKLSAgICBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldERhdGFUcmFuc2Zlckl0ZW1zRW5h
YmxlZChbcHJlZmVyZW5jZXMgZGF0YVRyYW5zZmVySXRlbXNFbmFibGVkXSk7CisgICAgc2V0dGlu
Z3Muc2V0Q3VzdG9tRWxlbWVudHNFbmFibGVkKFtwcmVmZXJlbmNlcyBjdXN0b21FbGVtZW50c0Vu
YWJsZWRdKTsKKyAgICBzZXR0aW5ncy5zZXREYXRhVHJhbnNmZXJJdGVtc0VuYWJsZWQoW3ByZWZl
cmVuY2VzIGRhdGFUcmFuc2Zlckl0ZW1zRW5hYmxlZF0pOwogICAgIFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0Q3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVkKFtw
cmVmZXJlbmNlcyBjdXN0b21QYXN0ZWJvYXJkRGF0YUVuYWJsZWRdKTsKIAogI2lmIEVOQUJMRShB
VFRBQ0hNRU5UX0VMRU1FTlQpCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVh
dHVyZXMoKS5zZXRBdHRhY2htZW50RWxlbWVudEVuYWJsZWQoW3ByZWZlcmVuY2VzIGF0dGFjaG1l
bnRFbGVtZW50RW5hYmxlZF0pOwogI2VuZGlmCiAKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpzaGFyZWRGZWF0dXJlcygpLnNldEludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkKFtz
ZWxmIGludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkXSk7CisgICAgc2V0dGluZ3Muc2V0
SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQoW3NlbGYgaW50ZXJhY3RpdmVGb3JtVmFs
aWRhdGlvbkVuYWJsZWRdKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0
dXJlcygpLnNldE1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkKFtwcmVmZXJlbmNlcyBtb2Rlcm5N
ZWRpYUNvbnRyb2xzRW5hYmxlZF0pOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJl
ZEZlYXR1cmVzKCkuc2V0V2ViQW5pbWF0aW9uc0NTU0ludGVncmF0aW9uRW5hYmxlZChbcHJlZmVy
ZW5jZXMgd2ViQW5pbWF0aW9uc0NTU0ludGVncmF0aW9uRW5hYmxlZF0pOwogCkBAIC0zMzU4LDQ0
ICszMzU4LDQ0IEBAIC0gKHZvaWQpX3ByZWZlcmVuY2VzQ2hhbmdlZDooV2ViUHJlZmVyZW4KICNl
bmRpZgogCiAjaWYgRU5BQkxFKERPV05MT0FEX0FUVFJJQlVURSkKLSAgICBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldERvd25sb2FkQXR0cmlidXRlRW5hYmxlZChb
cHJlZmVyZW5jZXMgZG93bmxvYWRBdHRyaWJ1dGVFbmFibGVkXSk7CisgICAgc2V0dGluZ3Muc2V0
RG93bmxvYWRBdHRyaWJ1dGVFbmFibGVkKFtwcmVmZXJlbmNlcyBkb3dubG9hZEF0dHJpYnV0ZUVu
YWJsZWRdKTsKICNlbmRpZgogCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVh
dHVyZXMoKS5zZXRXZWJBbmltYXRpb25zRW5hYmxlZChbcHJlZmVyZW5jZXMgd2ViQW5pbWF0aW9u
c0VuYWJsZWRdKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygp
LnNldFdlYkFuaW1hdGlvbnNDb21wb3NpdGVPcGVyYXRpb25zRW5hYmxlZChbcHJlZmVyZW5jZXMg
d2ViQW5pbWF0aW9uc0NvbXBvc2l0ZU9wZXJhdGlvbnNFbmFibGVkXSk7CiAgICAgUnVudGltZUVu
YWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRXZWJBbmltYXRpb25zTXV0YWJsZVRp
bWVsaW5lc0VuYWJsZWQoW3ByZWZlcmVuY2VzIHdlYkFuaW1hdGlvbnNNdXRhYmxlVGltZWxpbmVz
RW5hYmxlZF0pOwogCi0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMo
KS5zZXRDU1NDdXN0b21Qcm9wZXJ0aWVzQW5kVmFsdWVzRW5hYmxlZChbcHJlZmVyZW5jZXMgQ1NT
Q3VzdG9tUHJvcGVydGllc0FuZFZhbHVlc0VuYWJsZWRdKTsKKyAgICBzZXR0aW5ncy5zZXRDU1ND
dXN0b21Qcm9wZXJ0aWVzQW5kVmFsdWVzRW5hYmxlZChbcHJlZmVyZW5jZXMgQ1NTQ3VzdG9tUHJv
cGVydGllc0FuZFZhbHVlc0VuYWJsZWRdKTsKIAogI2lmIEVOQUJMRShJTlRFUlNFQ1RJT05fT0JT
RVJWRVIpCi0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRJ
bnRlcnNlY3Rpb25PYnNlcnZlckVuYWJsZWQocHJlZmVyZW5jZXMuaW50ZXJzZWN0aW9uT2JzZXJ2
ZXJFbmFibGVkKTsKKyAgICBzZXR0aW5ncy5zZXRJbnRlcnNlY3Rpb25PYnNlcnZlckVuYWJsZWQo
cHJlZmVyZW5jZXMuaW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkKTsKICNlbmRpZgogCiAgICAg
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRVc2VyVGltaW5nRW5h
YmxlZChwcmVmZXJlbmNlcy51c2VyVGltaW5nRW5hYmxlZCk7CiAgICAgUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQocHJlZmVy
ZW5jZXMucmVzb3VyY2VUaW1pbmdFbmFibGVkKTsKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpzaGFyZWRGZWF0dXJlcygpLnNldExpbmtQcmVsb2FkRW5hYmxlZChwcmVmZXJlbmNlcy5saW5r
UHJlbG9hZEVuYWJsZWQpOwotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1
cmVzKCkuc2V0TWVkaWFQcmVsb2FkaW5nRW5hYmxlZChwcmVmZXJlbmNlcy5tZWRpYVByZWxvYWRp
bmdFbmFibGVkKTsKKyAgICBzZXR0aW5ncy5zZXRMaW5rUHJlbG9hZEVuYWJsZWQocHJlZmVyZW5j
ZXMubGlua1ByZWxvYWRFbmFibGVkKTsKKyAgICBzZXR0aW5ncy5zZXRNZWRpYVByZWxvYWRpbmdF
bmFibGVkKHByZWZlcmVuY2VzLm1lZGlhUHJlbG9hZGluZ0VuYWJsZWQpOwogICAgIFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0SXNTZWN1cmVDb250ZXh0QXR0cmli
dXRlRW5hYmxlZChwcmVmZXJlbmNlcy5pc1NlY3VyZUNvbnRleHRBdHRyaWJ1dGVFbmFibGVkKTsK
ICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldERpcmVjdG9y
eVVwbG9hZEVuYWJsZWQoW3ByZWZlcmVuY2VzIGRpcmVjdG9yeVVwbG9hZEVuYWJsZWRdKTsKICAg
ICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldE1lbnVJdGVtRWxl
bWVudEVuYWJsZWQoW3ByZWZlcmVuY2VzIG1lbnVJdGVtRWxlbWVudEVuYWJsZWRdKTsKICAgICBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEFjY2Vzc2liaWxpdHlP
YmplY3RNb2RlbEVuYWJsZWQoW3ByZWZlcmVuY2VzIGFjY2Vzc2liaWxpdHlPYmplY3RNb2RlbEVu
YWJsZWRdKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNl
dEFyaWFSZWZsZWN0aW9uRW5hYmxlZChbcHJlZmVyZW5jZXMgYXJpYVJlZmxlY3Rpb25FbmFibGVk
XSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRGZXRj
aEFQSUtlZXBBbGl2ZUVuYWJsZWQoW3ByZWZlcmVuY2VzIGZldGNoQVBJS2VlcEFsaXZlRW5hYmxl
ZF0pOwotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0UmVm
ZXJyZXJQb2xpY3lBdHRyaWJ1dGVFbmFibGVkKFtwcmVmZXJlbmNlcyByZWZlcnJlclBvbGljeUF0
dHJpYnV0ZUVuYWJsZWRdKTsKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0
dXJlcygpLnNldExpbmtQcmVsb2FkUmVzcG9uc2l2ZUltYWdlc0VuYWJsZWQoW3ByZWZlcmVuY2Vz
IGxpbmtQcmVsb2FkUmVzcG9uc2l2ZUltYWdlc0VuYWJsZWRdKTsKKyAgICBzZXR0aW5ncy5zZXRS
ZWZlcnJlclBvbGljeUF0dHJpYnV0ZUVuYWJsZWQoW3ByZWZlcmVuY2VzIHJlZmVycmVyUG9saWN5
QXR0cmlidXRlRW5hYmxlZF0pOworICAgIHNldHRpbmdzLnNldExpbmtQcmVsb2FkUmVzcG9uc2l2
ZUltYWdlc0VuYWJsZWQoW3ByZWZlcmVuY2VzIGxpbmtQcmVsb2FkUmVzcG9uc2l2ZUltYWdlc0Vu
YWJsZWRdKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNl
dERpYWxvZ0VsZW1lbnRFbmFibGVkKFtwcmVmZXJlbmNlcyBkaWFsb2dFbGVtZW50RW5hYmxlZF0p
OwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0S2V5Z2Vu
RWxlbWVudEVuYWJsZWQoW3ByZWZlcmVuY2VzIGtleWdlbkVsZW1lbnRFbmFibGVkXSk7CiAgICAg
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRDU1NTaGFkb3dQYXJ0
c0VuYWJsZWQoW3ByZWZlcmVuY2VzIGNzc1NoYWRvd1BhcnRzRW5hYmxlZF0pOwogICAgIFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TGF5b3V0Rm9ybWF0dGluZ0Nv
bnRleHRJbnRlZ3JhdGlvbkVuYWJsZWQoW3ByZWZlcmVuY2VzIGxheW91dEZvcm1hdHRpbmdDb250
ZXh0SW50ZWdyYXRpb25FbmFibGVkXSk7Ci0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5zZXRJc0luQXBwQnJvd3NlclByaXZhY3lFbmFibGVkKFtwcmVmZXJlbmNl
cyBpc0luQXBwQnJvd3NlclByaXZhY3lFbmFibGVkXSk7CisgICAgc2V0dGluZ3Muc2V0SXNJbkFw
cEJyb3dzZXJQcml2YWN5RW5hYmxlZChbcHJlZmVyZW5jZXMgaXNJbkFwcEJyb3dzZXJQcml2YWN5
RW5hYmxlZF0pOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCku
c2V0V2ViU1FMRGlzYWJsZWQoIVtwcmVmZXJlbmNlcyB3ZWJTUUxFbmFibGVkXSk7CiAgICAgCiAj
aWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpCi0gICAgUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRMZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQo
cHJlZmVyZW5jZXMubGVnYWN5RW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKTsKKyAgICBzZXR0aW5n
cy5zZXRMZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQocHJlZmVyZW5jZXMubGVnYWN5RW5j
cnlwdGVkTWVkaWFBUElFbmFibGVkKTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKEVOQ1JZUFRFRF9N
RURJQSkKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEVu
Y3J5cHRlZE1lZGlhQVBJRW5hYmxlZChwcmVmZXJlbmNlcy5lbmNyeXB0ZWRNZWRpYUFQSUVuYWJs
ZWQpOworICAgIHNldHRpbmdzLnNldEVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZChwcmVmZXJlbmNl
cy5lbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQpOwogI2VuZGlmCiAKICAgICBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFVzZXJHZXN0dXJlUHJvbWlzZVByb3BhZ2F0
aW9uRW5hYmxlZChwcmVmZXJlbmNlcy51c2VyR2VzdHVyZVByb21pc2VQcm9wYWdhdGlvbkVuYWJs
ZWQpOwpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwkocmV2aXNpb24gMjY2MzEyKQor
KysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMjAtMDgtMjkgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgor
CisgICAgICAgIE1hbnkgc2V0dGluZ3MgaW4gUnVudGltZUVuYWJsZWRTZXR0aW5ncyBzaG91bGQg
YXV0b2dlbmVyYXRlZCBTZXR0aW5nczogUGFydCAxCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTU5ODEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIG1vdmVzIGFuIGluaXRpYWwgY2h1bmsgb2YgUnVu
dGltZUVuYWJsZWRTZXR0aW5ncyBzZXR0aW5ncyB0byBTZXR0aW5ncy55YW1sLCBmb2N1c2luZwor
ICAgICAgICBvbiBzZXR0aW5ncyB0aGF0IGRvbid0IHJlcXVpcmUgc3Vic3RhbnRpYWwgcmVmYWN0
b3Jpbmcgb3IgbmV3IGZlYXR1cmVzIHRvIHdvcmsgaW4gU2V0dGluZ3MueWFtbC4KKworICAgICAg
ICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFu
Z2VkKToKKyAgICAgICAgVXBkYXRlIGNoYW5nZWQgc2V0dGluZ3MgdG8gdXNlIFNldHRpbmdzIHJh
dGhlciB0aGFuIFJ1bnRpbWVFbmFibGVkU2V0dGluZ3MuCisKIDIwMjAtMDgtMjAgIERhcmluIEFk
bGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgbm9kZSBnZW9tZXRyeSBmdW5j
dGlvbnMgZnJvbSBSYW5nZSB0byBSZW5kZXJPYmplY3QKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdh
Y3kvd2luL1dlYlZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L1dlYlZpZXcuY3BwCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9XZWJWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTI0Miw3ICs1MjQyLDcgQEAgSFJFU1VM
VCBXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZQogICAgIGhyID0gcHJlZnNQcml2YXRl
LT5jdXN0b21FbGVtZW50c0VuYWJsZWQoJmVuYWJsZWQpOwogICAgIGlmIChGQUlMRUQoaHIpKQog
ICAgICAgICByZXR1cm4gaHI7Ci0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVh
dHVyZXMoKS5zZXRDdXN0b21FbGVtZW50c0VuYWJsZWQoISFlbmFibGVkKTsKKyAgICBzZXR0aW5n
cy5zZXRDdXN0b21FbGVtZW50c0VuYWJsZWQoISFlbmFibGVkKTsKIAogICAgIGhyID0gcHJlZnNQ
cml2YXRlLT5tZW51SXRlbUVsZW1lbnRFbmFibGVkKCZlbmFibGVkKTsKICAgICBpZiAoRkFJTEVE
KGhyKSkKQEAgLTUyODIsNyArNTI4Miw3IEBAIEhSRVNVTFQgV2ViVmlldzo6bm90aWZ5UHJlZmVy
ZW5jZXNDaGFuZ2UKICAgICBociA9IHByZWZzUHJpdmF0ZS0+Q1NTQ3VzdG9tUHJvcGVydGllc0Fu
ZFZhbHVlc0VuYWJsZWQoJmVuYWJsZWQpOwogICAgIGlmIChGQUlMRUQoaHIpKQogICAgICAgICBy
ZXR1cm4gaHI7Ci0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5z
ZXRDU1NDdXN0b21Qcm9wZXJ0aWVzQW5kVmFsdWVzRW5hYmxlZCghIWVuYWJsZWQpOworICAgIHNl
dHRpbmdzLnNldENTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVkKCEhZW5hYmxlZCk7
CiAKICAgICBociA9IHByZWZzUHJpdmF0ZS0+dXNlclRpbWluZ0VuYWJsZWQoJmVuYWJsZWQpOwog
ICAgIGlmIChGQUlMRUQoaHIpKQpAQCAtNTMwNyw3ICs1MzA3LDcgQEAgSFJFU1VMVCBXZWJWaWV3
Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZQogICAgIGhyID0gcHJlZnNQcml2YXRlLT5tZWRpYVBy
ZWxvYWRpbmdFbmFibGVkKCZlbmFibGVkKTsKICAgICBpZiAoRkFJTEVEKGhyKSkKICAgICAgICAg
cmV0dXJuIGhyOwotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCku
c2V0TWVkaWFQcmVsb2FkaW5nRW5hYmxlZCghIWVuYWJsZWQpOworICAgIHNldHRpbmdzLnNldE1l
ZGlhUHJlbG9hZGluZ0VuYWJsZWQoISFlbmFibGVkKTsKIAogICAgIGhyID0gcHJlZnNQcml2YXRl
LT5pc1NlY3VyZUNvbnRleHRBdHRyaWJ1dGVFbmFibGVkKCZlbmFibGVkKTsKICAgICBpZiAoRkFJ
TEVEKGhyKSkKQEAgLTUzMTcsNyArNTMxNyw3IEBAIEhSRVNVTFQgV2ViVmlldzo6bm90aWZ5UHJl
ZmVyZW5jZXNDaGFuZ2UKICAgICBociA9IHByZWZzUHJpdmF0ZS0+ZGF0YVRyYW5zZmVySXRlbXNF
bmFibGVkKCZlbmFibGVkKTsKICAgICBpZiAoRkFJTEVEKGhyKSkKICAgICAgICAgcmV0dXJuIGhy
OwotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0RGF0YVRy
YW5zZmVySXRlbXNFbmFibGVkKCEhZW5hYmxlZCk7CisgICAgc2V0dGluZ3Muc2V0RGF0YVRyYW5z
ZmVySXRlbXNFbmFibGVkKCEhZW5hYmxlZCk7CiAKICAgICBociA9IHByZWZzUHJpdmF0ZS0+aW5z
cGVjdG9yQWRkaXRpb25zRW5hYmxlZCgmZW5hYmxlZCk7CiAgICAgaWYgKEZBSUxFRChocikpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407557</attachid>
            <date>2020-08-29 17:39:49 -0700</date>
            <delta_ts>2020-08-29 18:08:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215981-20200829173948.patch</filename>
            <type>text/plain</type>
            <size>167109</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2NjMyNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzMCBAQAorMjAyMC0wOC0yOSAgU2FtIFdl
aW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgTWFueSBzZXR0aW5ncyBpbiBSdW50
aW1lRW5hYmxlZFNldHRpbmdzIHNob3VsZCBhdXRvZ2VuZXJhdGVkIFNldHRpbmdzOiBQYXJ0IDEK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTk4MQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgbW92
ZXMgYW4gaW5pdGlhbCBjaHVuayBvZiBSdW50aW1lRW5hYmxlZFNldHRpbmdzIHNldHRpbmdzIHRv
IFNldHRpbmdzLnlhbWwsIGZvY3VzaW5nCisgICAgICAgIG9uIHNldHRpbmdzIHRoYXQgZG9uJ3Qg
cmVxdWlyZSBzdWJzdGFudGlhbCByZWZhY3RvcmluZyBvciBuZXcgZmVhdHVyZXMgdG8gd29yayBp
biBTZXR0aW5ncy55YW1sLgorICAgICAgICAKKyAgICAgICAgVGhlIG9uZSAic3Vic3RhbnRpYWwi
IGNoYW5nZSB0byBTZXR0aW5ncyBnZW5lcmF0aW9uIHdhcyB0byBzd2l0Y2ggdGhlIGNvbmRpdGlv
bmFsIGtleSwgdG8gcmVxdWlyZQorICAgICAgICB0aGUgY29tcGxldGUgY29uZGl0aW9uYWwgZm9y
bSAoZS5nLiByZXF1aXJlIEVOQUJMRShGT08pIHJhdGhlciB0aGFuIEZPTyksIHdoaWNoIG1hdGNo
ZXMgCisgICAgICAgIFdlYlByZWZlcmVuY2VzLnlhbWwgaW4gV2ViS2l0LCBhbmQgaXMgbW9yZSB2
ZXJzaXRpbGUgYWxsb3dpbmcgbm9uLUVOQUJMRSBiYXNlZCBjb25kaXRpb25hbHMuIAorCisgICAg
ICAgICogTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9CYXNpY0NyZWRlbnRpYWwuaWRsOgor
ICAgICAgICAqIE1vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbHNDb250YWlu
ZXIuaWRsOgorICAgICAgICAqIE1vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvTmF2aWdhdG9y
Q3JlZGVudGlhbHMuaWRsOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFL
ZXlNZXNzYWdlRXZlbnQuaWRsOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVk
aWFLZXlTZXNzaW9uLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlh
S2V5U3RhdHVzTWFwLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlh
S2V5U3lzdGVtQWNjZXNzLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5cy5pZGw6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JF
TUUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1l
ZGlhS2V5TWVzc2FnZUV2ZW50LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlh
L2xlZ2FjeS9XZWJLaXRNZWRpYUtleU5lZWRlZEV2ZW50LmlkbDoKKyAgICAgICAgKiBNb2R1bGVz
L2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5cy5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWQuaWRsOgorICAgICAgICAqIE1vZHVsZXMv
Z2FtZXBhZC9HYW1lcGFkQnV0dG9uLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2dhbWVwYWQvR2Ft
ZXBhZEV2ZW50LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2dhbWVwYWQvTmF2aWdhdG9yR2FtZXBh
ZC5pZGw6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXJlY29yZGVyL0Jsb2JFdmVudC5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIuaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyRXJyb3JFdmVudC5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaWRsOgorICAgICAgICAq
IE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVN0cmVhbVRyYWNrOjp1cGRhdGVDYXB0dXJlQWNjb3JkaW5nVG9NdXRlZFN0YXRl
KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvck1lZGlhRGV2aWNlcy5p
ZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVz
cG9uc2UuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckF0dGVz
dGF0aW9uUmVzcG9uc2UuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGlj
YXRvclJlc3BvbnNlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNy
ZWRlbnRpYWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UHVibGljS2V5Q3JlZGVudGlhbDo6aXNV
c2VyVmVyaWZ5aW5nUGxhdGZvcm1BdXRoZW50aWNhdG9yQXZhaWxhYmxlKToKKyAgICAgICAgKiBN
b2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuaWRsOgorICAgICAgICAqIFNjcmlw
dHMvU2V0dGluZ3NUZW1wbGF0ZXMvSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5jcHAuZXJiOgor
ICAgICAgICAqIFNjcmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXMvSW50ZXJuYWxTZXR0aW5nc0dlbmVy
YXRlZC5oLmVyYjoKKyAgICAgICAgKiBTY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL1NldHRpbmdz
LmNwcC5lcmI6CisgICAgICAgICogU2NyaXB0cy9TZXR0aW5nc1RlbXBsYXRlcy9TZXR0aW5ncy5o
LmVyYjoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogY3NzL0RPTUNTU0N1c3RvbVByb3BlcnR5RGVzY3JpcHRvci5pZGw6CisgICAgICAgICog
Y3NzL0RPTUNTU1JlZ2lzdGVyQ3VzdG9tUHJvcGVydHkuaWRsOgorICAgICAgICAqIGRvbS9CZWZv
cmVMb2FkRXZlbnQuaWRsOgorICAgICAgICAqIGRvbS9DdXN0b21FbGVtZW50UmVnaXN0cnkuaWRs
OgorICAgICAgICAqIGRvbS9EYXRhVHJhbnNmZXIuaWRsOgorICAgICAgICAqIGRvbS9EYXRhVHJh
bnNmZXJJdGVtLmlkbDoKKyAgICAgICAgKiBkb20vRGF0YVRyYW5zZmVySXRlbUxpc3QuaWRsOgor
ICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVVcGdy
YWRlQ2FuZGlkYXRlRWxlbWVudCk6CisgICAgICAgICogZG9tL0RvY3VtZW50LmlkbDoKKyAgICAg
ICAgKiBkb20vRWxlbWVudC5pZGw6CisgICAgICAgICogZG9tL0lucHV0RXZlbnQuaWRsOgorICAg
ICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OmRpc3BhdGNoQmVm
b3JlTG9hZEV2ZW50KToKKyAgICAgICAgKiBkb20vU3RhdGljUmFuZ2UuaWRsOgorICAgICAgICAq
IGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cmVnaXN0ZXJD
dXN0b21VbmRvU3RlcCk6CisgICAgICAgICogaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MQW5jaG9yRWxlbWVudDo6aXNTeXN0ZW1QcmV2aWV3TGluayk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MQW5jaG9yRWxlbWVudDo6cGFyc2VBZENsaWNrQXR0cmli
dXRpb24gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEFuY2hvckVsZW1lbnQ6OmhhbmRs
ZUNsaWNrKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxBbmNob3JFbGVtZW50OjpyZWZlcnJlclBv
bGljeSBjb25zdCk6CisgICAgICAgICogaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5pZGw6CisgICAg
ICAgICogaHRtbC9IVE1MQXJlYUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEJ1dHRv
bkVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEZpZWxkU2V0RWxlbWVudC5pZGw6Cisg
ICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTElG
cmFtZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElGcmFtZUVsZW1lbnQ6OnJl
ZmVycmVyUG9saWN5IGNvbnN0KToKKyAgICAgICAgKiBodG1sL0hUTUxJRnJhbWVFbGVtZW50Lmlk
bDoKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEltYWdlRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MSW1hZ2VFbGVtZW50Ojppc1N5c3RlbVByZXZpZXdJbWFnZSBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpyZWZlcnJlclBvbGljeSBjb25zdCk6CisgICAg
ICAgICogaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1
dEVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEtleWdlbkVsZW1lbnQuaWRsOgorICAg
ICAgICAqIGh0bWwvSFRNTExpbmtFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxM
aW5rRWxlbWVudDo6YXMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTExpbmtFbGVtZW50
OjpyZWZlcnJlclBvbGljeSBjb25zdCk6CisgICAgICAgICogaHRtbC9IVE1MTGlua0VsZW1lbnQu
aWRsOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp1cGRhdGVTaG91bGRDb250aW51ZUFmdGVyTmVlZEtleSk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllcktleU5lZWRl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp3ZWJraXRTZXRNZWRpYUtl
eXMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6a2V5QWRkZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJJbml0aWFsaXphdGlv
bkRhdGFFbmNvdW50ZXJlZCk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbDoK
KyAgICAgICAgKiBodG1sL0hUTUxNZXRhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MTWV0YUVsZW1lbnQ6OnByb2Nlc3MpOgorICAgICAgICAqIGh0bWwvSFRNTE9iamVjdEVsZW1l
bnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTE91dHB1dEVsZW1lbnQuaWRsOgorICAgICAgICAq
IGh0bWwvSFRNTFBpY3R1cmVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQaWN0
dXJlRWxlbWVudDo6aXNTeXN0ZW1QcmV2aWV3SW1hZ2UpOgorICAgICAgICAqIGh0bWwvSFRNTFNj
cmlwdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNjcmlwdEVsZW1lbnQ6OnJl
ZmVycmVyUG9saWN5IGNvbnN0KToKKyAgICAgICAgKiBodG1sL0hUTUxTY3JpcHRFbGVtZW50Lmlk
bDoKKyAgICAgICAgKiBodG1sL0hUTUxTZWxlY3RFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1s
L0hUTUxUZXh0QXJlYUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvTGlua1JlbEF0dHJpYnV0
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMaW5rUmVsQXR0cmlidXRlOjpMaW5rUmVsQXR0cmli
dXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkxpbmtSZWxBdHRyaWJ1dGU6OmlzU3VwcG9ydGVkKToK
KyAgICAgICAgKiBodG1sL01lZGlhRW5jcnlwdGVkRXZlbnQuaWRsOgorICAgICAgICAqIGh0bWwv
V2ViS2l0TWVkaWFLZXlFcnJvci5pZGw6CisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFByZWxv
YWRTY2FubmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRva2VuUHJlbG9hZFNjYW5uZXI6OlN0
YXJ0VGFnU2Nhbm5lcjo6U3RhcnRUYWdTY2FubmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRva2Vu
UHJlbG9hZFNjYW5uZXI6OlN0YXJ0VGFnU2Nhbm5lcjo6cHJvY2Vzc0F0dHJpYnV0ZXMpOgorICAg
ICAgICAoV2ViQ29yZTo6VG9rZW5QcmVsb2FkU2Nhbm5lcjo6U3RhcnRUYWdTY2FubmVyOjpjcmVh
dGVQcmVsb2FkUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpUb2tlblByZWxvYWRTY2FubmVy
OjpTdGFydFRhZ1NjYW5uZXI6OnByb2Nlc3NBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6
VG9rZW5QcmVsb2FkU2Nhbm5lcjo6U3RhcnRUYWdTY2FubmVyOjpyZXNvdXJjZVR5cGUgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6VG9rZW5QcmVsb2FkU2Nhbm5lcjo6c2Nhbik6CisgICAgICAg
ICogbG9hZGVyL0ltYWdlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlTG9hZGVy
Ojp1cGRhdGVGcm9tRWxlbWVudCk6CisgICAgICAgICogbG9hZGVyL0xpbmtMb2FkZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TGlua0xvYWRlcjo6cmVzb3VyY2VUeXBlRnJvbUFzQXR0cmlidXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUxpbmtQcmVsb2FkUmVzb3VyY2VDbGllbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6TGlua0xvYWRlcjo6aXNTdXBwb3J0ZWRUeXBlKToKKyAgICAgICAg
KFdlYkNvcmU6OkxpbmtMb2FkZXI6OnByZWxvYWRJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpMaW5rTG9hZGVyOjpwcmVmZXRjaElmTmVlZGVkKToKKyAgICAgICAgKiBsb2FkZXIvTGlua0xv
YWRlci5oOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKKyAgICAgICAgKiBwYWdlL0lu
dGVyc2VjdGlvbk9ic2VydmVyLmlkbDoKKyAgICAgICAgKiBwYWdlL0ludGVyc2VjdGlvbk9ic2Vy
dmVyRW50cnkuaWRsOgorICAgICAgICAqIHBhZ2UvTmF2aWdhdG9yLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok5hdmlnYXRvcjo6Y2FuU2hhcmUpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9y
OjpzaGFyZSk6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3IuaDoKKyAgICAgICAgKiBwYWdlL05h
dmlnYXRvclNoYXJlLmlkbDoKKyAgICAgICAgKiBwYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6UnVudGltZUVu
YWJsZWRGZWF0dXJlcyk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVz
Ojp0b3VjaEV2ZW50c0VuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2UvUnVu
dGltZUVuYWJsZWRGZWF0dXJlcy5oOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2V0TW91c2VFdmVudHNTaW11bGF0aW9uRW5hYmxlZCk6CisgICAgICAgIChXZWJD
b3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRCbGFua0FuY2hvclRhcmdldEltcGxpZXNO
b09wZW5lckVuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6YmxhbmtBbmNob3JUYXJnZXRJbXBsaWVzTm9PcGVuZXJFbmFibGVkIGNvbnN0
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNl
dExpbmtQcmVsb2FkRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpsaW5rUHJlbG9hZEVuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0TGlua1ByZWZldGNoRW5h
YmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpsaW5rUHJlZmV0Y2hFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldE1lZGlhUHJlbG9hZGluZ0VuYWJsZWQpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6bWVkaWFQcmVs
b2FkaW5nRW5hYmxlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzZXRJbnB1dEV2ZW50c0VuYWJsZWQpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6aW5wdXRFdmVudHNFbmFibGVkIGNv
bnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNldEludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmludGVyYWN0aXZlRm9ybVZhbGlkYXRp
b25FbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnNldEN1c3RvbUVsZW1lbnRzRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpjdXN0b21FbGVtZW50c0VuYWJsZWQg
Y29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2V0RGF0YVRyYW5zZmVySXRlbXNFbmFibGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmRhdGFUcmFuc2Zlckl0ZW1zRW5hYmxlZCBjb25z
dCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpz
ZXRXZWJTaGFyZUVuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVu
YWJsZWRGZWF0dXJlczo6d2ViU2hhcmVFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldFdlYkF1dGhlbnRpY2F0aW9uRW5h
YmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVz
Ojp3ZWJBdXRoZW50aWNhdGlvbkVuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0V2ViQXV0aGVudGljYXRpb25Mb2NhbEF1
dGhlbnRpY2F0b3JFbmFibGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OndlYkF1dGhlbnRpY2F0aW9uTG9jYWxBdXRoZW50aWNhdG9yRW5hYmxl
ZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzZXREaXNhYmxlZEFkYXB0YXRpb25zTWV0YVRhZ0VuYWJsZWQpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6ZGlzYWJsZWRBZGFwdGF0aW9u
c01ldGFUYWdFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM6OnNldENTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVk
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmNz
c0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldFN5bnRoZXRpY0VkaXRpbmdD
b21tYW5kc0VuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c3ludGhldGljRWRpdGluZ0NvbW1hbmRzRW5hYmxlZCBjb25zdCk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjptZWRpYVJlY29y
ZGVyRW5hYmxlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzZXRNZWRpYVJlY29yZGVyRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjptZWRpYURldmljZXNFbmFibGVkIGNv
bnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNldE1lZGlhRGV2aWNlc0VuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6bWVkaWFTdHJlYW1FbmFibGVkIGNvbnN0KTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldE1lZGlhU3RyZWFt
RW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzY3JlZW5DYXB0dXJlRW5hYmxlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRTY3JlZW5DYXB0dXJlRW5hYmxlZCk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRHYW1l
cGFkc0VuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6Z2FtZXBhZHNFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldERvd25sb2FkQXR0cmlidXRlRW5hYmxlZCk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpkb3du
bG9hZEF0dHJpYnV0ZUVuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmludGVy
c2VjdGlvbk9ic2VydmVyRW5hYmxlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRVbmRvTWFuYWdlckFQSUVuYWJsZWQpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6dW5kb01hbmFn
ZXJBUElFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNldEVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjplbmNyeXB0ZWRNZWRpYUFQ
SUVuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2V0TGVnYWN5RW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmxlZ2FjeUVuY3J5cHRl
ZE1lZGlhQVBJRW5hYmxlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRTeXN0ZW1QcmV2aWV3RW5hYmxlZCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzeXN0ZW1QcmV2aWV3RW5h
YmxlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzZXRMZWdhY3lCZWZvcmVMb2FkRXZlbnRFbmFibGVkKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmxlZ2FjeUJlZm9yZUxvYWRFdmVu
dEVuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6YWRDbGlja0F0dHJpYnV0aW9uRW5hYmxlZCBjb25zdCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRBZENsaWNrQXR0cmli
dXRpb25FbmFibGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNldFRvdWNoRXZlbnRzRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpyZWZlcnJlclBvbGljeUF0dHJpYnV0ZUVuYWJs
ZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2V0UmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGVFbmFibGVkKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmludGVycnVwdEF1ZGlvT25QYWdl
VmlzaWJpbGl0eUNoYW5nZUVuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0SW50ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmls
aXR5Q2hhbmdlRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpsaW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVkIGNvbnN0KTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldExp
bmtQcmVsb2FkUmVzcG9uc2l2ZUltYWdlc0VuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0TGF6eUltYWdlTG9hZGluZ0VuYWJsZWQp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6bGF6
eUltYWdlTG9hZGluZ0VuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0SXNJbkFwcEJyb3dzZXJQcml2YWN5RW5hYmxlZCk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc0lu
QXBwQnJvd3NlclByaXZhY3lFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldE5lZWRzSW5BcHBCcm93c2VyUHJpdmFjeVF1
aXJrcyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpuZWVkc0luQXBwQnJvd3NlclByaXZhY3lRdWlya3MgY29uc3QpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0V2ViU2hhcmVGaWxlQVBJRW5h
YmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVz
Ojp3ZWJTaGFyZUZpbGVBUElFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdl
L1NldHRpbmdzLnlhbWw6CisgICAgICAgICogcGFnZS9VbmRvSXRlbS5pZGw6CisgICAgICAgICog
cGFnZS9VbmRvTWFuYWdlci5pZGw6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckltYWdlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjpwYWludEludG9SZWN0KToKKyAgICAg
ICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50
ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpCYWNrdXApOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJu
YWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3JlVG8pOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJu
YWxTZXR0aW5nczo6c2V0U2NyZWVuQ2FwdHVyZUVuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAq
IHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxT
ZXR0aW5ncy5pZGw6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SW50ZXJuYWxzOjpyZXNldFRvQ29uc2lzdGVudFN0YXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OkludGVybmFsczo6c2V0U2hvdWxkSW50ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5
Q2hhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6YWRkUHJlZmV0Y2hMb2FkRXZl
bnRMaXN0ZW5lcik6CisKIDIwMjAtMDgtMjggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KIAogICAgICAgICBVcGRhdGUgUGFubmVyTm9kZSB0byBzdXBwb3J0IGstcmF0ZSBhdXRvbWF0
aW9uIG9mIGl0cyBBdWRpb1BhcmFtcwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVk
ZW50aWFsbWFuYWdlbWVudC9CYXNpY0NyZWRlbnRpYWwuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQmFzaWNDcmVkZW50aWFsLmlk
bAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50aWFs
bWFuYWdlbWVudC9CYXNpY0NyZWRlbnRpYWwuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsy
Nyw3IEBACiAgICAgSW50ZXJmYWNlTmFtZT1DcmVkZW50aWFsLAogICAgIENvbmRpdGlvbmFsPVdF
Ql9BVVRITiwKICAgICBDdXN0b21Ub0pTT2JqZWN0LAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2Vi
QXV0aGVudGljYXRpb24sCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJBdXRoZW50aWNhdGlvbiwK
ICAgICBFeHBvc2VkPVdpbmRvdywKICAgICBTZWN1cmVDb250ZXh0CiBdIGludGVyZmFjZSBCYXNp
Y0NyZWRlbnRpYWwgewpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50aWFsbWFu
YWdlbWVudC9DcmVkZW50aWFsc0NvbnRhaW5lci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVkZW50aWFsc0NvbnRhaW5lci5p
ZGwJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvY3JlZGVudGlh
bG1hbmFnZW1lbnQvQ3JlZGVudGlhbHNDb250YWluZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0y
Niw3ICsyNiw3IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1XRUJfQVVUSE4sCi0gICAgRW5hYmxl
ZEF0UnVudGltZT1XZWJBdXRoZW50aWNhdGlvbiwKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkF1
dGhlbnRpY2F0aW9uLAogICAgIEV4cG9zZWQ9V2luZG93LAogICAgIEltcGxlbWVudGF0aW9uTGFj
a3NWVGFibGUsCiAgICAgU2VjdXJlQ29udGV4dCwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvTmF2aWdhdG9yQ3JlZGVudGlhbHMuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvTmF2aWdh
dG9yQ3JlZGVudGlhbHMuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50L05hdmlnYXRvckNyZWRlbnRpYWxzLmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9V0VCX0FV
VEhOLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViQXV0aGVudGljYXRpb24sCisgICAgRW5hYmxl
ZEJ5U2V0dGluZz1XZWJBdXRoZW50aWNhdGlvbiwKIF0gcGFydGlhbCBpbnRlcmZhY2UgTmF2aWdh
dG9yIHsKICAgICBbU2VjdXJlQ29udGV4dCwgU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRl
IENyZWRlbnRpYWxzQ29udGFpbmVyIGNyZWRlbnRpYWxzOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlNZXNzYWdlRXZlbnQuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlN
ZXNzYWdlRXZlbnQuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50LmlkbAkod29ya2luZyBjb3B5
KQpAQCAtNDAsNyArNDAsNyBAQCBkaWN0aW9uYXJ5IE1lZGlhS2V5TWVzc2FnZUV2ZW50SW5pdCA6
IEV2CiAKIFsKICAgICBDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEsCi0gICAgRW5hYmxlZEF0
UnVudGltZT1FbmNyeXB0ZWRNZWRpYUFQSSwKKyAgICBFbmFibGVkQnlTZXR0aW5nPUVuY3J5cHRl
ZE1lZGlhQVBJLAogICAgIERpc2FibGVkQnlRdWlyaz1oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQ
SVN1cHBvcnQsCiBdIGludGVyZmFjZSBNZWRpYUtleU1lc3NhZ2VFdmVudCA6IEV2ZW50IHsKICAg
ICBjb25zdHJ1Y3RvcihET01TdHJpbmcgdHlwZSwgTWVkaWFLZXlNZXNzYWdlRXZlbnRJbml0IGV2
ZW50SW5pdERpY3QpOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleVNlc3Npb24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmlkbAkocmV2aXNpb24gMjY2MzEyKQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24u
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBACiBbCiAgICAgQWN0aXZlRE9NT2Jq
ZWN0LAogICAgIENvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwKLSAgICBFbmFibGVkQXRSdW50
aW1lPUVuY3J5cHRlZE1lZGlhQVBJLAorICAgIEVuYWJsZWRCeVNldHRpbmc9RW5jcnlwdGVkTWVk
aWFBUEksCiAgICAgRXhwb3J0VG9XcmFwcGVkRnVuY3Rpb24sCiAgICAgRGlzYWJsZWRCeVF1aXJr
PWhhc0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydCwKIF0gaW50ZXJmYWNlIE1lZGlhS2V5
U2Vzc2lvbiA6IEV2ZW50VGFyZ2V0IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5j
cnlwdGVkbWVkaWEvTWVkaWFLZXlTdGF0dXNNYXAuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTdGF0dXNNYXAuaWRsCShyZXZp
c2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5U3RhdHVzTWFwLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgsNyBAQCBlbnVt
IE1lZGlhS2V5U3RhdHVzIHsKIAogWwogICAgIENvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwK
LSAgICBFbmFibGVkQXRSdW50aW1lPUVuY3J5cHRlZE1lZGlhQVBJLAorICAgIEVuYWJsZWRCeVNl
dHRpbmc9RW5jcnlwdGVkTWVkaWFBUEksCiAgICAgRGlzYWJsZWRCeVF1aXJrPWhhc0Jyb2tlbkVu
Y3J5cHRlZE1lZGlhQVBJU3VwcG9ydCwKIF0gaW50ZXJmYWNlIE1lZGlhS2V5U3RhdHVzTWFwIHsK
ICAgICBpdGVyYWJsZTxCdWZmZXJTb3VyY2UsIE1lZGlhS2V5U3RhdHVzPjsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVk
aWFLZXlTeXN0ZW1BY2Nlc3MuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMjgsNyArMjgsNyBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9RU5DUllQVEVE
X01FRElBLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9RW5jcnlwdGVkTWVkaWFBUEksCisgICAgRW5h
YmxlZEJ5U2V0dGluZz1FbmNyeXB0ZWRNZWRpYUFQSSwKICAgICBEaXNhYmxlZEJ5UXVpcms9aGFz
QnJva2VuRW5jcnlwdGVkTWVkaWFBUElTdXBwb3J0LAogICAgIEltcGxlbWVudGF0aW9uTGFja3NW
VGFibGUsCiBdIGludGVyZmFjZSBNZWRpYUtleVN5c3RlbUFjY2VzcyB7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuaWRsCShy
ZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlh
L01lZGlhS2V5cy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAKIAogWwogICAg
IENvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwKLSAgICBFbmFibGVkQXRSdW50aW1lPUVuY3J5
cHRlZE1lZGlhQVBJLAorICAgIEVuYWJsZWRCeVNldHRpbmc9RW5jcnlwdGVkTWVkaWFBUEksCiAg
ICAgRXhwb3J0VG9XcmFwcGVkRnVuY3Rpb24sCiAgICAgRGlzYWJsZWRCeVF1aXJrPWhhc0Jyb2tl
bkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydCwKIF0gaW50ZXJmYWNlIE1lZGlhS2V5cyB7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL05hdmlnYXRvckVNRS5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZp
Z2F0b3JFTUUuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2VuY3J5cHRlZG1lZGlhL05hdmlnYXRvckVNRS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcg
KzI4LDcgQEAKIAogWwogICAgIENvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwKLSAgICBFbmFi
bGVkQXRSdW50aW1lPUVuY3J5cHRlZE1lZGlhQVBJLAorICAgIEVuYWJsZWRCeVNldHRpbmc9RW5j
cnlwdGVkTWVkaWFBUEksCiAgICAgRGlzYWJsZWRCeVF1aXJrPWhhc0Jyb2tlbkVuY3J5cHRlZE1l
ZGlhQVBJU3VwcG9ydCwKIF0gcGFydGlhbCBpbnRlcmZhY2UgTmF2aWdhdG9yIHsKICAgICBbQ2Fs
bFdpdGg9RG9jdW1lbnRdIFByb21pc2U8TWVkaWFLZXlTeXN0ZW1BY2Nlc3M+IHJlcXVlc3RNZWRp
YUtleVN5c3RlbUFjY2VzcyhET01TdHJpbmcga2V5U3lzdGVtLCBzZXF1ZW5jZTxNZWRpYUtleVN5
c3RlbUNvbmZpZ3VyYXRpb24+IHN1cHBvcnRlZENvbmZpZ3VyYXRpb24pOwpJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlNZXNz
YWdlRXZlbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlw
dGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5TWVzc2FnZUV2ZW50LmlkbAkocmV2aXNpb24g
MjY2MzEyKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kv
V2ViS2l0TWVkaWFLZXlNZXNzYWdlRXZlbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsy
NSw3IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1MRUdBQ1lfRU5DUllQVEVEX01FRElBLAotICAg
IEVuYWJsZWRBdFJ1bnRpbWU9TGVnYWN5RW5jcnlwdGVkTWVkaWFBUEksCisgICAgRW5hYmxlZEJ5
U2V0dGluZz1MZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSSwKIF0gaW50ZXJmYWNlIFdlYktpdE1lZGlh
S2V5TWVzc2FnZUV2ZW50IDogRXZlbnQgewogICAgIGNvbnN0cnVjdG9yKERPTVN0cmluZyB0eXBl
LCBvcHRpb25hbCBXZWJLaXRNZWRpYUtleU1lc3NhZ2VFdmVudEluaXQgZXZlbnRJbml0RGljdCk7
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dl
YktpdE1lZGlhS2V5TmVlZGVkRXZlbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5TmVlZGVkRXZlbnQu
aWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleU5lZWRlZEV2ZW50LmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMjUsNyArMjUsNyBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9TEVHQUNZX0VOQ1JZUFRF
RF9NRURJQSwKLSAgICBFbmFibGVkQXRSdW50aW1lPUxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJLAor
ICAgIEVuYWJsZWRCeVNldHRpbmc9TGVnYWN5RW5jcnlwdGVkTWVkaWFBUEksCiBdIGludGVyZmFj
ZSBXZWJLaXRNZWRpYUtleU5lZWRlZEV2ZW50IDogRXZlbnQgewogICAgIGNvbnN0cnVjdG9yKERP
TVN0cmluZyB0eXBlLCBvcHRpb25hbCBXZWJLaXRNZWRpYUtleU5lZWRlZEV2ZW50SW5pdCBldmVu
dEluaXREaWN0KTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlTZXNzaW9uLmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Np
b24uaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC0yNiw3ICsyNiw3IEBACiBbCiAgICAgQWN0aXZlRE9NT2JqZWN0LAogICAgIENvbmRpdGlv
bmFsPUxFR0FDWV9FTkNSWVBURURfTUVESUEsCi0gICAgRW5hYmxlZEF0UnVudGltZT1MZWdhY3lF
bmNyeXB0ZWRNZWRpYUFQSSwKKyAgICBFbmFibGVkQnlTZXR0aW5nPUxlZ2FjeUVuY3J5cHRlZE1l
ZGlhQVBJLAogXSBpbnRlcmZhY2UgV2ViS2l0TWVkaWFLZXlTZXNzaW9uIDogRXZlbnRUYXJnZXQg
ewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBXZWJLaXRNZWRpYUtleUVycm9yIGVycm9yOwogCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRN
ZWRpYUtleXMuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlw
dGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5cy5pZGwJKHJldmlzaW9uIDI2NjMxMikKKysr
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlh
S2V5cy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDcgQEAKICAKIFsKICAgICBDb25k
aXRpb25hbD1MRUdBQ1lfRU5DUllQVEVEX01FRElBLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9TGVn
YWN5RW5jcnlwdGVkTWVkaWFBUEksCisgICAgRW5hYmxlZEJ5U2V0dGluZz1MZWdhY3lFbmNyeXB0
ZWRNZWRpYUFQSSwKIF0gaW50ZXJmYWNlIFdlYktpdE1lZGlhS2V5cyB7CiAgICAgW01heVRocm93
RXhjZXB0aW9uXSBjb25zdHJ1Y3RvcihET01TdHJpbmcga2V5U3lzdGVtKTsKIApJbmRleDogU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWQuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBhZC9HYW1lcGFkLmlkbAkocmV2aXNpb24gMjY2MzEy
KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWQuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0yNCw3ICsyNCw3IEBACiAgKi8KIAogWwotICAgIEVuYWJsZWRBdFJ1bnRpbWU9
R2FtZXBhZHMsCisgICAgRW5hYmxlZEJ5U2V0dGluZz1HYW1lcGFkcywKICAgICBDb25kaXRpb25h
bD1HQU1FUEFELAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKIF0gaW50ZXJmYWNlIEdh
bWVwYWQgewpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWRCdXR0
b24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBhZC9HYW1l
cGFkQnV0dG9uLmlkbAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9nYW1lcGFkL0dhbWVwYWRCdXR0b24uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3ICsyNCw3
IEBACiAgKi8KIAogWwotICAgIEVuYWJsZWRBdFJ1bnRpbWU9R2FtZXBhZHMsCisgICAgRW5hYmxl
ZEJ5U2V0dGluZz1HYW1lcGFkcywKICAgICBDb25kaXRpb25hbD1HQU1FUEFELAogICAgIEltcGxl
bWVudGF0aW9uTGFja3NWVGFibGUKIF0gaW50ZXJmYWNlIEdhbWVwYWRCdXR0b24gewpJbmRleDog
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWRFdmVudC5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWRFdmVudC5pZGwJKHJl
dmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBhZC9HYW1lcGFk
RXZlbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKIFsKICAgICBDb25k
aXRpb25hbD1HQU1FUEFELAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9R2FtZXBhZHMsCisgICAgRW5h
YmxlZEJ5U2V0dGluZz1HYW1lcGFkcywKIF0gaW50ZXJmYWNlIEdhbWVwYWRFdmVudCA6IEV2ZW50
IHsKICAgICBjb25zdHJ1Y3RvcihET01TdHJpbmcgdHlwZSwgb3B0aW9uYWwgR2FtZXBhZEV2ZW50
SW5pdCBldmVudEluaXREaWN0KTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1l
cGFkL05hdmlnYXRvckdhbWVwYWQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZ2FtZXBhZC9OYXZpZ2F0b3JHYW1lcGFkLmlkbAkocmV2aXNpb24gMjY2MzEyKQorKysg
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL05hdmlnYXRvckdhbWVwYWQuaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw2IEBACiBbCiAgICAgQ29uZGl0aW9uYWw9R0FNRVBBRCwK
IF0gcGFydGlhbCBpbnRlcmZhY2UgTmF2aWdhdG9yIHsKLSAgICBbRW5hYmxlZEF0UnVudGltZT1H
YW1lcGFkc10gc2VxdWVuY2U8R2FtZXBhZD4gZ2V0R2FtZXBhZHMoKTsKKyAgICBbRW5hYmxlZEJ5
U2V0dGluZz1HYW1lcGFkc10gc2VxdWVuY2U8R2FtZXBhZD4gZ2V0R2FtZXBhZHMoKTsKIH07CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9CbG9iRXZlbnQuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9CbG9i
RXZlbnQuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhcmVjb3JkZXIvQmxvYkV2ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBA
QCB0eXBlZGVmIGRvdWJsZSBET01IaWdoUmVzVGltZVN0YW1wOwogCiBbCiAgICAgQ29uZGl0aW9u
YWw9TUVESUFfU1RSRUFNLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9TWVkaWFSZWNvcmRlciwKKyAg
ICBFbmFibGVkQnlTZXR0aW5nPU1lZGlhUmVjb3JkZXIsCiAgICAgRXhwb3NlZD1XaW5kb3cKIF0g
IGludGVyZmFjZSBCbG9iRXZlbnQgOiBFdmVudCB7CiAgICAgY29uc3RydWN0b3IoRE9NU3RyaW5n
IHR5cGUsIEJsb2JFdmVudEluaXQgZXZlbnRJbml0RGljdCk7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIuaWRsCShy
ZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIv
TWVkaWFSZWNvcmRlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDcgQEAgZW51bSBS
ZWNvcmRpbmdTdGF0ZSB7ICJpbmFjdGl2ZSIsICJyZWNvcgogWwogICAgIEFjdGl2ZURPTU9iamVj
dCwKICAgICBDb25kaXRpb25hbD1NRURJQV9TVFJFQU0sCi0gICAgRW5hYmxlZEF0UnVudGltZT1N
ZWRpYVJlY29yZGVyLAorICAgIEVuYWJsZWRCeVNldHRpbmc9TWVkaWFSZWNvcmRlciwKICAgICBF
eHBvc2VkPVdpbmRvdwogXSBpbnRlcmZhY2UgTWVkaWFSZWNvcmRlciA6IEV2ZW50VGFyZ2V0IHsK
ICAgICBbQ2FsbFdpdGg9RG9jdW1lbnQsIE1heVRocm93RXhjZXB0aW9uXSBjb25zdHJ1Y3RvcihN
ZWRpYVN0cmVhbSBzdHJlYW0sIG9wdGlvbmFsIE1lZGlhUmVjb3JkZXJPcHRpb25zIG9wdGlvbnMp
OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3Jk
ZXJFcnJvckV2ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlckVycm9yRXZlbnQuaWRsCShyZXZpc2lvbiAyNjYzMTIp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlckVy
cm9yRXZlbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBAIGRpY3Rpb25hcnkg
TWVkaWFSZWNvcmRlckVycm9yRXZlbnRJbml0IDoKIFsKICAgICBDb25kaXRpb25hbD1NRURJQV9T
VFJFQU0sCiAgICAgRXhwb3NlZD1XaW5kb3csCi0gICAgRW5hYmxlZEF0UnVudGltZT1NZWRpYVJl
Y29yZGVyCisgICAgRW5hYmxlZEJ5U2V0dGluZz1NZWRpYVJlY29yZGVyCiBdIGludGVyZmFjZSBN
ZWRpYVJlY29yZGVyRXJyb3JFdmVudCA6IEV2ZW50IHsKICAgICBjb25zdHJ1Y3RvcihET01TdHJp
bmcgdHlwZSwgTWVkaWFSZWNvcmRlckVycm9yRXZlbnRJbml0IGV2ZW50SW5pdERpY3QpOwogCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURl
dmljZXMuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDcg
QEAKIAogICAgIE1lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50cyBnZXRTdXBwb3J0ZWRDb25z
dHJhaW50cygpOwogICAgIFtQcml2YXRlSWRlbnRpZmllciwgUHVibGljSWRlbnRpZmllcl0gUHJv
bWlzZTxNZWRpYVN0cmVhbT4gZ2V0VXNlck1lZGlhKG9wdGlvbmFsIE1lZGlhU3RyZWFtQ29uc3Ry
YWludHMgY29uc3RyYWludHMpOwotICAgIFtFbmFibGVkQXRSdW50aW1lPVNjcmVlbkNhcHR1cmVd
IFByb21pc2U8TWVkaWFTdHJlYW0+IGdldERpc3BsYXlNZWRpYShvcHRpb25hbCBEaXNwbGF5TWVk
aWFTdHJlYW1Db25zdHJhaW50cyBjb25zdHJhaW50cyk7CisgICAgW0VuYWJsZWRCeVNldHRpbmc9
U2NyZWVuQ2FwdHVyZV0gUHJvbWlzZTxNZWRpYVN0cmVhbT4gZ2V0RGlzcGxheU1lZGlhKG9wdGlv
bmFsIERpc3BsYXlNZWRpYVN0cmVhbUNvbnN0cmFpbnRzIGNvbnN0cmFpbnRzKTsKIH07CiAKIFsK
QEAgLTU4LDcgKzU4LDcgQEAKIAogWwogICAgIENvbmRpdGlvbmFsPU1FRElBX1NUUkVBTSwKLSAg
ICBFbmFibGVkQXRSdW50aW1lPVNjcmVlbkNhcHR1cmUKKyAgICBFbmFibGVkQnlTZXR0aW5nPVNj
cmVlbkNhcHR1cmUKIF0gZW51bSBEaXNwbGF5Q2FwdHVyZVN1cmZhY2VUeXBlIHsKICAgICAibW9u
aXRvciIsCiAgICAgIndpbmRvdyIsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAJKHJldmlzaW9uIDI2NjMx
MikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFj
ay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3Miw3ICs0NzIsNyBAQCB2b2lkIE1lZGlhU3RyZWFt
VHJhY2s6OnVwZGF0ZUNhcHR1cmVBY2NvCiAgICAgYXV0byogYWN0aXZlQXVkaW9Tb3VyY2UgPSBS
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24oKS5hdWRpb0NhcHR1cmVGYWN0b3J5
KCkuYWN0aXZlU291cmNlKCk7CiAgICAgaWYgKGFjdGl2ZUF1ZGlvU291cmNlICYmIGlzU291cmNl
Q2FwdHVyaW5nRm9yVHJhY2tJbkRvY3VtZW50KCphY3RpdmVBdWRpb1NvdXJjZSwgZG9jdW1lbnQp
KSB7CiAgICAgICAgIGJvb2wgcGFnZU11dGVkID0gcGFnZS0+bXV0ZWRTdGF0ZSgpICYgTWVkaWFQ
cm9kdWNlcjo6QXVkaW9BbmRWaWRlb0NhcHR1cmVJc011dGVkOwotICAgICAgICBhY3RpdmVBdWRp
b1NvdXJjZS0+c2V0TXV0ZWQocGFnZU11dGVkIHx8IChkb2N1bWVudC5oaWRkZW4oKSAmJiBSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmludGVycnVwdEF1ZGlvT25QYWdl
VmlzaWJpbGl0eUNoYW5nZUVuYWJsZWQoKSkpOworICAgICAgICBhY3RpdmVBdWRpb1NvdXJjZS0+
c2V0TXV0ZWQocGFnZU11dGVkIHx8IChkb2N1bWVudC5oaWRkZW4oKSAmJiBkb2N1bWVudC5zZXR0
aW5ncygpLmludGVycnVwdEF1ZGlvT25QYWdlVmlzaWJpbGl0eUNoYW5nZUVuYWJsZWQoKSkpOwog
ICAgIH0KIAogICAgIGF1dG8qIGFjdGl2ZVZpZGVvU291cmNlID0gUmVhbHRpbWVNZWRpYVNvdXJj
ZUNlbnRlcjo6c2luZ2xldG9uKCkudmlkZW9DYXB0dXJlRmFjdG9yeSgpLmFjdGl2ZVNvdXJjZSgp
OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JNZWRp
YURldmljZXMuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vTmF2aWdhdG9yTWVkaWFEZXZpY2VzLmlkbAkocmV2aXNpb24gMjY2MzEyKQorKysgU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JNZWRpYURldmljZXMuaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1N
RURJQV9TVFJFQU0sCi0gICAgRW5hYmxlZEF0UnVudGltZT1NZWRpYURldmljZXMsCisgICAgRW5h
YmxlZEJ5U2V0dGluZz1NZWRpYURldmljZXMsCiBdIHBhcnRpYWwgaW50ZXJmYWNlIE5hdmlnYXRv
ciB7CiAgICAgW1NhbWVPYmplY3QsIFNlY3VyZUNvbnRleHQsIENvbnRleHRBbGxvd3NNZWRpYURl
dmljZXNdIHJlYWRvbmx5IGF0dHJpYnV0ZSBNZWRpYURldmljZXMgbWVkaWFEZXZpY2VzOwogICAg
IFtDdXN0b20sIEVuYWJsZWRCeVNldHRpbmc9TGVnYWN5R2V0VXNlck1lZGlhXSB1bmRlZmluZWQg
Z2V0VXNlck1lZGlhKG9iamVjdCBjb25zdHJhaW50cywgb2JqZWN0PyBzdWNjZXNzQ2FsbGJhY2ss
IG9iamVjdD8gZXJyb3JDYWxsYmFjayk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1dGhuL0F1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVz
cG9uc2UuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1dGhuL0F1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5pZGwJKHdvcmtpbmcgY29weSkK
QEAgLTI1LDcgKzI1LDcgQEAKIAogWwogICAgIENvbmRpdGlvbmFsPVdFQl9BVVRITiwKLSAgICBF
bmFibGVkQXRSdW50aW1lPVdlYkF1dGhlbnRpY2F0aW9uLAorICAgIEVuYWJsZWRCeVNldHRpbmc9
V2ViQXV0aGVudGljYXRpb24sCiAgICAgRXhwb3NlZD1XaW5kb3csCiAgICAgU2VjdXJlQ29udGV4
dAogXSBpbnRlcmZhY2UgQXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlIDogQXV0aGVudGlj
YXRvclJlc3BvbnNlIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0
aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2Uu
aWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhu
L0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLmlkbAkod29ya2luZyBjb3B5KQpAQCAt
MjUsNyArMjUsNyBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9V0VCX0FVVEhOLAotICAgIEVuYWJs
ZWRBdFJ1bnRpbWU9V2ViQXV0aGVudGljYXRpb24sCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJB
dXRoZW50aWNhdGlvbiwKICAgICBFeHBvc2VkPVdpbmRvdywKICAgICBTZWN1cmVDb250ZXh0CiBd
IGludGVyZmFjZSBBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZSA6IEF1dGhlbnRpY2F0
b3JSZXNwb25zZSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhl
bnRpY2F0b3JSZXNwb25zZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdXRobi9BdXRoZW50aWNhdG9yUmVzcG9uc2UuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisr
KyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JSZXNwb25zZS5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKIFsKICAgICBDb25kaXRpb25hbD1X
RUJfQVVUSE4sCiAgICAgQ3VzdG9tVG9KU09iamVjdCwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdl
YkF1dGhlbnRpY2F0aW9uLAorICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViQXV0aGVudGljYXRpb24s
CiAgICAgRXhwb3NlZD1XaW5kb3csCiAgICAgU2VjdXJlQ29udGV4dCwKIF0gaW50ZXJmYWNlIEF1
dGhlbnRpY2F0b3JSZXNwb25zZSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbC5jcHAJKHJldmlzaW9uIDI2NjMx
MikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlh
bC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDcgKzMzLDcgQEAKICNpbmNsdWRlICJEb2N1bWVu
dC5oIgogI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiUGFnZS5o
IgotI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKKyNpbmNsdWRlICJTZXR0aW5n
cy5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L0Jhc2U2NC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CkBAIC02MSw3ICs2MSw3IEBAIFB1YmxpY0tleUNyZWRlbnRpYWw6OlB1YmxpY0tleUNyZWRlbnRp
YWwKIAogdm9pZCBQdWJsaWNLZXlDcmVkZW50aWFsOjppc1VzZXJWZXJpZnlpbmdQbGF0Zm9ybUF1
dGhlbnRpY2F0b3JBdmFpbGFibGUoRG9jdW1lbnQmIGRvY3VtZW50LCBET01Qcm9taXNlRGVmZXJy
ZWQ8SURMQm9vbGVhbj4mJiBwcm9taXNlKQogewotICAgIGlmICghUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2hhcmVkRmVhdHVyZXMoKS53ZWJBdXRoZW50aWNhdGlvbkxvY2FsQXV0aGVudGljYXRv
ckVuYWJsZWQoKSkgeworICAgIGlmICghZG9jdW1lbnQuc2V0dGluZ3MoKS53ZWJBdXRoZW50aWNh
dGlvbkxvY2FsQXV0aGVudGljYXRvckVuYWJsZWQoKSkgewogICAgICAgICBwcm9taXNlLnJlc29s
dmUoZmFsc2UpOwogICAgICAgICByZXR1cm47CiAgICAgfQpJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsLmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuaWRsCShy
ZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1Ymxp
Y0tleUNyZWRlbnRpYWwuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKIFsK
ICAgICBDb25kaXRpb25hbD1XRUJfQVVUSE4sCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJBdXRo
ZW50aWNhdGlvbiwKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkF1dGhlbnRpY2F0aW9uLAogICAg
IEV4cG9zZWQ9V2luZG93LAogICAgIFNlY3VyZUNvbnRleHQsCiBdIGludGVyZmFjZSBQdWJsaWNL
ZXlDcmVkZW50aWFsIDogQmFzaWNDcmVkZW50aWFsIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1Nj
cmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXMvSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5jcHAuZXJi
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1NjcmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXMv
SW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5jcHAuZXJiCShyZXZpc2lvbiAyNjYzMTIpCisrKyBT
b3VyY2UvV2ViQ29yZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL0ludGVybmFsU2V0dGluZ3NH
ZW5lcmF0ZWQuY3BwLmVyYgkod29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgsNyBAQCBJbnRlcm5h
bFNldHRpbmdzR2VuZXJhdGVkOjpJbnRlcm5hbFNldHRpCiA8JS0gZm9yIEBzZXR0aW5nIGluIEBz
ZXR0aW5ncyBkbyAtJT4KIDwlLSBpZiBAc2V0dGluZy5leGNsdWRlRnJvbUludGVybmFsU2V0dGlu
Z3MgPT0gZmFsc2UgYW5kIEBzZXR0aW5nLmlkbFR5cGUgLSU+CiA8JS0gaWYgQHNldHRpbmcuY29u
ZGl0aW9uYWwgLSU+Ci0jaWYgRU5BQkxFKDwlPSBAc2V0dGluZy5jb25kaXRpb25hbCAlPikKKyNp
ZiA8JT0gQHNldHRpbmcuY29uZGl0aW9uYWwgJT4KIDwlLSBlbmQgLSU+CiAgICAgLCBtXzwlPSBA
c2V0dGluZy5uYW1lICU+KHBhZ2UtPnNldHRpbmdzKCkuPCU9IEBzZXR0aW5nLmdldHRlckZ1bmN0
aW9uTmFtZSAlPigpKQogPCUtIGlmIEBzZXR0aW5nLmNvbmRpdGlvbmFsIC0lPgpAQCAtNTgsNyAr
NTgsNyBAQCB2b2lkIEludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWQ6OnJlc2V0VG9DCiA8JS0gZm9y
IEBzZXR0aW5nIGluIEBzZXR0aW5ncyBkbyAtJT4KIDwlLSBpZiBAc2V0dGluZy5leGNsdWRlRnJv
bUludGVybmFsU2V0dGluZ3MgPT0gZmFsc2UgYW5kIEBzZXR0aW5nLmlkbFR5cGUgLSU+CiA8JS0g
aWYgQHNldHRpbmcuY29uZGl0aW9uYWwgLSU+Ci0jaWYgRU5BQkxFKDwlPSBAc2V0dGluZy5jb25k
aXRpb25hbCAlPikKKyNpZiA8JT0gQHNldHRpbmcuY29uZGl0aW9uYWwgJT4KIDwlLSBlbmQgLSU+
CiAgICAgbV9wYWdlLT5zZXR0aW5ncygpLjwlPSBAc2V0dGluZy5zZXR0ZXJGdW5jdGlvbk5hbWUg
JT4obV88JT0gQHNldHRpbmcubmFtZSAlPik7CiA8JS0gaWYgQHNldHRpbmcuY29uZGl0aW9uYWwg
LSU+CkBAIC03Myw3ICs3Myw3IEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZDo6cmVz
ZXRUb0MKIHZvaWQgSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZDo6PCU9IEBzZXR0aW5nLnNldHRl
ckZ1bmN0aW9uTmFtZSAlPig8JT0gQHNldHRpbmcucGFyYW1ldGVyVHlwZSAlPiA8JT0gQHNldHRp
bmcubmFtZSAlPikKIHsKIDwlLSBpZiBAc2V0dGluZy5jb25kaXRpb25hbCAtJT4KLSNpZiBFTkFC
TEUoPCU9IEBzZXR0aW5nLmNvbmRpdGlvbmFsICU+KQorI2lmIDwlPSBAc2V0dGluZy5jb25kaXRp
b25hbCAlPgogICAgIG1fcGFnZS0+c2V0dGluZ3MoKS48JT0gQHNldHRpbmcuc2V0dGVyRnVuY3Rp
b25OYW1lICU+KDwlPSBAc2V0dGluZy5uYW1lICU+KTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFN
KDwlPSBAc2V0dGluZy5uYW1lICU+KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1NjcmlwdHMvU2V0
dGluZ3NUZW1wbGF0ZXMvSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5oLmVyYgo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL0ludGVybmFsU2V0
dGluZ3NHZW5lcmF0ZWQuaC5lcmIJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3Jl
L1NjcmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXMvSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5oLmVy
Ygkod29ya2luZyBjb3B5KQpAQCAtNTMsNyArNTMsNyBAQCBwcml2YXRlOgogPCUtIGZvciBAc2V0
dGluZyBpbiBAc2V0dGluZ3MgZG8gLSU+CiA8JS0gaWYgQHNldHRpbmcuZXhjbHVkZUZyb21JbnRl
cm5hbFNldHRpbmdzID09IGZhbHNlIGFuZCBAc2V0dGluZy5pZGxUeXBlIC0lPgogPCUtIGlmIEBz
ZXR0aW5nLmNvbmRpdGlvbmFsIC0lPgotI2lmIEVOQUJMRSg8JT0gQHNldHRpbmcuY29uZGl0aW9u
YWwgJT4pCisjaWYgPCU9IEBzZXR0aW5nLmNvbmRpdGlvbmFsICU+CiA8JS0gZW5kIC0lPgogICAg
IDwlPSBAc2V0dGluZy50eXBlICU+IG1fPCU9IEBzZXR0aW5nLm5hbWUgJT47CiA8JS0gaWYgQHNl
dHRpbmcuY29uZGl0aW9uYWwgLSU+CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9TY3JpcHRzL1NldHRp
bmdzVGVtcGxhdGVzL1NldHRpbmdzLmNwcC5lcmIKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvU2NyaXB0cy9TZXR0aW5nc1RlbXBsYXRlcy9TZXR0aW5ncy5jcHAuZXJiCShyZXZpc2lvbiAy
NjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL1NldHRp
bmdzLmNwcC5lcmIJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDcgKzQ2LDcgQEAgU2V0dGluZ3M6OlNl
dHRpbmdzKFBhZ2UqIHBhZ2UpCiA8JS0gZW5kIC0lPgogPCUtIGZvciBAY29uZGl0aW9uYWwgaW4g
QGNvbmRpdGlvbmFscyBkbyAtJT4KIDwlLSBpZiBAY29uZGl0aW9uYWwubm9uQm9vbFNldHRpbmdz
Lmxlbmd0aCAhPSAwIC0lPgotI2lmIEVOQUJMRSg8JT0gQGNvbmRpdGlvbmFsLmNvbmRpdGlvbiAl
PikKKyNpZiA8JT0gQGNvbmRpdGlvbmFsLmNvbmRpdGlvbiAlPgogPCUtIGZvciBAc2V0dGluZyBp
biBAY29uZGl0aW9uYWwubm9uQm9vbFNldHRpbmdzIC0lPgogICAgICwgbV88JT0gQHNldHRpbmcu
bmFtZSAlPig8JT0gQHNldHRpbmcuaW5pdGlhbCAlPikKIDwlLSBlbmQgLSU+CkBAIC01OCw3ICs1
OCw3IEBAIFNldHRpbmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdlKQogPCUtIGVuZCAtJT4KIDwlLSBm
b3IgQGNvbmRpdGlvbmFsIGluIEBjb25kaXRpb25hbHMgZG8gLSU+CiA8JS0gaWYgQGNvbmRpdGlv
bmFsLmJvb2xTZXR0aW5ncy5sZW5ndGggIT0gMCAtJT4KLSNpZiBFTkFCTEUoPCU9IEBjb25kaXRp
b25hbC5jb25kaXRpb24gJT4pCisjaWYgPCU9IEBjb25kaXRpb25hbC5jb25kaXRpb24gJT4KIDwl
LSBmb3IgQHNldHRpbmcgaW4gQGNvbmRpdGlvbmFsLmJvb2xTZXR0aW5ncyAtJT4KICAgICAsIG1f
PCU9IEBzZXR0aW5nLm5hbWUgJT4oPCU9IEBzZXR0aW5nLmluaXRpYWwgJT4pCiA8JS0gZW5kIC0l
PgpAQCAtOTcsNyArOTcsNyBAQCB2b2lkIFNldHRpbmdzOjo8JT0gQHNldHRpbmcuc2V0dGVyRnVu
Y3RpCiA8JS0gZW5kIC0lPgogPCUtIGZvciBAY29uZGl0aW9uYWwgaW4gQGNvbmRpdGlvbmFscyBk
byAtJT4KIDwlLSBpZiBAY29uZGl0aW9uYWwuc2V0dGluZ3NXaXRoQ29tcGxleEdldHRlcnMubGVu
Z3RoICE9IDAgb3IgQGNvbmRpdGlvbmFsLnNldHRpbmdzV2l0aENvbXBsZXhTZXR0ZXJzLmxlbmd0
aCAhPSAwLSU+Ci0jaWYgRU5BQkxFKDwlPSBAY29uZGl0aW9uYWwuY29uZGl0aW9uICU+KQorI2lm
IDwlPSBAY29uZGl0aW9uYWwuY29uZGl0aW9uICU+CiA8JS0gZm9yIEBzZXR0aW5nIGluIEBjb25k
aXRpb25hbC5zZXR0aW5nc1dpdGhDb21wbGV4R2V0dGVycyBkbyAtJT4KIDwlPSBAc2V0dGluZy5w
YXJhbWV0ZXJUeXBlICU+IFNldHRpbmdzOjo8JT0gQHNldHRpbmcuZ2V0dGVyRnVuY3Rpb25OYW1l
ICU+KCkgY29uc3QKIHsKQEAgLTEzMSw3ICsxMzEsNyBAQCB2b2lkIFNldHRpbmdzOjo8JT0gQHNl
dHRpbmcuc2V0dGVyRnVuY3RpCiAgICAgICAgIHJldHVybjsKICAgICBtXzwlPSBAc2V0dGluZy5u
YW1lICU+SW5zcGVjdG9yT3ZlcnJpZGUgPSA8JT0gQHNldHRpbmcubmFtZSAlPkluc3BlY3Rvck92
ZXJyaWRlOwogPCUtIGlmIEBzZXR0aW5nLmNvbmRpdGlvbmFsIC0lPgotI2lmIEVOQUJMRSg8JT0g
QHNldHRpbmcuY29uZGl0aW9uYWwgJT4pCisjaWYgPCU9IEBzZXR0aW5nLmNvbmRpdGlvbmFsICU+
CiA8JS0gZW5kIC0lPgogICAgIDwlPSBAc2V0dGluZy5vbkNoYW5nZSAlPigpOwogPCUtIGlmIEBz
ZXR0aW5nLmNvbmRpdGlvbmFsIC0lPgpJbmRleDogU291cmNlL1dlYkNvcmUvU2NyaXB0cy9TZXR0
aW5nc1RlbXBsYXRlcy9TZXR0aW5ncy5oLmVyYgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL1NldHRpbmdzLmguZXJiCShyZXZpc2lvbiAyNjYz
MTIpCisrKyBTb3VyY2UvV2ViQ29yZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL1NldHRpbmdz
LmguZXJiCSh3b3JraW5nIGNvcHkpCkBAIC01NCw3ICs1NCw3IEBAIHB1YmxpYzoKIDwlLSBlbmQg
LSU+CiAKIDwlLSBmb3IgQGNvbmRpdGlvbmFsIGluIEBjb25kaXRpb25hbHMgZG8gLSU+Ci0jaWYg
RU5BQkxFKDwlPSBAY29uZGl0aW9uYWwuY29uZGl0aW9uICU+KQorI2lmIDwlPSBAY29uZGl0aW9u
YWwuY29uZGl0aW9uICU+CiA8JS0gZm9yIEBzZXR0aW5nIGluIEBjb25kaXRpb25hbC5zZXR0aW5n
cyBkbyAtJT4KICAgICA8JS0gaWYgQHNldHRpbmcuaGFzQ29tcGxleEdldHRlcj8gLSU+CiAgICAg
V0VCQ09SRV9FWFBPUlQgPCU9IEBzZXR0aW5nLnBhcmFtZXRlclR5cGUgJT4gPCU9IEBzZXR0aW5n
LmdldHRlckZ1bmN0aW9uTmFtZSAlPigpIGNvbnN0OwpAQCAtOTEsNyArOTEsNyBAQCBwcml2YXRl
OgogCiA8JS0gZm9yIEBjb25kaXRpb25hbCBpbiBAY29uZGl0aW9uYWxzIGRvIC0lPgogPCUtIGlm
IEBjb25kaXRpb25hbC5ub25Cb29sU2V0dGluZ3MubGVuZ3RoICE9IDAgLSU+Ci0jaWYgRU5BQkxF
KDwlPSBAY29uZGl0aW9uYWwuY29uZGl0aW9uICU+KQorI2lmIDwlPSBAY29uZGl0aW9uYWwuY29u
ZGl0aW9uICU+CiA8JS0gZm9yIEBzZXR0aW5nIGluIEBjb25kaXRpb25hbC5ub25Cb29sU2V0dGlu
Z3MgLSU+CiAgICAgPCU9IEBzZXR0aW5nLnR5cGUgJT4gbV88JT0gQHNldHRpbmcubmFtZSAlPjsK
IDwlLSBlbmQgLSU+CkBAIC0xMDUsNyArMTA1LDcgQEAgcHJpdmF0ZToKIAogPCUtIGZvciBAY29u
ZGl0aW9uYWwgaW4gQGNvbmRpdGlvbmFscyBkbyAtJT4KIDwlLSBpZiBAY29uZGl0aW9uYWwuYm9v
bFNldHRpbmdzLmxlbmd0aCAhPSAwIC0lPgotI2lmIEVOQUJMRSg8JT0gQGNvbmRpdGlvbmFsLmNv
bmRpdGlvbiAlPikKKyNpZiA8JT0gQGNvbmRpdGlvbmFsLmNvbmRpdGlvbiAlPgogPCUtIGZvciBA
c2V0dGluZyBpbiBAY29uZGl0aW9uYWwuYm9vbFNldHRpbmdzIC0lPgogICAgIDwlPSBAc2V0dGlu
Zy50eXBlICU+IG1fPCU9IEBzZXR0aW5nLm5hbWUgJT4gOiAxOwogPCUtIGVuZCAtJT4KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJ
KHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTA3Niw4ICsxMDc2LDggQEAKIAkJNDE2
RTBCM0EyMDlCQzNDQjAwNEE5NUQ5IC8qIEZldGNoSWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2RTBCMzcyMDlCQzNDMjAwNEE5NUQ5
IC8qIEZldGNoSWRlbnRpZmllci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTQxNkUyOUE2MTAyRkE5NjIwMDdGQzE0RSAvKiBXb3JrZXJSZXBvcnRp
bmdQcm94eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDE2RTI5QTUxMDJGQTk2MjAwN0ZDMTRFIC8qIFdvcmtlclJlcG9ydGluZ1Byb3h5LmggKi87IH07
CiAJCTQxNkU2RkU4MUJCRDEyREYwMDBBM0Y2NCAvKiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1
aWx0aW5zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
QjAzRDgwNjFCQjMxMTBEMDBCNzY0RDkgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlu
cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTQx
NkU2RkU4MUJCRDEyREYwMDBBM0Y3NCAvKiBUcmFuc2Zvcm1TdHJlYW1JbnRlcm5hbHNCdWlsdGlu
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUIwM0Q4
MDYxQkIzMTEwRDAwQjc2NEVBIC8qIFRyYW5zZm9ybVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE2RTZG
RTgxQkJEMTJERjAwMEEzRjY1IC8qIEpTRE9NQmluZGluZ0ludGVybmFsc0J1aWx0aW5zLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QjAzRDgwNjFCQjMx
MTBEMDBCNzY0REEgLyogSlNET01CaW5kaW5nSW50ZXJuYWxzQnVpbHRpbnMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0MTZFNkZFODFCQkQxMkRG
MDAwQTNGNzQgLyogVHJhbnNmb3JtU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlCMDNEODA2MUJCMzExMEQwMEI3
NjRFQSAvKiBUcmFuc2Zvcm1TdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxNkU2RkU4MUJCRDEyREYwMDBB
NjAzMyAvKiBTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEM5IC8qIFN0cmVh
bUludGVybmFsc0J1aWx0aW5zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJNDE2RTZGRTgxQkJEMTJERjAwMEE2MDQzIC8qIFJlYWRhYmxlQnl0ZVN0
cmVhbUludGVybmFsc0J1aWx0aW5zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5QjAzRDgwNjFCQjMxMTBEMDBCNzNGNjQgLyogUmVhZGFibGVCeXRlU3Ry
ZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk0MTZFNkZFODFCQkQxMkRGMDAwQTYwNTMgLyogV3JpdGFibGVTdHJl
YW1JbnRlcm5hbHNCdWlsdGlucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEU5IC8qIFdyaXRhYmxlU3RyZWFtSW50
ZXJuYWxzQnVpbHRpbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwpAQCAtMTAwMTksNiArMTAwMTksMTIgQEAKIAkJN0FGOUIyMDkxOENGQjVGMjAwQzY0
QkVGIC8qIEpTVlRUUmVnaW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
VlRUUmVnaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdBRjlCMjBBMThDRkI1
RjMwMEM2NEJFRiAvKiBKU1ZUVFJlZ2lvbkxpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNWVFRSZWdpb25MaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJN0FGOUIyMEIxOENGQjVGMzAwQzY0QkVGIC8qIEpTVlRUUmVnaW9uTGlzdC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1ZUVFJlZ2lvbkxpc3QuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0MwMTFGM0QyNEZBRDM2MDAwNUJFRjEwIC8qIFNldHRp
bmdzLmNwcC5lcmIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gU2V0dGluZ3MuY3BwLmVyYjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJN0MwMTFGM0UyNEZBRDM2MDAwNUJFRjEwIC8qIEludGVybmFsU2V0dGluZ3NHZW5l
cmF0ZWQuY3BwLmVyYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBJbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmNwcC5lcmI7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdDMDExRjNGMjRGQUQzNjAwMDVCRUYxMCAvKiBJ
bnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmlkbC5lcmIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSW50ZXJuYWxTZXR0aW5nc0dl
bmVyYXRlZC5pZGwuZXJiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzAxMUY0MDI0
RkFEMzYwMDA1QkVGMTAgLyogU2V0dGluZ3MuaC5lcmIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU2V0dGluZ3MuaC5lcmI7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdDMDExRjQxMjRGQUQzNjAwMDVCRUYxMCAvKiBJ
bnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmguZXJiICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEludGVybmFsU2V0dGluZ3NHZW5l
cmF0ZWQuaC5lcmI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdDMDExRjQzMjRGQUQz
NjEwMDVCRUYxMCAvKiBHZW5lcmF0ZVNldHRpbmdzLnJiICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQucnVieTsgbmFtZSA9IEdlbmVy
YXRlU2V0dGluZ3MucmI7IHBhdGggPSBTY3JpcHRzL0dlbmVyYXRlU2V0dGluZ3MucmI7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDMDE3QzNEMjQ5NjlGMTMwMERDMEMwMiAvKiBOYXZp
Z2F0b3JQbHVnaW5zLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBOYXZpZ2F0b3JQbHVnaW5zLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJN0MwMjlDNkQyNDkzQzhGODAwMjY4MjA0IC8qIENvbG9yVHlwZXMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQ29sb3JUeXBlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk3QzBDRUYyODFFNEE1NDJDMDA4REVCODAgLyogSlNET01Db25zdHJ1Y3RvckJhc2UuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNET01Db25zdHJ1Y3RvckJhc2UuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTExNTY2LDEwICsxMTU3MiwxMCBAQAogCQk5
QjAzRDgwNjFCQjMxMTBEMDBCNzY0QzkgLyogU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaDsg
cGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaDsg
c291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJOUIwM0Q4MDYxQkIzMTEwRDAw
Qjc2NEQ4IC8qIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gUmVhZGFibGVTdHJlYW1CdWlsdGlucy5oOyBwYXRoID0gRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9SZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9Q
Uk9EVUNUU19ESVI7IH07CiAJCTlCMDNEODA2MUJCMzExMEQwMEI3NjREOSAvKiBSZWFkYWJsZVN0
cmVhbUludGVybmFsc0J1aWx0aW5zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oOyBzb3VyY2VUcmVlID0g
QlVJTFRfUFJPRFVDVFNfRElSOyB9OwotCQk5QjAzRDgwNjFCQjMxMTBEMDBCNzY0RUEgLyogVHJh
bnNmb3JtU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gVHJhbnNmb3JtU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaDsgcGF0aCA9IERlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvVHJhbnNmb3JtU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaDsgc291
cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJOUIwM0Q4MDYxQkIzMTEwRDAwQjc2
NERBIC8qIEpTRE9NQmluZGluZ0ludGVybmFsc0J1aWx0aW5zLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IEpTRE9NQmluZGluZ0ludGVybmFsc0J1aWx0aW5zLmg7IHBhdGggPSBE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NQmluZGluZ0ludGVybmFsc0J1aWx0aW5zLmg7IHNv
dXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTlCMDNEODA2MUJCMzExMEQwMEI3
NjRFOCAvKiBXcml0YWJsZVN0cmVhbUJ1aWx0aW5zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IFdyaXRhYmxlU3RyZWFtQnVpbHRpbnMuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvV3JpdGFibGVTdHJlYW1CdWlsdGlucy5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJP
RFVDVFNfRElSOyB9OwogCQk5QjAzRDgwNjFCQjMxMTBEMDBCNzY0RTkgLyogV3JpdGFibGVTdHJl
YW1JbnRlcm5hbHNCdWlsdGlucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBX
cml0YWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL1dyaXRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaDsgc291cmNlVHJlZSA9IEJV
SUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJOUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEVBIC8qIFRyYW5z
Zm9ybVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IFRyYW5zZm9ybVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmg7IHBhdGggPSBEZXJpdmVk
U291cmNlcy9XZWJDb3JlL1RyYW5zZm9ybVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmg7IHNvdXJj
ZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTlCMDk4QkQ1MUYzRDYwMzMwMDJERDU2
MiAvKiBEYXRhVHJhbnNmZXJJdGVtLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IERhdGFUcmFuc2Zlckl0ZW0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk5QjA5OEJERDFGM0Q2NzNEMDAyREQ1NjIgLyogSlNEYXRhVHJhbnNmZXJJdGVtLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRGF0YVRyYW5zZmVySXRlbS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlCMDk4QkRFMUYzRDY3M0QwMDJERDU2MiAv
KiBKU0RhdGFUcmFuc2Zlckl0ZW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNEYXRhVHJhbnNmZXJJdGVtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xODY0
OCwxMCArMTg2NTQsMTIgQEAKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCiAJ
CQkJRjQ4Mzg5NzkxRTFERDIzQTAwNzZCN0VBIC8qIEVkaXRpbmdIaXN0b3J5ICovLAorCQkJCTdD
MDExRjNDMjRGQUQzNjAwMDVCRUYxMCAvKiBTZXR0aW5nc1RlbXBsYXRlcyAqLywKIAkJCQlBMUUw
ODY2RjI0OEFBQzg1MDBFNDk2RDkgLyogY2hlY2steGNmaWxlbGlzdHMuc2ggKi8sCiAJCQkJMzcx
N0Q3RTUxN0VDQzNBNjAwM0MyNzZEIC8qIGV4dHJhY3QtbG9jYWxpemFibGUtc3RyaW5ncy5wbCAq
LywKIAkJCQlBMUUwODY3MDI0OEFBQzg1MDBFNDk2RDkgLyogZ2VuZXJhdGUtZGVyaXZlZC1zb3Vy
Y2VzLnNoICovLAogCQkJCUExRTA4NjZFMjQ4QUFDODUwMEU0OTZEOSAvKiBnZW5lcmF0ZS11bmlm
aWVkLXNvdXJjZXMuc2ggKi8sCisJCQkJN0MwMTFGNDMyNEZBRDM2MTAwNUJFRjEwIC8qIEdlbmVy
YXRlU2V0dGluZ3MucmIgKi8sCiAJCQkJMzdENDU2RkIxQTlBNTBCNjAwMzMzMEExIC8qIExvY2Fs
aXphYmxlU3RyaW5ncy5wbSAqLywKIAkJCSk7CiAJCQluYW1lID0gU2NyaXB0czsKQEAgLTIxOTI4
LDYgKzIxOTM2LDE5IEBACiAJCQlwYXRoID0gbWFjT1M7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91
cD4iOwogCQl9OworCQk3QzAxMUYzQzI0RkFEMzYwMDA1QkVGMTAgLyogU2V0dGluZ3NUZW1wbGF0
ZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTdDMDEx
RjNFMjRGQUQzNjAwMDVCRUYxMCAvKiBJbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmNwcC5lcmIg
Ki8sCisJCQkJN0MwMTFGNDEyNEZBRDM2MDAwNUJFRjEwIC8qIEludGVybmFsU2V0dGluZ3NHZW5l
cmF0ZWQuaC5lcmIgKi8sCisJCQkJN0MwMTFGM0YyNEZBRDM2MDAwNUJFRjEwIC8qIEludGVybmFs
U2V0dGluZ3NHZW5lcmF0ZWQuaWRsLmVyYiAqLywKKwkJCQk3QzAxMUYzRDI0RkFEMzYwMDA1QkVG
MTAgLyogU2V0dGluZ3MuY3BwLmVyYiAqLywKKwkJCQk3QzAxMUY0MDI0RkFEMzYwMDA1QkVGMTAg
LyogU2V0dGluZ3MuaC5lcmIgKi8sCisJCQkpOworCQkJbmFtZSA9IFNldHRpbmdzVGVtcGxhdGVz
OworCQkJcGF0aCA9IFNjcmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXM7CisJCQlzb3VyY2VUcmVlID0g
Ijxncm91cD4iOworCQl9OwogCQk3QzMzMEEwNDFERjlGOTNCMDBEMzM5NUMgLyogR2VvbG9jYXRp
b24gKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApJbmRleDogU291
cmNlL1dlYkNvcmUvY3NzL0RPTUNTU0N1c3RvbVByb3BlcnR5RGVzY3JpcHRvci5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0RPTUNTU0N1c3RvbVByb3BlcnR5RGVzY3JpcHRv
ci5pZGwJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9ET01DU1NDdXN0
b21Qcm9wZXJ0eURlc2NyaXB0b3IuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBA
CiAKIFsKICAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKLSAgICBFbmFibGVkQXRSdW50aW1lPUNT
U0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXMKKyAgICBFbmFibGVkQnlTZXR0aW5nPUNTU0N1c3Rv
bVByb3BlcnRpZXNBbmRWYWx1ZXMKIF0gZGljdGlvbmFyeSBET01DU1NDdXN0b21Qcm9wZXJ0eURl
c2NyaXB0b3IgewogICAgIHJlcXVpcmVkIERPTVN0cmluZyBuYW1lOwogICAgICAgICAgICAgIERP
TVN0cmluZyBzeW50YXggICAgICAgPSAiKiI7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvRE9N
Q1NTUmVnaXN0ZXJDdXN0b21Qcm9wZXJ0eS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvY3NzL0RPTUNTU1JlZ2lzdGVyQ3VzdG9tUHJvcGVydHkuaWRsCShyZXZpc2lvbiAyNjYzMTIp
CisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvRE9NQ1NTUmVnaXN0ZXJDdXN0b21Qcm9wZXJ0eS5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTI0LDcgKzI0LDcgQEAKICovCiAKIFsKLSAgICBFbmFibGVkQXRS
dW50aW1lPUNTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXMKKyAgICBFbmFibGVkQnlTZXR0aW5n
PUNTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXMKIF0gcGFydGlhbCBpbnRlcmZhY2UgRE9NQ1NT
TmFtZXNwYWNlIHsKICAgICBbQ2FsbFdpdGg9RG9jdW1lbnQsIE1heVRocm93RXhjZXB0aW9uXSBz
dGF0aWMgdW5kZWZpbmVkIHJlZ2lzdGVyUHJvcGVydHkoRE9NQ1NTQ3VzdG9tUHJvcGVydHlEZXNj
cmlwdG9yIGRlc2NyaXB0b3IpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9CZWZvcmVM
b2FkRXZlbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9CZWZvcmVMb2Fk
RXZlbnQuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vQmVmb3Jl
TG9hZEV2ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNyBAQAogICovCiAKIFsK
LSAgICBFbmFibGVkQXRSdW50aW1lPUxlZ2FjeUJlZm9yZUxvYWRFdmVudAorICAgIEVuYWJsZWRC
eVNldHRpbmc9TGVnYWN5QmVmb3JlTG9hZEV2ZW50CiBdIGludGVyZmFjZSBCZWZvcmVMb2FkRXZl
bnQgOiBFdmVudCB7CiAgICAgY29uc3RydWN0b3IoRE9NU3RyaW5nIHR5cGUsIG9wdGlvbmFsIEJl
Zm9yZUxvYWRFdmVudEluaXQgZXZlbnRJbml0RGljdCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2RvbS9DdXN0b21FbGVtZW50UmVnaXN0cnkuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2RvbS9DdXN0b21FbGVtZW50UmVnaXN0cnkuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBT
b3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5LmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMjQsNyArMjQsNyBAQAogKi8KIAogWwotICAgIEVuYWJsZWRBdFJ1bnRpbWU9Q3VzdG9t
RWxlbWVudHMsCisgICAgRW5hYmxlZEJ5U2V0dGluZz1DdXN0b21FbGVtZW50cywKICAgICBHZW5l
cmF0ZUlzUmVhY2hhYmxlPUltcGxTY3JpcHRFeGVjdXRpb25Db250ZXh0LAogICAgIEpTR2VuZXJh
dGVUb05hdGl2ZU9iamVjdCwKIF0gaW50ZXJmYWNlIEN1c3RvbUVsZW1lbnRSZWdpc3RyeSB7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVyLmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVyLmlkbAkocmV2aXNpb24gMjY2MzEyKQorKysg
U291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM1
LDcgKzM1LDcgQEAKICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGVmZmVjdEFsbG93ZWQ7CiAKICAg
ICAvLyBGSVhNRTogaXRlbXMgc2hvdWxkIHVzZSBbU2FtZU9iamVjdF0gb25jZSB0aGF0IGlzIHN1
cHBvcnRlZC4KLSAgICBbRW5hYmxlZEF0UnVudGltZT1EYXRhVHJhbnNmZXJJdGVtcywgQ2FsbFdp
dGg9RG9jdW1lbnRdIHJlYWRvbmx5IGF0dHJpYnV0ZSBEYXRhVHJhbnNmZXJJdGVtTGlzdCBpdGVt
czsKKyAgICBbRW5hYmxlZEJ5U2V0dGluZz1EYXRhVHJhbnNmZXJJdGVtcywgQ2FsbFdpdGg9RG9j
dW1lbnRdIHJlYWRvbmx5IGF0dHJpYnV0ZSBEYXRhVHJhbnNmZXJJdGVtTGlzdCBpdGVtczsKIAog
ICAgIHVuZGVmaW5lZCBzZXREcmFnSW1hZ2UoRWxlbWVudD8gaW1hZ2UsIGxvbmcgeCwgbG9uZyB5
KTsgLy8gRklYTUU6IEVsZW1lbnQgYXJndW1lbnQgaXMgbm90IG51bGxhYmxlIGluIHRoZSBIVE1M
IHN0YW5kYXJkLgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRlbS5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlckl0ZW0uaWRs
CShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRl
bS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAKICAqLwogCiBbCi0gICAgRW5h
YmxlZEF0UnVudGltZT1EYXRhVHJhbnNmZXJJdGVtcywKKyAgICBFbmFibGVkQnlTZXR0aW5nPURh
dGFUcmFuc2Zlckl0ZW1zLAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiBdIGludGVy
ZmFjZSBEYXRhVHJhbnNmZXJJdGVtIHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5n
IGtpbmQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRlbUxpc3QuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXJJdGVtTGlzdC5p
ZGwJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXJJ
dGVtTGlzdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAKICAqLwogCiBbCi0g
ICAgRW5hYmxlZEF0UnVudGltZT1EYXRhVHJhbnNmZXJJdGVtcywKKyAgICBFbmFibGVkQnlTZXR0
aW5nPURhdGFUcmFuc2Zlckl0ZW1zLAogICAgIEpTR2VuZXJhdGVUb05hdGl2ZU9iamVjdCwKICAg
ICBKU0dlbmVyYXRlVG9KU09iamVjdCwKIF0gaW50ZXJmYWNlIERhdGFUcmFuc2Zlckl0ZW1MaXN0
IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkocmV2aXNpb24gMjY2MzEyKQorKysgU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTUwLDcgKzk1
MCw3IEBAIHZvaWQgRG9jdW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChjb25zdCBDaGkKIAogc3RhdGlj
IEFMV0FZU19JTkxJTkUgUmVmPEhUTUxFbGVtZW50PiBjcmVhdGVVcGdyYWRlQ2FuZGlkYXRlRWxl
bWVudChEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUpCiB7Ci0g
ICAgaWYgKCFSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmN1c3RvbUVs
ZW1lbnRzRW5hYmxlZCgpCisgICAgaWYgKCFkb2N1bWVudC5zZXR0aW5ncygpLmN1c3RvbUVsZW1l
bnRzRW5hYmxlZCgpCiAgICAgICAgIHx8IERvY3VtZW50Ojp2YWxpZGF0ZUN1c3RvbUVsZW1lbnRO
YW1lKG5hbWUubG9jYWxOYW1lKCkpICE9IEN1c3RvbUVsZW1lbnROYW1lVmFsaWRhdGlvblN0YXR1
czo6VmFsaWQpCiAgICAgICAgIHJldHVybiBIVE1MVW5rbm93bkVsZW1lbnQ6OmNyZWF0ZShuYW1l
LCBkb2N1bWVudCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbAkocmV2aXNpb24gMjY2
MzEyKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMTI3LDcgKzEyNyw3IEBAIHR5cGVkZWYgKEhUTUxTY3JpcHRFbGVtZW50IG9yIFNWR1Njcmlw
dEUKICAgICBib29sZWFuIHF1ZXJ5Q29tbWFuZFN0YXRlKERPTVN0cmluZyBjb21tYW5kSWQpOwog
ICAgIGJvb2xlYW4gcXVlcnlDb21tYW5kU3VwcG9ydGVkKERPTVN0cmluZyBjb21tYW5kSWQpOwog
ICAgIERPTVN0cmluZyBxdWVyeUNvbW1hbmRWYWx1ZShET01TdHJpbmcgY29tbWFuZElkKTsKLSAg
ICBbRW5hYmxlZEF0UnVudGltZT1VbmRvTWFuYWdlckFQSV0gcmVhZG9ubHkgYXR0cmlidXRlIFVu
ZG9NYW5hZ2VyIHVuZG9NYW5hZ2VyOworICAgIFtFbmFibGVkQnlTZXR0aW5nPVVuZG9NYW5hZ2Vy
QVBJXSByZWFkb25seSBhdHRyaWJ1dGUgVW5kb01hbmFnZXIgdW5kb01hbmFnZXI7CiAKICAgICAv
LyBTcGVjaWFsIGV2ZW50IGhhbmRsZXIgSURMIGF0dHJpYnV0ZXMgdGhhdCBvbmx5IGFwcGx5IHRv
IERvY3VtZW50IG9iamVjdHMuCiAgICAgW0xlbmllbnRUaGlzXSBhdHRyaWJ1dGUgRXZlbnRIYW5k
bGVyIG9ucmVhZHlzdGF0ZWNoYW5nZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5pZGwJKHJldmlz
aW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMTMxLDcgKzEzMSw3IEBACiAgICAgW05vdEVudW1lcmFibGVdIGF0dHJpYnV0ZSBF
dmVudEhhbmRsZXIgb25iZWZvcmVsb2FkOwogCiAgICAgLy8gTm9uIHN0YW5kYXJkIGV2ZW50IGhh
bmRsZXIgKGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9yZWZlcmVuY2Uvd2Via2l0anMvZWxl
bWVudC8xNjM0MjA1LW9ud2Via2l0bmVlZGtleSkuCi0gICAgW05vdEVudW1lcmFibGUsIENvbmRp
dGlvbmFsPUxFR0FDWV9FTkNSWVBURURfTUVESUEsIEVuYWJsZWRBdFJ1bnRpbWU9TGVnYWN5RW5j
cnlwdGVkTWVkaWFBUEldIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb253ZWJraXRuZWVka2V5Owor
ICAgIFtOb3RFbnVtZXJhYmxlLCBDb25kaXRpb25hbD1MRUdBQ1lfRU5DUllQVEVEX01FRElBLCBF
bmFibGVkQnlTZXR0aW5nPUxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJXSBhdHRyaWJ1dGUgRXZlbnRI
YW5kbGVyIG9ud2Via2l0bmVlZGtleTsKIAogICAgIC8vIE5vbiBzdGFuZGFyZCBldmVudCBoYW5k
bGVyIChodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vcmVmZXJlbmNlL3dlYmtpdGpzL2VsZW1l
bnQvMTYzMzk0My1vbndlYmtpdHByZXNlbnRhdGlvbm1vZGVjaGFuZ2VkKS4KICAgICBbTm90RW51
bWVyYWJsZSwgQ29uZGl0aW9uYWw9VklERU9fUFJFU0VOVEFUSU9OX01PREVdIGF0dHJpYnV0ZSBF
dmVudEhhbmRsZXIgb253ZWJraXRwcmVzZW50YXRpb25tb2RlY2hhbmdlZDsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2RvbS9JbnB1dEV2ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9kb20vSW5wdXRFdmVudC5pZGwJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3Jl
L2RvbS9JbnB1dEV2ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQsNyArMjQsNyBAQAogKi8K
IAogWwotICAgIEVuYWJsZWRBdFJ1bnRpbWU9SW5wdXRFdmVudHMsCisgICAgRW5hYmxlZEJ5U2V0
dGluZz1JbnB1dEV2ZW50cywKIF0gaW50ZXJmYWNlIElucHV0RXZlbnQgOiBVSUV2ZW50IHsKICAg
ICBjb25zdHJ1Y3RvcihET01TdHJpbmcgdHlwZSwgb3B0aW9uYWwgSW5wdXRFdmVudEluaXQgZXZl
bnRJbml0RGljdCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAJKHJldmlzaW9uIDI2NjMxMikKKysr
IFNvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjAsMTAgKzYw
LDEwIEBACiAjaW5jbHVkZSAiUmVuZGVyQm94LmgiCiAjaW5jbHVkZSAiUmVuZGVyVGV4dENvbnRy
b2wuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCi0jaW5jbHVkZSAiUnVudGltZUVuYWJsZWRG
ZWF0dXJlcy5oIgogI2luY2x1ZGUgIlNWR0VsZW1lbnQuaCIKICNpbmNsdWRlICJTY29wZWRFdmVu
dFF1ZXVlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RGlzYWxsb3dlZFNjb3BlLmgiCisjaW5jbHVkZSAi
U2V0dGluZ3MuaCIKICNpbmNsdWRlICJTdG9yYWdlRXZlbnQuaCIKICNpbmNsdWRlICJTdHlsZVJl
c29sdmVyLmgiCiAjaW5jbHVkZSAiU3R5bGVTaGVldENvbnRlbnRzLmgiCkBAIC0yNDIyLDcgKzI0
MjIsNyBAQCB2b2lkIE5vZGU6OmRpc3BhdGNoRE9NQWN0aXZhdGVFdmVudChFdmVuCiAKIGJvb2wg
Tm9kZTo6ZGlzcGF0Y2hCZWZvcmVMb2FkRXZlbnQoY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpCiB7
Ci0gICAgaWYgKCFSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmxlZ2Fj
eUJlZm9yZUxvYWRFdmVudEVuYWJsZWQoKSkKKyAgICBpZiAoIWRvY3VtZW50KCkuc2V0dGluZ3Mo
KS5sZWdhY3lCZWZvcmVMb2FkRXZlbnRFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwog
CiAgICAgaWYgKCFkb2N1bWVudCgpLmhhc0xpc3RlbmVyVHlwZShEb2N1bWVudDo6QkVGT1JFTE9B
RF9MSVNURU5FUikpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vU3RhdGljUmFuZ2UuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9TdGF0aWNSYW5nZS5pZGwJKHJldmlzaW9u
IDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9TdGF0aWNSYW5nZS5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTI0LDcgKzI0LDcgQEAKICAqLwogCiBbCi0gICAgRW5hYmxlZEF0UnVudGltZT1J
bnB1dEV2ZW50cywKKyAgICBFbmFibGVkQnlTZXR0aW5nPUlucHV0RXZlbnRzLAogICAgIEltcGxl
bWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRXhwb3NlZD1XaW5kb3csCiBdIGludGVyZmFjZSBT
dGF0aWNSYW5nZSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCShyZXZpc2lvbiAy
NjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTE4MjEsNyArMTgyMSw3IEBAIHZvaWQgRWRpdG9yOjpyZWRvKCkKIAogdm9pZCBFZGl0
b3I6OnJlZ2lzdGVyQ3VzdG9tVW5kb1N0ZXAoUmVmPEN1c3RvbVVuZG9TdGVwPiYmIHVuZG9TdGVw
KQogewotICAgIEFTU0VSVChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygp
LnVuZG9NYW5hZ2VyQVBJRW5hYmxlZCgpKTsKKyAgICBBU1NFUlQobV9kb2N1bWVudC5zZXR0aW5n
cygpLnVuZG9NYW5hZ2VyQVBJRW5hYmxlZCgpKTsKICAgICBpZiAoYXV0byogY2xpZW50ID0gdGhp
cy0+Y2xpZW50KCkpCiAgICAgICAgIGNsaWVudC0+cmVnaXN0ZXJVbmRvU3RlcChXVEZNb3ZlKHVu
ZG9TdGVwKSk7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50
LmNwcAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9y
RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4NCw3ICszODQsNyBAQCB2b2lkIEhUTUxB
bmNob3JFbGVtZW50OjpzZW5kUGluZ3MoY29uc3QgCiAjaWYgVVNFKFNZU1RFTV9QUkVWSUVXKQog
Ym9vbCBIVE1MQW5jaG9yRWxlbWVudDo6aXNTeXN0ZW1QcmV2aWV3TGluaygpCiB7Ci0gICAgaWYg
KCFSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnN5c3RlbVByZXZpZXdF
bmFibGVkKCkpCisgICAgaWYgKCFkb2N1bWVudCgpLnNldHRpbmdzKCkuc3lzdGVtUHJldmlld0Vu
YWJsZWQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgc3RhdGljIE1haW5UaHJlYWRO
ZXZlckRlc3Ryb3llZDxjb25zdCBBdG9tU3RyaW5nPiBzeXN0ZW1QcmV2aWV3UmVsVmFsdWUoImFy
IiwgQXRvbVN0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOwpAQCAtNDEyLDcgKzQxMiw3IEBA
IE9wdGlvbmFsPEFkQ2xpY2tBdHRyaWJ1dGlvbj4gSFRNTEFuY2hvckUKIAogICAgIGF1dG8qIHBh
Z2UgPSBkb2N1bWVudCgpLnBhZ2UoKTsKICAgICBpZiAoIXBhZ2UgfHwgcGFnZS0+c2Vzc2lvbklE
KCkuaXNFcGhlbWVyYWwoKQotICAgICAgICB8fCAhUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5hZENsaWNrQXR0cmlidXRpb25FbmFibGVkKCkKKyAgICAgICAgfHwgIWRv
Y3VtZW50KCkuc2V0dGluZ3MoKS5hZENsaWNrQXR0cmlidXRpb25FbmFibGVkKCkKICAgICAgICAg
fHwgIVVzZXJHZXN0dXJlSW5kaWNhdG9yOjpwcm9jZXNzaW5nVXNlckdlc3R1cmUoKSkKICAgICAg
ICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIApAQCAtNDg2LDcgKzQ4Niw3IEBAIHZvaWQgSFRNTEFu
Y2hvckVsZW1lbnQ6OmhhbmRsZUNsaWNrKEV2ZW4KIAogICAgIFN0cmluZyBkb3dubG9hZEF0dHJp
YnV0ZTsKICNpZiBFTkFCTEUoRE9XTkxPQURfQVRUUklCVVRFKQotICAgIGlmIChSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmRvd25sb2FkQXR0cmlidXRlRW5hYmxlZCgp
KSB7CisgICAgaWYgKGRvY3VtZW50KCkuc2V0dGluZ3MoKS5kb3dubG9hZEF0dHJpYnV0ZUVuYWJs
ZWQoKSkgewogICAgICAgICAvLyBJZ25vcmUgdGhlIGRvd25sb2FkIGF0dHJpYnV0ZSBjb21wbGV0
ZWx5IGlmIHRoZSBocmVmIFVSTCBpcyBjcm9zcyBvcmlnaW4uCiAgICAgICAgIGJvb2wgaXNTYW1l
T3JpZ2luID0gY29tcGxldGVkVVJMLnByb3RvY29sSXNEYXRhKCkgfHwgZG9jdW1lbnQoKS5zZWN1
cml0eU9yaWdpbigpLmNhblJlcXVlc3QoY29tcGxldGVkVVJMKTsKICAgICAgICAgaWYgKGlzU2Ft
ZU9yaWdpbikKQEAgLTQ5OCw3ICs0OTgsNyBAQCB2b2lkIEhUTUxBbmNob3JFbGVtZW50OjpoYW5k
bGVDbGljayhFdmVuCiAKICAgICBTeXN0ZW1QcmV2aWV3SW5mbyBzeXN0ZW1QcmV2aWV3SW5mbzsK
ICNpZiBVU0UoU1lTVEVNX1BSRVZJRVcpCi0gICAgc3lzdGVtUHJldmlld0luZm8uaXNQcmV2aWV3
ID0gaXNTeXN0ZW1QcmV2aWV3TGluaygpICYmIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJl
ZEZlYXR1cmVzKCkuc3lzdGVtUHJldmlld0VuYWJsZWQoKTsKKyAgICBzeXN0ZW1QcmV2aWV3SW5m
by5pc1ByZXZpZXcgPSBpc1N5c3RlbVByZXZpZXdMaW5rKCkgJiYgZG9jdW1lbnQoKS5zZXR0aW5n
cygpLnN5c3RlbVByZXZpZXdFbmFibGVkKCk7CiAKICAgICBpZiAoc3lzdGVtUHJldmlld0luZm8u
aXNQcmV2aWV3KSB7CiAgICAgICAgIHN5c3RlbVByZXZpZXdJbmZvLmVsZW1lbnQuZWxlbWVudElk
ZW50aWZpZXIgPSBkb2N1bWVudCgpLmlkZW50aWZpZXJGb3JFbGVtZW50KCp0aGlzKTsKQEAgLTUx
NSw3ICs1MTUsNyBAQCB2b2lkIEhUTUxBbmNob3JFbGVtZW50OjpoYW5kbGVDbGljayhFdmVuCiAg
ICAgT3B0aW9uYWw8TmV3RnJhbWVPcGVuZXJQb2xpY3k+IG5ld0ZyYW1lT3BlbmVyUG9saWN5Owog
ICAgIGlmIChoYXNSZWwoUmVsYXRpb246Ok9wZW5lcikpCiAgICAgICAgIG5ld0ZyYW1lT3BlbmVy
UG9saWN5ID0gTmV3RnJhbWVPcGVuZXJQb2xpY3k6OkFsbG93OwotICAgIGVsc2UgaWYgKGhhc1Jl
bChSZWxhdGlvbjo6Tm9PcGVuZXIpIHx8IChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRG
ZWF0dXJlcygpLmJsYW5rQW5jaG9yVGFyZ2V0SW1wbGllc05vT3BlbmVyRW5hYmxlZCgpICYmIGVx
dWFsSWdub3JpbmdBU0NJSUNhc2UoZWZmZWN0aXZlVGFyZ2V0LCAiX2JsYW5rIikpKQorICAgIGVs
c2UgaWYgKGhhc1JlbChSZWxhdGlvbjo6Tm9PcGVuZXIpIHx8IChkb2N1bWVudCgpLnNldHRpbmdz
KCkuYmxhbmtBbmNob3JUYXJnZXRJbXBsaWVzTm9PcGVuZXJFbmFibGVkKCkgJiYgZXF1YWxJZ25v
cmluZ0FTQ0lJQ2FzZShlZmZlY3RpdmVUYXJnZXQsICJfYmxhbmsiKSkpCiAgICAgICAgIG5ld0Zy
YW1lT3BlbmVyUG9saWN5ID0gTmV3RnJhbWVPcGVuZXJQb2xpY3k6OlN1cHByZXNzOwogCiAgICAg
YXV0byBhZENsaWNrQXR0cmlidXRpb24gPSBwYXJzZUFkQ2xpY2tBdHRyaWJ1dGlvbigpOwpAQCAt
NjMxLDcgKzYzMSw3IEBAIFN0cmluZyBIVE1MQW5jaG9yRWxlbWVudDo6cmVmZXJyZXJQb2xpY3kK
IAogUmVmZXJyZXJQb2xpY3kgSFRNTEFuY2hvckVsZW1lbnQ6OnJlZmVycmVyUG9saWN5KCkgY29u
c3QKIHsKLSAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5y
ZWZlcnJlclBvbGljeUF0dHJpYnV0ZUVuYWJsZWQoKSkKKyAgICBpZiAoZG9jdW1lbnQoKS5zZXR0
aW5ncygpLnJlZmVycmVyUG9saWN5QXR0cmlidXRlRW5hYmxlZCgpKQogICAgICAgICByZXR1cm4g
cGFyc2VSZWZlcnJlclBvbGljeShhdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKHJlZmVy
cmVycG9saWN5QXR0ciksIFJlZmVycmVyUG9saWN5U291cmNlOjpSZWZlcnJlclBvbGljeUF0dHJp
YnV0ZSkudmFsdWVPcihSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmcpOwogICAgIHJldHVybiBS
ZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmc7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxBbmNob3JFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxBbmNob3JFbGVtZW50LmlkbAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTE5LDExICsx
OSwxMSBAQAogICovCiAKIGludGVyZmFjZSBIVE1MQW5jaG9yRWxlbWVudCA6IEhUTUxFbGVtZW50
IHsKLSAgICBbQ0VSZWFjdGlvbnM9Tm90TmVlZGVkLCBFbmFibGVkQXRSdW50aW1lPUFkQ2xpY2tB
dHRyaWJ1dGlvbiwgUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBhZGNhbXBhaWduaWQ7Ci0g
ICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRlZCwgRW5hYmxlZEF0UnVudGltZT1BZENsaWNrQXR0cmli
dXRpb24sIFJlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgYWRkZXN0aW5hdGlvbjsKKyAgICBb
Q0VSZWFjdGlvbnM9Tm90TmVlZGVkLCBFbmFibGVkQnlTZXR0aW5nPUFkQ2xpY2tBdHRyaWJ1dGlv
biwgUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBhZGNhbXBhaWduaWQ7CisgICAgW0NFUmVh
Y3Rpb25zPU5vdE5lZWRlZCwgRW5hYmxlZEJ5U2V0dGluZz1BZENsaWNrQXR0cmlidXRpb24sIFJl
ZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgYWRkZXN0aW5hdGlvbjsKICAgICBbQ0VSZWFjdGlv
bnM9Tm90TmVlZGVkLCBSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGNoYXJzZXQ7CiAgICAg
W0NFUmVhY3Rpb25zPU5vdE5lZWRlZCwgUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBjb29y
ZHM7Ci0gICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRlZCwgQ29uZGl0aW9uYWw9RE9XTkxPQURfQVRU
UklCVVRFLCBFbmFibGVkQXRSdW50aW1lPURvd25sb2FkQXR0cmlidXRlLCBSZWZsZWN0XSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIGRvd25sb2FkOworICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWQsIENv
bmRpdGlvbmFsPURPV05MT0FEX0FUVFJJQlVURSwgRW5hYmxlZEJ5U2V0dGluZz1Eb3dubG9hZEF0
dHJpYnV0ZSwgUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBkb3dubG9hZDsKICAgICBbQ0VS
ZWFjdGlvbnM9Tm90TmVlZGVkLCBSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGhyZWZsYW5n
OwogICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWQsIFJlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJp
bmcgbmFtZTsKICAgICBbQ0VSZWFjdGlvbnM9Tm90TmVlZGVkLCBSZWZsZWN0XSBhdHRyaWJ1dGUg
VVNWU3RyaW5nIHBpbmc7CkBAIC0zNyw3ICszNyw3IEBAIGludGVyZmFjZSBIVE1MQW5jaG9yRWxl
bWVudCA6IEhUTUxFbGVtZW4KIAogICAgIFtQdXRGb3J3YXJkcz12YWx1ZV0gcmVhZG9ubHkgYXR0
cmlidXRlIERPTVRva2VuTGlzdCByZWxMaXN0OwogCi0gICAgW0VuYWJsZWRBdFJ1bnRpbWU9UmVm
ZXJyZXJQb2xpY3lBdHRyaWJ1dGUsIEltcGxlbWVudGVkQXM9cmVmZXJyZXJQb2xpY3lGb3JCaW5k
aW5ncywgQ0VSZWFjdGlvbnM9Tm90TmVlZGVkXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlZmVycmVy
UG9saWN5OworICAgIFtFbmFibGVkQnlTZXR0aW5nPVJlZmVycmVyUG9saWN5QXR0cmlidXRlLCBJ
bXBsZW1lbnRlZEFzPXJlZmVycmVyUG9saWN5Rm9yQmluZGluZ3MsIENFUmVhY3Rpb25zPU5vdE5l
ZWRlZF0gYXR0cmlidXRlIERPTVN0cmluZyByZWZlcnJlclBvbGljeTsKIH07CiAKIEhUTUxBbmNo
b3JFbGVtZW50IGltcGxlbWVudHMgSFRNTEh5cGVybGlua0VsZW1lbnRVdGlsczsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFyZWFFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxBcmVhRWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjMxMikKKysr
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFyZWFFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMjcsNyArMjcsNyBAQCBpbnRlcmZhY2UgSFRNTEFyZWFFbGVtZW50IDogSFRNTEVsZW1lbnQg
CiAgICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRlZCwgUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmlu
ZyBzaGFwZTsKICAgICBbQ0VSZWFjdGlvbnM9Tm90TmVlZGVkLCBSZWZsZWN0XSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIHRhcmdldDsKIAotICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWQsIENvbmRpdGlv
bmFsPURPV05MT0FEX0FUVFJJQlVURSwgRW5hYmxlZEF0UnVudGltZT1Eb3dubG9hZEF0dHJpYnV0
ZSwgUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBkb3dubG9hZDsKKyAgICBbQ0VSZWFjdGlv
bnM9Tm90TmVlZGVkLCBDb25kaXRpb25hbD1ET1dOTE9BRF9BVFRSSUJVVEUsIEVuYWJsZWRCeVNl
dHRpbmc9RG93bmxvYWRBdHRyaWJ1dGUsIFJlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgZG93
bmxvYWQ7CiAKICAgICBbUHV0Rm9yd2FyZHM9dmFsdWVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01U
b2tlbkxpc3QgcmVsTGlzdDsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCdXR0
b25FbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCdXR0
b25FbGVtZW50LmlkbAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MQnV0dG9uRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM3LDcgKzM3LDcgQEAgaW50
ZXJmYWNlIEhUTUxCdXR0b25FbGVtZW50IDogSFRNTEVsZW1lbgogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBWYWxpZGl0eVN0YXRlIHZhbGlkaXR5OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01T
dHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2U7CiAgICAgYm9vbGVhbiBjaGVja1ZhbGlkaXR5KCk7Ci0g
ICAgW0VuYWJsZWRBdFJ1bnRpbWU9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0gYm9vbGVhbiBy
ZXBvcnRWYWxpZGl0eSgpOworICAgIFtFbmFibGVkQnlTZXR0aW5nPUludGVyYWN0aXZlRm9ybVZh
bGlkYXRpb25dIGJvb2xlYW4gcmVwb3J0VmFsaWRpdHkoKTsKICAgICB1bmRlZmluZWQgc2V0Q3Vz
dG9tVmFsaWRpdHkoRE9NU3RyaW5nIGVycm9yKTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBO
b2RlTGlzdCBsYWJlbHM7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGaWVsZFNldEVs
ZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZpZWxkU2V0
RWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEZpZWxkU2V0RWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDYgQEAgaW50
ZXJmYWNlIEhUTUxGaWVsZFNldEVsZW1lbnQgOiBIVE1MRWxlbQogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBWYWxpZGl0eVN0YXRlICAgdmFsaWRpdHk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERP
TVN0cmluZyAgICAgICB2YWxpZGF0aW9uTWVzc2FnZTsKICAgICBib29sZWFuICBjaGVja1ZhbGlk
aXR5KCk7Ci0gICAgW0VuYWJsZWRBdFJ1bnRpbWU9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0g
Ym9vbGVhbiByZXBvcnRWYWxpZGl0eSgpOworICAgIFtFbmFibGVkQnlTZXR0aW5nPUludGVyYWN0
aXZlRm9ybVZhbGlkYXRpb25dIGJvb2xlYW4gcmVwb3J0VmFsaWRpdHkoKTsKICAgICB1bmRlZmlu
ZWQgc2V0Q3VzdG9tVmFsaWRpdHkoRE9NU3RyaW5nIGVycm9yKTsKIH07CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQx
LDUgKzQxLDUgQEAKICAgICBbSW1wbGVtZW50ZWRBcz1zdWJtaXRGcm9tSmF2YVNjcmlwdF0gdW5k
ZWZpbmVkIHN1Ym1pdCgpOwogICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWRdIHVuZGVmaW5lZCBy
ZXNldCgpOwogICAgIGJvb2xlYW4gY2hlY2tWYWxpZGl0eSgpOwotICAgIFtFbmFibGVkQXRSdW50
aW1lPUludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25dIGJvb2xlYW4gcmVwb3J0VmFsaWRpdHkoKTsK
KyAgICBbRW5hYmxlZEJ5U2V0dGluZz1JbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uXSBib29sZWFu
IHJlcG9ydFZhbGlkaXR5KCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZy
YW1lRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZy
YW1lRWxlbWVudC5jcHAJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTElGcmFtZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw4ICszMCw4IEBACiAj
aW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJSZW5k
ZXJJRnJhbWUuaCIKLSNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCiAjaW5jbHVk
ZSAiU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyLmgiCisjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNp
bmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC0xMzAsNyArMTMwLDcgQEAgU3RyaW5nIEhUTUxJRnJhbWVFbGVtZW50OjpyZWZlcnJlclBvbGlj
eQogCiBSZWZlcnJlclBvbGljeSBIVE1MSUZyYW1lRWxlbWVudDo6cmVmZXJyZXJQb2xpY3koKSBj
b25zdAogewotICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygp
LnJlZmVycmVyUG9saWN5QXR0cmlidXRlRW5hYmxlZCgpKQorICAgIGlmIChkb2N1bWVudCgpLnNl
dHRpbmdzKCkucmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGVFbmFibGVkKCkpCiAgICAgICAgIHJldHVy
biBwYXJzZVJlZmVycmVyUG9saWN5KGF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24ocmVm
ZXJyZXJwb2xpY3lBdHRyKSwgUmVmZXJyZXJQb2xpY3lTb3VyY2U6OlJlZmVycmVyUG9saWN5QXR0
cmlidXRlKS52YWx1ZU9yKFJlZmVycmVyUG9saWN5OjpFbXB0eVN0cmluZyk7CiAgICAgcmV0dXJu
IFJlZmVycmVyUG9saWN5OjpFbXB0eVN0cmluZzsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTElGcmFtZUVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTElGcmFtZUVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDIsNSAr
NDIsNSBAQCBpbnRlcmZhY2UgSFRNTElGcmFtZUVsZW1lbnQgOiBIVE1MRWxlbWVuCiAKICAgICBb
Q2hlY2tTZWN1cml0eUZvck5vZGUsIE1heVRocm93RXhjZXB0aW9uXSBEb2N1bWVudCBnZXRTVkdE
b2N1bWVudCgpOwogCi0gICAgW0VuYWJsZWRBdFJ1bnRpbWU9UmVmZXJyZXJQb2xpY3lBdHRyaWJ1
dGUsIEltcGxlbWVudGVkQXM9cmVmZXJyZXJQb2xpY3lGb3JCaW5kaW5ncywgQ0VSZWFjdGlvbnM9
Tm90TmVlZGVkXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlZmVycmVyUG9saWN5OworICAgIFtFbmFi
bGVkQnlTZXR0aW5nPVJlZmVycmVyUG9saWN5QXR0cmlidXRlLCBJbXBsZW1lbnRlZEFzPXJlZmVy
cmVyUG9saWN5Rm9yQmluZGluZ3MsIENFUmVhY3Rpb25zPU5vdE5lZWRlZF0gYXR0cmlidXRlIERP
TVN0cmluZyByZWZlcnJlclBvbGljeTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxJbWFnZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEltYWdlRWxlbWVudC5jcHAJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEltYWdlRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1MSw3ICsyNTEsNyBA
QCB2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQoCiB7CiAgICAgSFRNTEVs
ZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQobmFtZSwgb2xkVmFsdWUsIG5ld1ZhbHVlLCByZWFzb24p
OwogCi0gICAgaWYgKG5hbWUgPT0gcmVmZXJyZXJwb2xpY3lBdHRyICYmIFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkucmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGVFbmFibGVk
KCkpIHsKKyAgICBpZiAobmFtZSA9PSByZWZlcnJlcnBvbGljeUF0dHIgJiYgZG9jdW1lbnQoKS5z
ZXR0aW5ncygpLnJlZmVycmVyUG9saWN5QXR0cmlidXRlRW5hYmxlZCgpKSB7CiAgICAgICAgIGF1
dG8gb2xkUmVmZXJyZXJQb2xpY3kgPSBwYXJzZVJlZmVycmVyUG9saWN5KG9sZFZhbHVlLCBSZWZl
cnJlclBvbGljeVNvdXJjZTo6UmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGUpLnZhbHVlT3IoUmVmZXJy
ZXJQb2xpY3k6OkVtcHR5U3RyaW5nKTsKICAgICAgICAgYXV0byBuZXdSZWZlcnJlclBvbGljeSA9
IHBhcnNlUmVmZXJyZXJQb2xpY3kobmV3VmFsdWUsIFJlZmVycmVyUG9saWN5U291cmNlOjpSZWZl
cnJlclBvbGljeUF0dHJpYnV0ZSkudmFsdWVPcihSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmcp
OwogICAgICAgICBpZiAob2xkUmVmZXJyZXJQb2xpY3kgIT0gbmV3UmVmZXJyZXJQb2xpY3kpCkBA
IC04ODIsNyArODgyLDcgQEAgYm9vbCBIVE1MSW1hZ2VFbGVtZW50Ojp3aWxsUmVzcG9uZFRvTW91
cwogI2lmIFVTRShTWVNURU1fUFJFVklFVykKIGJvb2wgSFRNTEltYWdlRWxlbWVudDo6aXNTeXN0
ZW1QcmV2aWV3SW1hZ2UoKSBjb25zdAogewotICAgIGlmICghUnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2hhcmVkRmVhdHVyZXMoKS5zeXN0ZW1QcmV2aWV3RW5hYmxlZCgpKQorICAgIGlmICghZG9j
dW1lbnQoKS5zZXR0aW5ncygpLnN5c3RlbVByZXZpZXdFbmFibGVkKCkpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKIAogICAgIGF1dG8qIHBhcmVudCA9IHBhcmVudEVsZW1lbnQoKTsKQEAgLTk3MSw3
ICs5NzEsNyBAQCBTdHJpbmcgSFRNTEltYWdlRWxlbWVudDo6cmVmZXJyZXJQb2xpY3lGCiAKIFJl
ZmVycmVyUG9saWN5IEhUTUxJbWFnZUVsZW1lbnQ6OnJlZmVycmVyUG9saWN5KCkgY29uc3QKIHsK
LSAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5yZWZlcnJl
clBvbGljeUF0dHJpYnV0ZUVuYWJsZWQoKSkKKyAgICBpZiAoZG9jdW1lbnQoKS5zZXR0aW5ncygp
LnJlZmVycmVyUG9saWN5QXR0cmlidXRlRW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gcGFyc2VS
ZWZlcnJlclBvbGljeShhdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKHJlZmVycmVycG9s
aWN5QXR0ciksIFJlZmVycmVyUG9saWN5U291cmNlOjpSZWZlcnJlclBvbGljeUF0dHJpYnV0ZSku
dmFsdWVPcihSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmcpOwogICAgIHJldHVybiBSZWZlcnJl
clBvbGljeTo6RW1wdHlTdHJpbmc7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJ
bWFnZUVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElt
YWdlRWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEltYWdlRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDggKzQ0LDggQEAKIAog
ICAgIFtDb25kaXRpb25hbD1BVFRBQ0hNRU5UX0VMRU1FTlQsIEVuYWJsZWRBdFJ1bnRpbWU9QXR0
YWNobWVudEVsZW1lbnRdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgYXR0YWNobWVudElk
ZW50aWZpZXI7CiAKLSAgICBbRW5hYmxlZEF0UnVudGltZT1SZWZlcnJlclBvbGljeUF0dHJpYnV0
ZSwgSW1wbGVtZW50ZWRBcz1yZWZlcnJlclBvbGljeUZvckJpbmRpbmdzLCBDRVJlYWN0aW9ucz1O
b3ROZWVkZWRdIGF0dHJpYnV0ZSBET01TdHJpbmcgcmVmZXJyZXJQb2xpY3k7Ci0gICAgW0NFUmVh
Y3Rpb25zLCBFbmFibGVkQXRSdW50aW1lPUxhenlJbWFnZUxvYWRpbmcsIEltcGxlbWVudGVkQXM9
bG9hZGluZ0ZvckJpbmRpbmdzXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGxvYWRpbmc7CisgICAgW0Vu
YWJsZWRCeVNldHRpbmc9UmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGUsIEltcGxlbWVudGVkQXM9cmVm
ZXJyZXJQb2xpY3lGb3JCaW5kaW5ncywgQ0VSZWFjdGlvbnM9Tm90TmVlZGVkXSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIHJlZmVycmVyUG9saWN5OworICAgIFtDRVJlYWN0aW9ucywgRW5hYmxlZEJ5U2V0
dGluZz1MYXp5SW1hZ2VMb2FkaW5nLCBJbXBsZW1lbnRlZEFzPWxvYWRpbmdGb3JCaW5kaW5nc10g
YXR0cmlidXRlIERPTVN0cmluZyBsb2FkaW5nOwogCiAgICAgLy8gRXh0ZW5zaW9ucwogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGNvbXBsZXRlOwpJbmRleDogU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC03MSw3ICs3
MSw3IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFZhbGlkaXR5U3RhdGUgdmFsaWRpdHk7CiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZTsKICAgICBi
b29sZWFuIGNoZWNrVmFsaWRpdHkoKTsKLSAgICBbRW5hYmxlZEF0UnVudGltZT1JbnRlcmFjdGl2
ZUZvcm1WYWxpZGF0aW9uXSBib29sZWFuIHJlcG9ydFZhbGlkaXR5KCk7CisgICAgW0VuYWJsZWRC
eVNldHRpbmc9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0gYm9vbGVhbiByZXBvcnRWYWxpZGl0
eSgpOwogICAgIHVuZGVmaW5lZCBzZXRDdXN0b21WYWxpZGl0eShET01TdHJpbmcgZXJyb3IpOwog
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5vZGVMaXN0IGxhYmVsczsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEtleWdlbkVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEtleWdlbkVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxLZXlnZW5FbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpA
QCAtNDMsNyArNDMsNyBAQCBpbnRlcmZhY2UgSFRNTEtleWdlbkVsZW1lbnQgOiBIVE1MRWxlbWVu
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFZhbGlkaXR5U3RhdGUgdmFsaWRpdHk7CiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZTsKICAgICBib29sZWFu
IGNoZWNrVmFsaWRpdHkoKTsKLSAgICBbRW5hYmxlZEF0UnVudGltZT1JbnRlcmFjdGl2ZUZvcm1W
YWxpZGF0aW9uXSBib29sZWFuIHJlcG9ydFZhbGlkaXR5KCk7CisgICAgW0VuYWJsZWRCeVNldHRp
bmc9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0gYm9vbGVhbiByZXBvcnRWYWxpZGl0eSgpOwog
ICAgIHVuZGVmaW5lZCBzZXRDdXN0b21WYWxpZGl0eShET01TdHJpbmcgZXJyb3IpOwogCiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIE5vZGVMaXN0IGxhYmVsczsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTExpbmtFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxMaW5rRWxlbWVudC5jcHAJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTIsNyArNTIs
NiBAQAogI2luY2x1ZGUgIk1vdXNlRXZlbnQuaCIKICNpbmNsdWRlICJQYXJzZWRDb250ZW50VHlw
ZS5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCi0jaW5jbHVkZSAiUnVudGltZUVuYWJsZWRG
ZWF0dXJlcy5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2V0dGlu
Z3MuaCIKICNpbmNsdWRlICJTdHlsZUluaGVyaXRlZERhdGEuaCIKQEAgLTI0MSw5ICsyNDAsNyBA
QCBTdHJpbmcgSFRNTExpbmtFbGVtZW50OjphcygpIGNvbnN0CiAgICAgICAgIHx8IGVxdWFsTGV0
dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGFzLCAiaW1hZ2UiKQogICAgICAgICB8fCBlcXVhbExldHRl
cnNJZ25vcmluZ0FTQ0lJQ2FzZShhcywgInNjcmlwdCIpCiAgICAgICAgIHx8IGVxdWFsTGV0dGVy
c0lnbm9yaW5nQVNDSUlDYXNlKGFzLCAic3R5bGUiKQotICAgICAgICB8fCAoUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5tZWRpYVByZWxvYWRpbmdFbmFibGVkKCkKLSAg
ICAgICAgICAgICYmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShhcywgInZpZGVvIikK
LSAgICAgICAgICAgICAgICB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShhcywgImF1
ZGlvIikpKQorICAgICAgICB8fCAoZG9jdW1lbnQoKS5zZXR0aW5ncygpLm1lZGlhUHJlbG9hZGlu
Z0VuYWJsZWQoKSAmJiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoYXMsICJ2aWRlbyIp
IHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGFzLCAiYXVkaW8iKSkpCiAgICAgICAg
IHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGFzLCAidHJhY2siKQogICAgICAgICB8
fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShhcywgImZvbnQiKSkKICAgICAgICAgcmV0
dXJuIGFzLmNvbnZlcnRUb0FTQ0lJTG93ZXJjYXNlKCk7CkBAIC02NzgsNyArNjc1LDcgQEAgU3Ry
aW5nIEhUTUxMaW5rRWxlbWVudDo6cmVmZXJyZXJQb2xpY3lGbwogCiBSZWZlcnJlclBvbGljeSBI
VE1MTGlua0VsZW1lbnQ6OnJlZmVycmVyUG9saWN5KCkgY29uc3QKIHsKLSAgICBpZiAoUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5yZWZlcnJlclBvbGljeUF0dHJpYnV0
ZUVuYWJsZWQoKSkKKyAgICBpZiAoZG9jdW1lbnQoKS5zZXR0aW5ncygpLnJlZmVycmVyUG9saWN5
QXR0cmlidXRlRW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gcGFyc2VSZWZlcnJlclBvbGljeShh
dHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKHJlZmVycmVycG9saWN5QXR0ciksIFJlZmVy
cmVyUG9saWN5U291cmNlOjpSZWZlcnJlclBvbGljeUF0dHJpYnV0ZSkudmFsdWVPcihSZWZlcnJl
clBvbGljeTo6RW1wdHlTdHJpbmcpOwogICAgIHJldHVybiBSZWZlcnJlclBvbGljeTo6RW1wdHlT
dHJpbmc7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuaWRsCShy
ZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTM1LDggKzM1LDggQEAKICAgICBbQ0VSZWFjdGlvbnM9Tm90
TmVlZGVkLCBSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHR5cGU7CiAgICAgW0NFUmVhY3Rp
b25zPU5vdE5lZWRlZF0gYXR0cmlidXRlIERPTVN0cmluZyBhczsKICAgICBbQ0VSZWFjdGlvbnM9
Tm90TmVlZGVkXSBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBjcm9zc09yaWdpbjsKLSAgICBbQ0VSZWFj
dGlvbnM9Tm90TmVlZGVkLCBSZWZsZWN0LCBFbmFibGVkQXRSdW50aW1lPUxpbmtQcmVsb2FkUmVz
cG9uc2l2ZUltYWdlc10gYXR0cmlidXRlIERPTVN0cmluZyBpbWFnZVNyY3NldDsKLSAgICBbQ0VS
ZWFjdGlvbnM9Tm90TmVlZGVkLCBSZWZsZWN0LCBFbmFibGVkQXRSdW50aW1lPUxpbmtQcmVsb2Fk
UmVzcG9uc2l2ZUltYWdlc10gYXR0cmlidXRlIERPTVN0cmluZyBpbWFnZVNpemVzOworICAgIFtD
RVJlYWN0aW9ucz1Ob3ROZWVkZWQsIFJlZmxlY3QsIEVuYWJsZWRCeVNldHRpbmc9TGlua1ByZWxv
YWRSZXNwb25zaXZlSW1hZ2VzXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGltYWdlU3Jjc2V0OworICAg
IFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWQsIFJlZmxlY3QsIEVuYWJsZWRCeVNldHRpbmc9TGlua1By
ZWxvYWRSZXNwb25zaXZlSW1hZ2VzXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGltYWdlU2l6ZXM7CiAK
ICAgICAvLyBET00gTGV2ZWwgMiBTdHlsZQogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTdHlsZVNo
ZWV0IHNoZWV0OwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3Bw
CShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDUxLDcgKzI0NTEsNyBAQCB2b2lkIEhUTUxNZWRp
YUVsZW1lbnQ6OnVwZGF0ZVNob3VsZENvbnRpCiB7CiAgICAgaWYgKCFtX3BsYXllcikKICAgICAg
ICAgcmV0dXJuOwotICAgIGJvb2wgc2hvdWxkQ29udGludWUgPSBoYXNFdmVudExpc3RlbmVycygi
d2Via2l0bmVlZGtleSIpIHx8IChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJl
cygpLmVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZCgpICYmICFkb2N1bWVudCgpLnF1aXJrcygpLmhh
c0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydFF1aXJrKCkpOworICAgIGJvb2wgc2hvdWxk
Q29udGludWUgPSBoYXNFdmVudExpc3RlbmVycygid2Via2l0bmVlZGtleSIpIHx8IChkb2N1bWVu
dCgpLnNldHRpbmdzKCkuZW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKCkgJiYgIWRvY3VtZW50KCku
cXVpcmtzKCkuaGFzQnJva2VuRW5jcnlwdGVkTWVkaWFBUElTdXBwb3J0UXVpcmsoKSk7CiAgICAg
bV9wbGF5ZXItPnNldFNob3VsZENvbnRpbnVlQWZ0ZXJLZXlOZWVkZWQoc2hvdWxkQ29udGludWUp
OwogfQogI2VuZGlmCkBAIC0yNDYzLDE0ICsyNDYzLDE0IEBAIFJlZlB0cjxBcnJheUJ1ZmZlcj4g
SFRNTE1lZGlhRWxlbWVudDo6bWUKIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXll
cktleU5lZWRlZChVaW50OEFycmF5KiBpbml0RGF0YSkKIHsKLSAgICBpZiAoIVJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkubGVnYWN5RW5jcnlwdGVkTWVkaWFBUElFbmFi
bGVkKCkpCisgICAgaWYgKCFkb2N1bWVudCgpLnNldHRpbmdzKCkubGVnYWN5RW5jcnlwdGVkTWVk
aWFBUElFbmFibGVkKCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmICghaGFzRXZlbnRMaXN0
ZW5lcnMoIndlYmtpdG5lZWRrZXkiKQogI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCiAgICAg
ICAgIC8vIE9ubHkgZmlyZSBhbiBlcnJvciBpZiBFTkNSWVBURURfTUVESUEgaXMgbm90IGVuYWJs
ZWQsIHRvIGdpdmUgY2xpZW50cyBvZiB0aGUKICAgICAgICAgLy8gImVuY3J5cHRlZCIgZXZlbnQg
YSBjaGFuY2UgdG8gaGFuZGxlIGl0IHdpdGhvdXQgcmVzdWx0aW5nIGluIGEgc3ludGhldGljIGVy
cm9yLgotICAgICAgICAmJiAoIVJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVz
KCkuZW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKCkgfHwgZG9jdW1lbnQoKS5xdWlya3MoKS5oYXNC
cm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnRRdWlyaygpKQorICAgICAgICAmJiAoIWRvY3Vt
ZW50KCkuc2V0dGluZ3MoKS5lbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQoKSB8fCBkb2N1bWVudCgp
LnF1aXJrcygpLmhhc0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydFF1aXJrKCkpCiAjZW5k
aWYKICAgICAgICAgKSB7CiAgICAgICAgIG1fZXJyb3IgPSBNZWRpYUVycm9yOjpjcmVhdGUoTWVk
aWFFcnJvcjo6TUVESUFfRVJSX0VOQ1JZUFRFRCk7CkBAIC0yNDk4LDcgKzI0OTgsNyBAQCBTdHJp
bmcgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJNZWRpCiAKIHZvaWQgSFRNTE1lZGlhRWxl
bWVudDo6d2Via2l0U2V0TWVkaWFLZXlzKFdlYktpdE1lZGlhS2V5cyogbWVkaWFLZXlzKQogewot
ICAgIGlmICghUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5sZWdhY3lF
bmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQoKSkKKyAgICBpZiAoIWRvY3VtZW50KCkuc2V0dGluZ3Mo
KS5sZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgaWYgKG1fd2ViS2l0TWVkaWFLZXlzID09IG1lZGlhS2V5cykKQEAgLTI1MTMsNyArMjUxMyw3
IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6d2Via2l0U2V0TWVkaWFLZXkKIAogdm9pZCBIVE1M
TWVkaWFFbGVtZW50OjprZXlBZGRlZCgpCiB7Ci0gICAgaWYgKCFSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzaGFyZWRGZWF0dXJlcygpLmxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZCgpKQor
ICAgIGlmICghZG9jdW1lbnQoKS5zZXR0aW5ncygpLmxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJRW5h
YmxlZCgpKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAobV9wbGF5ZXIpCkBAIC0yNjA0LDcg
KzI2MDQsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNldE1lZGlhS2V5cyhNZWRpCiAKIHZv
aWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJJbml0aWFsaXphdGlvbkRhdGFFbmNvdW50
ZXJlZChjb25zdCBTdHJpbmcmIGluaXREYXRhVHlwZSwgUmVmUHRyPEFycmF5QnVmZmVyPiYmIGlu
aXREYXRhKQogewotICAgIGlmICghUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVy
ZXMoKS5lbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQoKSB8fCBkb2N1bWVudCgpLnF1aXJrcygpLmhh
c0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydFF1aXJrKCkpCisgICAgaWYgKCFkb2N1bWVu
dCgpLnNldHRpbmdzKCkuZW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKCkgfHwgZG9jdW1lbnQoKS5x
dWlya3MoKS5oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnRRdWlyaygpKQogICAgICAg
ICByZXR1cm47CiAKICAgICAvLyBodHRwczovL3czYy5naXRodWIuaW8vZW5jcnlwdGVkLW1lZGlh
LyNpbml0ZGF0YS1lbmNvdW50ZXJlZApJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0xMDIsMTIgKzEwMiwxMiBAQCB0
eXBlZGVmICgKICAgICBbQ29uZGl0aW9uYWw9TUVESUFfU1RBVElTVElDU10gcmVhZG9ubHkgYXR0
cmlidXRlIHVuc2lnbmVkIGxvbmcgd2Via2l0QXVkaW9EZWNvZGVkQnl0ZUNvdW50OwogICAgIFtD
b25kaXRpb25hbD1NRURJQV9TVEFUSVNUSUNTXSByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQg
bG9uZyB3ZWJraXRWaWRlb0RlY29kZWRCeXRlQ291bnQ7CiAKLSAgICBbQ29uZGl0aW9uYWw9TEVH
QUNZX0VOQ1JZUFRFRF9NRURJQSwgRW5hYmxlZEF0UnVudGltZT1MZWdhY3lFbmNyeXB0ZWRNZWRp
YUFQSV0gcmVhZG9ubHkgYXR0cmlidXRlIFdlYktpdE1lZGlhS2V5cyB3ZWJraXRLZXlzOwotICAg
IFtDb25kaXRpb25hbD1MRUdBQ1lfRU5DUllQVEVEX01FRElBLCBFbmFibGVkQXRSdW50aW1lPUxl
Z2FjeUVuY3J5cHRlZE1lZGlhQVBJXSB1bmRlZmluZWQgd2Via2l0U2V0TWVkaWFLZXlzKFdlYktp
dE1lZGlhS2V5cz8gbWVkaWFLZXlzKTsKLSAgICBbQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElB
LCBFbmFibGVkQXRSdW50aW1lPUVuY3J5cHRlZE1lZGlhQVBJLCBEaXNhYmxlZEJ5UXVpcms9aGFz
QnJva2VuRW5jcnlwdGVkTWVkaWFBUElTdXBwb3J0XSByZWFkb25seSBhdHRyaWJ1dGUgTWVkaWFL
ZXlzIG1lZGlhS2V5czsKLSAgICBbQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBLCBFbmFibGVk
QXRSdW50aW1lPUVuY3J5cHRlZE1lZGlhQVBJLCBEaXNhYmxlZEJ5UXVpcms9aGFzQnJva2VuRW5j
cnlwdGVkTWVkaWFBUElTdXBwb3J0XSBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uZW5jcnlwdGVk
OwotICAgIFtDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEsIEVuYWJsZWRBdFJ1bnRpbWU9RW5j
cnlwdGVkTWVkaWFBUEksIERpc2FibGVkQnlRdWlyaz1oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQ
SVN1cHBvcnRdIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb253YWl0aW5nZm9ya2V5OwotICAgIFtD
b25kaXRpb25hbD1FTkNSWVBURURfTUVESUEsIEVuYWJsZWRBdFJ1bnRpbWU9RW5jcnlwdGVkTWVk
aWFBUEksIERpc2FibGVkQnlRdWlyaz1oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnRd
IFByb21pc2U8dW5kZWZpbmVkPiBzZXRNZWRpYUtleXMoTWVkaWFLZXlzPyBtZWRpYUtleXMpOwor
ICAgIFtDb25kaXRpb25hbD1MRUdBQ1lfRU5DUllQVEVEX01FRElBLCBFbmFibGVkQnlTZXR0aW5n
PUxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJXSByZWFkb25seSBhdHRyaWJ1dGUgV2ViS2l0TWVkaWFL
ZXlzIHdlYmtpdEtleXM7CisgICAgW0NvbmRpdGlvbmFsPUxFR0FDWV9FTkNSWVBURURfTUVESUEs
IEVuYWJsZWRCeVNldHRpbmc9TGVnYWN5RW5jcnlwdGVkTWVkaWFBUEldIHVuZGVmaW5lZCB3ZWJr
aXRTZXRNZWRpYUtleXMoV2ViS2l0TWVkaWFLZXlzPyBtZWRpYUtleXMpOworICAgIFtDb25kaXRp
b25hbD1FTkNSWVBURURfTUVESUEsIEVuYWJsZWRCeVNldHRpbmc9RW5jcnlwdGVkTWVkaWFBUEks
IERpc2FibGVkQnlRdWlyaz1oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnRdIHJlYWRv
bmx5IGF0dHJpYnV0ZSBNZWRpYUtleXMgbWVkaWFLZXlzOworICAgIFtDb25kaXRpb25hbD1FTkNS
WVBURURfTUVESUEsIEVuYWJsZWRCeVNldHRpbmc9RW5jcnlwdGVkTWVkaWFBUEksIERpc2FibGVk
QnlRdWlyaz1oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnRdIGF0dHJpYnV0ZSBFdmVu
dEhhbmRsZXIgb25lbmNyeXB0ZWQ7CisgICAgW0NvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwg
RW5hYmxlZEJ5U2V0dGluZz1FbmNyeXB0ZWRNZWRpYUFQSSwgRGlzYWJsZWRCeVF1aXJrPWhhc0Jy
b2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydF0gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbndh
aXRpbmdmb3JrZXk7CisgICAgW0NvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwgRW5hYmxlZEJ5
U2V0dGluZz1FbmNyeXB0ZWRNZWRpYUFQSSwgRGlzYWJsZWRCeVF1aXJrPWhhc0Jyb2tlbkVuY3J5
cHRlZE1lZGlhQVBJU3VwcG9ydF0gUHJvbWlzZTx1bmRlZmluZWQ+IHNldE1lZGlhS2V5cyhNZWRp
YUtleXM/IG1lZGlhS2V5cyk7CiAKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIFRleHRUcmFjayBh
ZGRUZXh0VHJhY2soRE9NU3RyaW5nIGtpbmQsIG9wdGlvbmFsIERPTVN0cmluZyBsYWJlbCA9ICIi
LCBvcHRpb25hbCBET01TdHJpbmcgbGFuZ3VhZ2UgPSAiIik7CiAgICAgW0ltcGxlbWVudGVkQXM9
ZW5zdXJlQXVkaW9UcmFja3NdIHJlYWRvbmx5IGF0dHJpYnV0ZSBBdWRpb1RyYWNrTGlzdCBhdWRp
b1RyYWNrczsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1ldGFFbGVtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZXRhRWxlbWVudC5jcHAJKHJl
dmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1ldGFFbGVtZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsNiBAQAogI2luY2x1ZGUgIkRvY3VtZW50Lmgi
CiAjaW5jbHVkZSAiSFRNTEhlYWRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCi0j
aW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxs
b2NJbmxpbmVzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTg5LDcgKzg4LDcgQEAgdm9p
ZCBIVE1MTWV0YUVsZW1lbnQ6OnByb2Nlc3MoKQogCiAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9y
aW5nQVNDSUlDYXNlKG5hbWUoKSwgInZpZXdwb3J0IikpCiAgICAgICAgIGRvY3VtZW50KCkucHJv
Y2Vzc1ZpZXdwb3J0KGNvbnRlbnRWYWx1ZSwgVmlld3BvcnRBcmd1bWVudHM6OlZpZXdwb3J0TWV0
YSk7Ci0gICAgZWxzZSBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMo
KS5kaXNhYmxlZEFkYXB0YXRpb25zTWV0YVRhZ0VuYWJsZWQoKSAmJiBlcXVhbExldHRlcnNJZ25v
cmluZ0FTQ0lJQ2FzZShuYW1lKCksICJkaXNhYmxlZC1hZGFwdGF0aW9ucyIpKQorICAgIGVsc2Ug
aWYgKGRvY3VtZW50KCkuc2V0dGluZ3MoKS5kaXNhYmxlZEFkYXB0YXRpb25zTWV0YVRhZ0VuYWJs
ZWQoKSAmJiBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShuYW1lKCksICJkaXNhYmxlZC1h
ZGFwdGF0aW9ucyIpKQogICAgICAgICBkb2N1bWVudCgpLnByb2Nlc3NEaXNhYmxlZEFkYXB0YXRp
b25zKGNvbnRlbnRWYWx1ZSk7CiAjaWYgRU5BQkxFKERBUktfTU9ERV9DU1MpCiAgICAgZWxzZSBp
ZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UobmFtZSgpLCAiY29sb3Itc2NoZW1lIikg
fHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UobmFtZSgpLCAic3VwcG9ydGVkLWNvbG9y
LXNjaGVtZXMiKSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQu
aWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RF
bGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDIsNyArNDIsNyBAQAogICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBWYWxpZGl0eVN0YXRlIHZhbGlkaXR5OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBET01TdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2U7CiAgICAgYm9vbGVhbiBjaGVja1ZhbGlkaXR5
KCk7Ci0gICAgW0VuYWJsZWRBdFJ1bnRpbWU9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0gYm9v
bGVhbiByZXBvcnRWYWxpZGl0eSgpOworICAgIFtFbmFibGVkQnlTZXR0aW5nPUludGVyYWN0aXZl
Rm9ybVZhbGlkYXRpb25dIGJvb2xlYW4gcmVwb3J0VmFsaWRpdHkoKTsKICAgICB1bmRlZmluZWQg
c2V0Q3VzdG9tVmFsaWRpdHkoRE9NU3RyaW5nIGVycm9yKTsKIAogICAgIFtDaGVja1NlY3VyaXR5
Rm9yTm9kZV0gcmVhZG9ubHkgYXR0cmlidXRlIERvY3VtZW50IGNvbnRlbnREb2N1bWVudDsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE91dHB1dEVsZW1lbnQuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE91dHB1dEVsZW1lbnQuaWRsCShyZXZpc2lvbiAy
NjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPdXRwdXRFbGVtZW50LmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBAQCBpbnRlcmZhY2UgSFRNTE91dHB1dEVsZW1lbnQg
OiBIVE1MRWxlbWVuCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFZhbGlkaXR5U3RhdGUgdmFsaWRp
dHk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZTsK
ICAgICBib29sZWFuIGNoZWNrVmFsaWRpdHkoKTsKLSAgICBbRW5hYmxlZEF0UnVudGltZT1JbnRl
cmFjdGl2ZUZvcm1WYWxpZGF0aW9uXSBib29sZWFuIHJlcG9ydFZhbGlkaXR5KCk7CisgICAgW0Vu
YWJsZWRCeVNldHRpbmc9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0gYm9vbGVhbiByZXBvcnRW
YWxpZGl0eSgpOwogICAgIHVuZGVmaW5lZCBzZXRDdXN0b21WYWxpZGl0eShET01TdHJpbmcgZXJy
b3IpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5vZGVMaXN0IGxhYmVsczsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBpY3R1cmVFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQaWN0dXJlRWxlbWVudC5jcHAJKHJldmlzaW9uIDI2NjMx
MikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBpY3R1cmVFbGVtZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUgIkhUTUxJbWFnZUVsZW1lbnQuaCIK
ICNpbmNsdWRlICJJbWFnZUxvYWRlci5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKLSNpbmNsdWRl
ICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCisjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNs
dWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC02
Nyw3ICs2Nyw3IEBAIHZvaWQgSFRNTFBpY3R1cmVFbGVtZW50Ojpzb3VyY2VzQ2hhbmdlZCgKICNp
ZiBVU0UoU1lTVEVNX1BSRVZJRVcpCiBib29sIEhUTUxQaWN0dXJlRWxlbWVudDo6aXNTeXN0ZW1Q
cmV2aWV3SW1hZ2UoKQogewotICAgIGlmICghUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS5zeXN0ZW1QcmV2aWV3RW5hYmxlZCgpKQorICAgIGlmICghZG9jdW1lbnQoKS5z
ZXR0aW5ncygpLnN5c3RlbVByZXZpZXdFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
IAogICAgIGF1dG8qIHBhcmVudCA9IHBhcmVudEVsZW1lbnQoKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFNjcmlwdEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFNjcmlwdEVsZW1lbnQuY3BwCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxTY3JpcHRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjgsNyArMjgsNyBAQAogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJIVE1MTmFt
ZXMuaCIKICNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCi0jaW5jbHVkZSAiUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5oIgorI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiVGV4dC5o
IgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CiAjaW5jbHVkZSA8d3RmL1JlZi5o
PgpAQCAtMTk3LDcgKzE5Nyw3IEBAIFN0cmluZyBIVE1MU2NyaXB0RWxlbWVudDo6cmVmZXJyZXJQ
b2xpY3kKIAogUmVmZXJyZXJQb2xpY3kgSFRNTFNjcmlwdEVsZW1lbnQ6OnJlZmVycmVyUG9saWN5
KCkgY29uc3QKIHsKLSAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVy
ZXMoKS5yZWZlcnJlclBvbGljeUF0dHJpYnV0ZUVuYWJsZWQoKSkKKyAgICBpZiAoZG9jdW1lbnQo
KS5zZXR0aW5ncygpLnJlZmVycmVyUG9saWN5QXR0cmlidXRlRW5hYmxlZCgpKQogICAgICAgICBy
ZXR1cm4gcGFyc2VSZWZlcnJlclBvbGljeShhdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9u
KHJlZmVycmVycG9saWN5QXR0ciksIFJlZmVycmVyUG9saWN5U291cmNlOjpSZWZlcnJlclBvbGlj
eUF0dHJpYnV0ZSkudmFsdWVPcihSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmcpOwogICAgIHJl
dHVybiBSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmc7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxTY3JpcHRFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxTY3JpcHRFbGVtZW50LmlkbAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MU2NyaXB0RWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMx
LDUgKzMxLDUgQEAgaW50ZXJmYWNlIEhUTUxTY3JpcHRFbGVtZW50IDogSFRNTEVsZW1lbgogICAg
IFtSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5vbmNlOwogICAgIFtDRVJlYWN0aW9ucz1O
b3ROZWVkZWQsIFJlZmxlY3RdIGF0dHJpYnV0ZSBib29sZWFuIG5vTW9kdWxlOwogICAgIFtDRVJl
YWN0aW9ucz1Ob3ROZWVkZWQsIFJlZmxlY3QsIEVuYWJsZWRCeVNldHRpbmc9U3VicmVzb3VyY2VJ
bnRlZ3JpdHldIGF0dHJpYnV0ZSBET01TdHJpbmcgaW50ZWdyaXR5OwotICAgIFtFbmFibGVkQXRS
dW50aW1lPVJlZmVycmVyUG9saWN5QXR0cmlidXRlLCBJbXBsZW1lbnRlZEFzPXJlZmVycmVyUG9s
aWN5Rm9yQmluZGluZ3MsIENFUmVhY3Rpb25zPU5vdE5lZWRlZF0gYXR0cmlidXRlIERPTVN0cmlu
ZyByZWZlcnJlclBvbGljeTsKKyAgICBbRW5hYmxlZEJ5U2V0dGluZz1SZWZlcnJlclBvbGljeUF0
dHJpYnV0ZSwgSW1wbGVtZW50ZWRBcz1yZWZlcnJlclBvbGljeUZvckJpbmRpbmdzLCBDRVJlYWN0
aW9ucz1Ob3ROZWVkZWRdIGF0dHJpYnV0ZSBET01TdHJpbmcgcmVmZXJyZXJQb2xpY3k7CiB9OwpJ
bmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5pZGwJKHJldmlzaW9u
IDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC01MCw3ICs1MCw3IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFZh
bGlkaXR5U3RhdGUgdmFsaWRpdHk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB2
YWxpZGF0aW9uTWVzc2FnZTsKICAgICBib29sZWFuIGNoZWNrVmFsaWRpdHkoKTsKLSAgICBbRW5h
YmxlZEF0UnVudGltZT1JbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uXSBib29sZWFuIHJlcG9ydFZh
bGlkaXR5KCk7CisgICAgW0VuYWJsZWRCeVNldHRpbmc9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlv
bl0gYm9vbGVhbiByZXBvcnRWYWxpZGl0eSgpOwogICAgIHVuZGVmaW5lZCBzZXRDdXN0b21WYWxp
ZGl0eShET01TdHJpbmcgZXJyb3IpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5vZGVMaXN0
IGxhYmVsczsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50
LmlkbAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFy
ZWFFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDMsNyArNDMsNyBAQCBpbnRlcmZhY2Ug
SFRNTFRleHRBcmVhRWxlbWVudCA6IEhUTUxFbGVtCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFZh
bGlkaXR5U3RhdGUgdmFsaWRpdHk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB2
YWxpZGF0aW9uTWVzc2FnZTsKICAgICBib29sZWFuIGNoZWNrVmFsaWRpdHkoKTsKLSAgICBbRW5h
YmxlZEF0UnVudGltZT1JbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uXSBib29sZWFuIHJlcG9ydFZh
bGlkaXR5KCk7CisgICAgW0VuYWJsZWRCeVNldHRpbmc9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlv
bl0gYm9vbGVhbiByZXBvcnRWYWxpZGl0eSgpOwogICAgIHVuZGVmaW5lZCBzZXRDdXN0b21WYWxp
ZGl0eShET01TdHJpbmcgZXJyb3IpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5vZGVMaXN0
IGxhYmVsczsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvTGlua1JlbEF0dHJpYnV0ZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9MaW5rUmVsQXR0cmlidXRlLmNwcAko
cmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9MaW5rUmVsQXR0cmlidXRl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzEsOSArNzEsOSBAQCBMaW5rUmVsQXR0cmlidXRlOjpM
aW5rUmVsQXR0cmlidXRlKERvY3VtCiAgICAgICAgIGlzRE5TUHJlZmV0Y2ggPSB0cnVlOwogICAg
IGVsc2UgaWYgKGRvY3VtZW50LnNldHRpbmdzKCkubGlua1ByZWNvbm5lY3RFbmFibGVkKCkgJiYg
ZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UocmVsLCAicHJlY29ubmVjdCIpKQogICAgICAg
ICBpc0xpbmtQcmVjb25uZWN0ID0gdHJ1ZTsKLSAgICBlbHNlIGlmIChSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmxpbmtQcmVsb2FkRW5hYmxlZCgpICYmIGVxdWFsTGV0
dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHJlbCwgInByZWxvYWQiKSkKKyAgICBlbHNlIGlmIChkb2N1
bWVudC5zZXR0aW5ncygpLmxpbmtQcmVsb2FkRW5hYmxlZCgpICYmIGVxdWFsTGV0dGVyc0lnbm9y
aW5nQVNDSUlDYXNlKHJlbCwgInByZWxvYWQiKSkKICAgICAgICAgaXNMaW5rUHJlbG9hZCA9IHRy
dWU7Ci0gICAgZWxzZSBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMo
KS5saW5rUHJlZmV0Y2hFbmFibGVkKCkgJiYgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uo
cmVsLCAicHJlZmV0Y2giKSkKKyAgICBlbHNlIGlmIChkb2N1bWVudC5zZXR0aW5ncygpLmxpbmtQ
cmVmZXRjaEVuYWJsZWQoKSAmJiBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShyZWwsICJw
cmVmZXRjaCIpKQogICAgICAgICBpc0xpbmtQcmVmZXRjaCA9IHRydWU7CiAgICAgZWxzZSBpZiAo
ZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UocmVsLCAiYWx0ZXJuYXRlIHN0eWxlc2hlZXQi
KSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShyZWwsICJzdHlsZXNoZWV0IGFsdGVy
bmF0ZSIpKSB7CiAgICAgICAgIGlzU3R5bGVTaGVldCA9IHRydWU7CkBAIC0xMTksMTAgKzExOSwx
MCBAQCBib29sIExpbmtSZWxBdHRyaWJ1dGU6OmlzU3VwcG9ydGVkKERvY3VtCiAgICAgaWYgKGRv
Y3VtZW50LnNldHRpbmdzKCkubGlua1ByZWNvbm5lY3RFbmFibGVkKCkgJiYgZXF1YWxJZ25vcmlu
Z0FTQ0lJQ2FzZShhdHRyaWJ1dGUsICJwcmVjb25uZWN0IikpCiAgICAgICAgIHJldHVybiB0cnVl
OwogCi0gICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkubGlu
a1ByZWxvYWRFbmFibGVkKCkgJiYgZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShhdHRyaWJ1dGUsICJw
cmVsb2FkIikpCisgICAgaWYgKGRvY3VtZW50LnNldHRpbmdzKCkubGlua1ByZWxvYWRFbmFibGVk
KCkgJiYgZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShhdHRyaWJ1dGUsICJwcmVsb2FkIikpCiAgICAg
ICAgIHJldHVybiB0cnVlOwogCi0gICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJl
ZEZlYXR1cmVzKCkubGlua1ByZWZldGNoRW5hYmxlZCgpICYmIGVxdWFsSWdub3JpbmdBU0NJSUNh
c2UoYXR0cmlidXRlLCAicHJlZmV0Y2giKSkKKyAgICBpZiAoZG9jdW1lbnQuc2V0dGluZ3MoKS5s
aW5rUHJlZmV0Y2hFbmFibGVkKCkgJiYgZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShhdHRyaWJ1dGUs
ICJwcmVmZXRjaCIpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIHJldHVybiBmYWxzZTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbmNyeXB0ZWRFdmVudC5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVuY3J5cHRlZEV2ZW50LmlkbAkocmV2
aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVuY3J5cHRlZEV2ZW50
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzMsNyArMzMsNyBAQCBkaWN0aW9uYXJ5IE1lZGlhRW5j
cnlwdGVkRXZlbnRJbml0IDogRXZlCiAKIFsKICAgICBDb25kaXRpb25hbD1FTkNSWVBURURfTUVE
SUEsCi0gICAgRW5hYmxlZEF0UnVudGltZT1FbmNyeXB0ZWRNZWRpYUFQSSwKKyAgICBFbmFibGVk
QnlTZXR0aW5nPUVuY3J5cHRlZE1lZGlhQVBJLAogICAgIERpc2FibGVkQnlRdWlyaz1oYXNCcm9r
ZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnQsCiBdIGludGVyZmFjZSBNZWRpYUVuY3J5cHRlZEV2
ZW50IDogRXZlbnQgewogICAgIGNvbnN0cnVjdG9yKERPTVN0cmluZyB0eXBlLCBvcHRpb25hbCBN
ZWRpYUVuY3J5cHRlZEV2ZW50SW5pdCBldmVudEluaXREaWN0KTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2h0bWwvV2ViS2l0TWVkaWFLZXlFcnJvci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvaHRtbC9XZWJLaXRNZWRpYUtleUVycm9yLmlkbAkocmV2aXNpb24gMjY2MzEyKQorKysg
U291cmNlL1dlYkNvcmUvaHRtbC9XZWJLaXRNZWRpYUtleUVycm9yLmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMjYsNyArMjYsNyBAQAogWwogICAgIENvbmRpdGlvbmFsPUxFR0FDWV9FTkNSWVBURURf
TUVESUEsCiAgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKLSAgICBFbmFibGVkQXRSdW50
aW1lPUxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJLAorICAgIEVuYWJsZWRCeVNldHRpbmc9TGVnYWN5
RW5jcnlwdGVkTWVkaWFBUEksCiBdIGludGVyZmFjZSBXZWJLaXRNZWRpYUtleUVycm9yIHsKICAg
ICBjb25zdCB1bnNpZ25lZCBzaG9ydCBNRURJQV9LRVlFUlJfVU5LTk9XTiA9IDE7CiAgICAgY29u
c3QgdW5zaWduZWQgc2hvcnQgTUVESUFfS0VZRVJSX0NMSUVOVCA9IDI7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5jcHAJKHJldmlz
aW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nh
bm5lci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDcgKzQyLDYgQEAKICNpbmNsdWRlICJNZWRp
YVF1ZXJ5RXZhbHVhdG9yLmgiCiAjaW5jbHVkZSAiTWVkaWFRdWVyeVBhcnNlci5oIgogI2luY2x1
ZGUgIlJlbmRlclZpZXcuaCIKLSNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCiAj
aW5jbHVkZSAiU2VjdXJpdHlQb2xpY3kuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1
ZGUgIlNpemVzQXR0cmlidXRlUGFyc2VyLmgiCkBAIC0xMDUsOCArMTA0LDkgQEAgU3RyaW5nIFRv
a2VuUHJlbG9hZFNjYW5uZXI6OmluaXRpYXRvckZvcgogCiBjbGFzcyBUb2tlblByZWxvYWRTY2Fu
bmVyOjpTdGFydFRhZ1NjYW5uZXIgewogcHVibGljOgotICAgIGV4cGxpY2l0IFN0YXJ0VGFnU2Nh
bm5lcihUYWdJZCB0YWdJZCwgZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3IgPSAxLjApCi0gICAgICAg
IDogbV90YWdJZCh0YWdJZCkKKyAgICBleHBsaWNpdCBTdGFydFRhZ1NjYW5uZXIoRG9jdW1lbnQm
IGRvY3VtZW50LCBUYWdJZCB0YWdJZCwgZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3IgPSAxLjApCisg
ICAgICAgIDogbV9kb2N1bWVudChkb2N1bWVudCkKKyAgICAgICAgLCBtX3RhZ0lkKHRhZ0lkKQog
ICAgICAgICAsIG1fbGlua0lzU3R5bGVTaGVldChmYWxzZSkKICAgICAgICAgLCBtX2xpbmtJc1By
ZWxvYWQoZmFsc2UpCiAgICAgICAgICwgbV9tZXRhSXNWaWV3cG9ydChmYWxzZSkKQEAgLTExNiw3
ICsxMTYsNyBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIHZvaWQgcHJvY2Vzc0F0dHJp
YnV0ZXMoY29uc3QgSFRNTFRva2VuOjpBdHRyaWJ1dGVMaXN0JiBhdHRyaWJ1dGVzLCBEb2N1bWVu
dCYgZG9jdW1lbnQsIFZlY3Rvcjxib29sPiYgcGljdHVyZVN0YXRlKQorICAgIHZvaWQgcHJvY2Vz
c0F0dHJpYnV0ZXMoY29uc3QgSFRNTFRva2VuOjpBdHRyaWJ1dGVMaXN0JiBhdHRyaWJ1dGVzLCBW
ZWN0b3I8Ym9vbD4mIHBpY3R1cmVTdGF0ZSkKICAgICB7CiAgICAgICAgIEFTU0VSVChpc01haW5U
aHJlYWQoKSk7CiAgICAgICAgIGlmIChtX3RhZ0lkID49IFRhZ0lkOjpVbmtub3duKQpAQCAtMTI1
LDEyICsxMjUsMTIgQEAgcHVibGljOgogICAgICAgICBmb3IgKGF1dG8mIGF0dHJpYnV0ZSA6IGF0
dHJpYnV0ZXMpIHsKICAgICAgICAgICAgIEF0b21TdHJpbmcgYXR0cmlidXRlTmFtZShhdHRyaWJ1
dGUubmFtZSk7CiAgICAgICAgICAgICBTdHJpbmcgYXR0cmlidXRlVmFsdWUgPSBTdHJpbmdJbXBs
OjpjcmVhdGU4Qml0SWZQb3NzaWJsZShhdHRyaWJ1dGUudmFsdWUpOwotICAgICAgICAgICAgcHJv
Y2Vzc0F0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lLCBhdHRyaWJ1dGVWYWx1ZSwgZG9jdW1lbnQsIHBp
Y3R1cmVTdGF0ZSk7CisgICAgICAgICAgICBwcm9jZXNzQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUs
IGF0dHJpYnV0ZVZhbHVlLCBwaWN0dXJlU3RhdGUpOwogICAgICAgICB9CiAgICAgICAgIAogICAg
ICAgICBpZiAobV90YWdJZCA9PSBUYWdJZDo6U291cmNlICYmICFwaWN0dXJlU3RhdGUuaXNFbXB0
eSgpICYmICFwaWN0dXJlU3RhdGUubGFzdCgpICYmIG1fbWVkaWFNYXRjaGVkICYmIG1fdHlwZU1h
dGNoZWQgJiYgIW1fc3JjU2V0QXR0cmlidXRlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgCi0g
ICAgICAgICAgICBhdXRvIHNvdXJjZVNpemUgPSBTaXplc0F0dHJpYnV0ZVBhcnNlcihtX3NpemVz
QXR0cmlidXRlLCBkb2N1bWVudCkubGVuZ3RoKCk7CisgICAgICAgICAgICBhdXRvIHNvdXJjZVNp
emUgPSBTaXplc0F0dHJpYnV0ZVBhcnNlcihtX3NpemVzQXR0cmlidXRlLCBtX2RvY3VtZW50KS5s
ZW5ndGgoKTsKICAgICAgICAgICAgIEltYWdlQ2FuZGlkYXRlIGltYWdlQ2FuZGlkYXRlID0gYmVz
dEZpdFNvdXJjZUZvckltYWdlQXR0cmlidXRlcyhtX2RldmljZVNjYWxlRmFjdG9yLCBtX3VybFRv
TG9hZCwgbV9zcmNTZXRBdHRyaWJ1dGUsIHNvdXJjZVNpemUpOwogICAgICAgICAgICAgaWYgKCFp
bWFnZUNhbmRpZGF0ZS5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICBwaWN0dXJlU3RhdGUu
bGFzdCgpID0gdHJ1ZTsKQEAgLTE0MCwxNiArMTQwLDE2IEBAIHB1YmxpYzoKICAgICAgICAgCiAg
ICAgICAgIC8vIFJlc29sdmUgYmV0d2VlbiBzcmMgYW5kIHNyY1NldCBpZiB3ZSBoYXZlIHRoZW0g
YW5kIHRoZSB0YWcgaXMgaW1nLgogICAgICAgICBpZiAobV90YWdJZCA9PSBUYWdJZDo6SW1nICYm
ICFtX3NyY1NldEF0dHJpYnV0ZS5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAgIGF1dG8gc291cmNl
U2l6ZSA9IFNpemVzQXR0cmlidXRlUGFyc2VyKG1fc2l6ZXNBdHRyaWJ1dGUsIGRvY3VtZW50KS5s
ZW5ndGgoKTsKKyAgICAgICAgICAgIGF1dG8gc291cmNlU2l6ZSA9IFNpemVzQXR0cmlidXRlUGFy
c2VyKG1fc2l6ZXNBdHRyaWJ1dGUsIG1fZG9jdW1lbnQpLmxlbmd0aCgpOwogICAgICAgICAgICAg
SW1hZ2VDYW5kaWRhdGUgaW1hZ2VDYW5kaWRhdGUgPSBiZXN0Rml0U291cmNlRm9ySW1hZ2VBdHRy
aWJ1dGVzKG1fZGV2aWNlU2NhbGVGYWN0b3IsIG1fdXJsVG9Mb2FkLCBtX3NyY1NldEF0dHJpYnV0
ZSwgc291cmNlU2l6ZSk7CiAgICAgICAgICAgICBzZXRVcmxUb0xvYWQoaW1hZ2VDYW5kaWRhdGUu
c3RyaW5nLnRvU3RyaW5nKCksIHRydWUpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKG1fbWV0
YUlzVmlld3BvcnQgJiYgIW1fbWV0YUNvbnRlbnQuaXNOdWxsKCkpCi0gICAgICAgICAgICBkb2N1
bWVudC5wcm9jZXNzVmlld3BvcnQobV9tZXRhQ29udGVudCwgVmlld3BvcnRBcmd1bWVudHM6OlZp
ZXdwb3J0TWV0YSk7CisgICAgICAgICAgICBtX2RvY3VtZW50LnByb2Nlc3NWaWV3cG9ydChtX21l
dGFDb250ZW50LCBWaWV3cG9ydEFyZ3VtZW50czo6Vmlld3BvcnRNZXRhKTsKIAogICAgICAgICBp
ZiAobV9tZXRhSXNEaXNhYmxlZEFkYXB0YXRpb25zICYmICFtX21ldGFDb250ZW50LmlzTnVsbCgp
KQotICAgICAgICAgICAgZG9jdW1lbnQucHJvY2Vzc0Rpc2FibGVkQWRhcHRhdGlvbnMobV9tZXRh
Q29udGVudCk7CisgICAgICAgICAgICBtX2RvY3VtZW50LnByb2Nlc3NEaXNhYmxlZEFkYXB0YXRp
b25zKG1fbWV0YUNvbnRlbnQpOwogICAgIH0KIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxQcmVsb2Fk
UmVxdWVzdD4gY3JlYXRlUHJlbG9hZFJlcXVlc3QoY29uc3QgVVJMJiBwcmVkaWN0ZWRCYXNlVVJM
KQpAQCAtMTYxLDcgKzE2MSw3IEBAIHB1YmxpYzoKICAgICAgICAgaWYgKCF0eXBlKQogICAgICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICAgICAgaWYgKCFMaW5rTG9hZGVyOjppc1N1cHBv
cnRlZFR5cGUodHlwZS52YWx1ZSgpLCBtX3R5cGVBdHRyaWJ1dGUpKQorICAgICAgICBpZiAoIUxp
bmtMb2FkZXI6OmlzU3VwcG9ydGVkVHlwZSh0eXBlLnZhbHVlKCksIG1fdHlwZUF0dHJpYnV0ZSwg
bV9kb2N1bWVudCkpCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgICAgICAvLyBE
byBub3QgcHJlbG9hZCBpZiBsYXp5bG9hZCBpcyBwb3NzaWJsZSBidXQgbWV0YWRhdGEgZmV0Y2gg
aXMgZGlzYWJsZWQuCkBAIC0xOTcsNyArMTk3LDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIG1f
Y2hhcnNldCA9IGF0dHJpYnV0ZVZhbHVlOwogICAgIH0KIAotICAgIHZvaWQgcHJvY2Vzc0F0dHJp
YnV0ZShjb25zdCBBdG9tU3RyaW5nJiBhdHRyaWJ1dGVOYW1lLCBjb25zdCBTdHJpbmcmIGF0dHJp
YnV0ZVZhbHVlLCBEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFZlY3Rvcjxib29sPiYgcGljdHVy
ZVN0YXRlKQorICAgIHZvaWQgcHJvY2Vzc0F0dHJpYnV0ZShjb25zdCBBdG9tU3RyaW5nJiBhdHRy
aWJ1dGVOYW1lLCBjb25zdCBTdHJpbmcmIGF0dHJpYnV0ZVZhbHVlLCBjb25zdCBWZWN0b3I8Ym9v
bD4mIHBpY3R1cmVTdGF0ZSkKICAgICB7CiAgICAgICAgIGJvb2wgaW5QaWN0dXJlID0gIXBpY3R1
cmVTdGF0ZS5pc0VtcHR5KCk7CiAgICAgICAgIGJvb2wgYWxyZWFkeU1hdGNoZWRTb3VyY2UgPSBp
blBpY3R1cmUgJiYgcGljdHVyZVN0YXRlLmxhc3QoKTsKQEAgLTIxNCw3ICsyMTQsNyBAQCBwcml2
YXRlOgogICAgICAgICAgICAgICAgIG1fc2l6ZXNBdHRyaWJ1dGUgPSBhdHRyaWJ1dGVWYWx1ZTsK
ICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmxhenlJbWFnZUxvYWRpbmdF
bmFibGVkKCkpIHsKKyAgICAgICAgICAgIGlmIChtX2RvY3VtZW50LnNldHRpbmdzKCkubGF6eUlt
YWdlTG9hZGluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgIGlmIChtYXRjaChhdHRyaWJ1
dGVOYW1lLCBsb2FkaW5nQXR0cikgJiYgbV9sYXp5bG9hZEF0dHJpYnV0ZS5pc051bGwoKSkgewog
ICAgICAgICAgICAgICAgICAgICBtX2xhenlsb2FkQXR0cmlidXRlID0gYXR0cmlidXRlVmFsdWU7
CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMjM1LDEwICsyMzUsMTAgQEAgcHJpdmF0
ZToKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmIChtYXRjaChhdHRyaWJ1dGVOYW1lLCBt
ZWRpYUF0dHIpICYmIG1fbWVkaWFBdHRyaWJ1dGUuaXNOdWxsKCkpIHsKICAgICAgICAgICAgICAg
ICBtX21lZGlhQXR0cmlidXRlID0gYXR0cmlidXRlVmFsdWU7Ci0gICAgICAgICAgICAgICAgYXV0
byBtZWRpYVNldCA9IE1lZGlhUXVlcnlTZXQ6OmNyZWF0ZShhdHRyaWJ1dGVWYWx1ZSwgTWVkaWFR
dWVyeVBhcnNlckNvbnRleHQoZG9jdW1lbnQpKTsKLSAgICAgICAgICAgICAgICBhdXRvIGRvY3Vt
ZW50RWxlbWVudCA9IG1ha2VSZWZQdHIoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KCkpOworICAg
ICAgICAgICAgICAgIGF1dG8gbWVkaWFTZXQgPSBNZWRpYVF1ZXJ5U2V0OjpjcmVhdGUoYXR0cmli
dXRlVmFsdWUsIE1lZGlhUXVlcnlQYXJzZXJDb250ZXh0KG1fZG9jdW1lbnQpKTsKKyAgICAgICAg
ICAgICAgICBhdXRvIGRvY3VtZW50RWxlbWVudCA9IG1ha2VSZWZQdHIobV9kb2N1bWVudC5kb2N1
bWVudEVsZW1lbnQoKSk7CiAgICAgICAgICAgICAgICAgTE9HKE1lZGlhUXVlcmllcywgIkhUTUxQ
cmVsb2FkU2Nhbm5lciAlcCBwcm9jZXNzQXR0cmlidXRlIGV2YWx1YXRpbmcgbWVkaWEgcXVlcmll
cyIsIHRoaXMpOwotICAgICAgICAgICAgICAgIG1fbWVkaWFNYXRjaGVkID0gTWVkaWFRdWVyeUV2
YWx1YXRvciB7IGRvY3VtZW50LnByaW50aW5nKCkgPyAicHJpbnQiIDogInNjcmVlbiIsIGRvY3Vt
ZW50LCBkb2N1bWVudEVsZW1lbnQgPyBkb2N1bWVudEVsZW1lbnQtPmNvbXB1dGVkU3R5bGUoKSA6
IG51bGxwdHIgfS5ldmFsdWF0ZShtZWRpYVNldC5nZXQoKSk7CisgICAgICAgICAgICAgICAgbV9t
ZWRpYU1hdGNoZWQgPSBNZWRpYVF1ZXJ5RXZhbHVhdG9yIHsgbV9kb2N1bWVudC5wcmludGluZygp
ID8gInByaW50IiA6ICJzY3JlZW4iLCBtX2RvY3VtZW50LCBkb2N1bWVudEVsZW1lbnQgPyBkb2N1
bWVudEVsZW1lbnQtPmNvbXB1dGVkU3R5bGUoKSA6IG51bGxwdHIgfS5ldmFsdWF0ZShtZWRpYVNl
dC5nZXQoKSk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAobWF0Y2goYXR0cmlidXRl
TmFtZSwgdHlwZUF0dHIpICYmIG1fdHlwZUF0dHJpYnV0ZS5pc051bGwoKSkgewogICAgICAgICAg
ICAgICAgIC8vIHdoZW4gbXVsdGlwbGUgdHlwZSBhdHRyaWJ1dGVzIHByZXNlbnQ6IGZpcnN0IHZh
bHVlIHdpbnMsIGlnbm9yZSBzdWJzZXF1ZW50ICh0byBtYXRjaCBJbWFnZUVsZW1lbnQgcGFyc2Vy
IGFuZCBCbGluayBiZWhhdmlvdXJzKQpAQCAtMjY5LDcgKzI2OSw3IEBAIHByaXZhdGU6CiAgICAg
ICAgICAgICBpZiAobWF0Y2goYXR0cmlidXRlTmFtZSwgaHJlZkF0dHIpKQogICAgICAgICAgICAg
ICAgIHNldFVybFRvTG9hZChhdHRyaWJ1dGVWYWx1ZSk7CiAgICAgICAgICAgICBlbHNlIGlmICht
YXRjaChhdHRyaWJ1dGVOYW1lLCByZWxBdHRyKSkgewotICAgICAgICAgICAgICAgIExpbmtSZWxB
dHRyaWJ1dGUgcGFyc2VkQXR0cmlidXRlIHsgZG9jdW1lbnQsIGF0dHJpYnV0ZVZhbHVlIH07Cisg
ICAgICAgICAgICAgICAgTGlua1JlbEF0dHJpYnV0ZSBwYXJzZWRBdHRyaWJ1dGUgeyBtX2RvY3Vt
ZW50LCBhdHRyaWJ1dGVWYWx1ZSB9OwogICAgICAgICAgICAgICAgIG1fbGlua0lzU3R5bGVTaGVl
dCA9IHJlbEF0dHJpYnV0ZUlzU3R5bGVTaGVldChwYXJzZWRBdHRyaWJ1dGUpOwogICAgICAgICAg
ICAgICAgIG1fbGlua0lzUHJlbG9hZCA9IHBhcnNlZEF0dHJpYnV0ZS5pc0xpbmtQcmVsb2FkOwog
ICAgICAgICAgICAgfSBlbHNlIGlmIChtYXRjaChhdHRyaWJ1dGVOYW1lLCBtZWRpYUF0dHIpKQpA
QCAtMjk4LDcgKzI5OCw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgbV9tZXRhQ29udGVu
dCA9IGF0dHJpYnV0ZVZhbHVlOwogICAgICAgICAgICAgZWxzZSBpZiAobWF0Y2goYXR0cmlidXRl
TmFtZSwgbmFtZUF0dHIpKQogICAgICAgICAgICAgICAgIG1fbWV0YUlzVmlld3BvcnQgPSBlcXVh
bExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShhdHRyaWJ1dGVWYWx1ZSwgInZpZXdwb3J0Iik7Ci0g
ICAgICAgICAgICBlbHNlIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJl
cygpLmRpc2FibGVkQWRhcHRhdGlvbnNNZXRhVGFnRW5hYmxlZCgpICYmIG1hdGNoKGF0dHJpYnV0
ZU5hbWUsIG5hbWVBdHRyKSkKKyAgICAgICAgICAgIGVsc2UgaWYgKG1fZG9jdW1lbnQuc2V0dGlu
Z3MoKS5kaXNhYmxlZEFkYXB0YXRpb25zTWV0YVRhZ0VuYWJsZWQoKSAmJiBtYXRjaChhdHRyaWJ1
dGVOYW1lLCBuYW1lQXR0cikpCiAgICAgICAgICAgICAgICAgbV9tZXRhSXNEaXNhYmxlZEFkYXB0
YXRpb25zID0gZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoYXR0cmlidXRlVmFsdWUsICJk
aXNhYmxlZC1hZGFwdGF0aW9ucyIpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2Ug
VGFnSWQ6OkJhc2U6CkBAIC0zNDYsNyArMzQ2LDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIGlm
IChtX2xpbmtJc1N0eWxlU2hlZXQpCiAgICAgICAgICAgICAgICAgcmV0dXJuIENhY2hlZFJlc291
cmNlOjpUeXBlOjpDU1NTdHlsZVNoZWV0OwogICAgICAgICAgICAgaWYgKG1fbGlua0lzUHJlbG9h
ZCkKLSAgICAgICAgICAgICAgICByZXR1cm4gTGlua0xvYWRlcjo6cmVzb3VyY2VUeXBlRnJvbUFz
QXR0cmlidXRlKG1fYXNBdHRyaWJ1dGUpOworICAgICAgICAgICAgICAgIHJldHVybiBMaW5rTG9h
ZGVyOjpyZXNvdXJjZVR5cGVGcm9tQXNBdHRyaWJ1dGUobV9hc0F0dHJpYnV0ZSwgbV9kb2N1bWVu
dCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBUYWdJZDo6TWV0YToKICAgICAg
ICAgY2FzZSBUYWdJZDo6VW5rbm93bjoKQEAgLTM4MCw2ICszODAsNyBAQCBwcml2YXRlOgogICAg
ICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKKyAgICBEb2N1bWVudCYgbV9kb2N1bWVudDsKICAg
ICBUYWdJZCBtX3RhZ0lkOwogICAgIFN0cmluZyBtX3VybFRvTG9hZDsKICAgICBTdHJpbmcgbV9z
cmNTZXRBdHRyaWJ1dGU7CkBAIC00NjIsOCArNDYzLDggQEAgdm9pZCBUb2tlblByZWxvYWRTY2Fu
bmVyOjpzY2FuKGNvbnN0IEhUTQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKLSAg
ICAgICAgU3RhcnRUYWdTY2FubmVyIHNjYW5uZXIodGFnSWQsIG1fZGV2aWNlU2NhbGVGYWN0b3Ip
OwotICAgICAgICBzY2FubmVyLnByb2Nlc3NBdHRyaWJ1dGVzKHRva2VuLmF0dHJpYnV0ZXMoKSwg
ZG9jdW1lbnQsIG1fcGljdHVyZVNvdXJjZVN0YXRlKTsKKyAgICAgICAgU3RhcnRUYWdTY2FubmVy
IHNjYW5uZXIoZG9jdW1lbnQsIHRhZ0lkLCBtX2RldmljZVNjYWxlRmFjdG9yKTsKKyAgICAgICAg
c2Nhbm5lci5wcm9jZXNzQXR0cmlidXRlcyh0b2tlbi5hdHRyaWJ1dGVzKCksIG1fcGljdHVyZVNv
dXJjZVN0YXRlKTsKICAgICAgICAgaWYgKGF1dG8gcmVxdWVzdCA9IHNjYW5uZXIuY3JlYXRlUHJl
bG9hZFJlcXVlc3QobV9wcmVkaWN0ZWRCYXNlRWxlbWVudFVSTCkpCiAgICAgICAgICAgICByZXF1
ZXN0cy5hcHBlbmQoV1RGTW92ZShyZXF1ZXN0KSk7CiAgICAgICAgIHJldHVybjsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcAkocmV2aXNpb24gMjY2MzEyKQorKysgU291
cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjA4
LDcgKzIwOCw3IEBAIHZvaWQgSW1hZ2VMb2FkZXI6OnVwZGF0ZUZyb21FbGVtZW50KFJlbGUKICAg
ICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGlmIChtX2xhenlJbWFnZUxvYWRTdGF0ZSA9PSBM
YXp5SW1hZ2VMb2FkU3RhdGU6Ok5vbmUgJiYgaXNJbWFnZUVsZW1lbnQpIHsKICAgICAgICAgICAg
ICAgICBhdXRvJiBpbWFnZUVsZW1lbnQgPSBkb3duY2FzdDxIVE1MSW1hZ2VFbGVtZW50PihlbGVt
ZW50KCkpOwotICAgICAgICAgICAgICAgIGlmIChpbWFnZUVsZW1lbnQuaXNMYXp5TG9hZGFibGUo
KSAmJiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmxhenlJbWFnZUxv
YWRpbmdFbmFibGVkKCkpIHsKKyAgICAgICAgICAgICAgICBpZiAoaW1hZ2VFbGVtZW50LmlzTGF6
eUxvYWRhYmxlKCkgJiYgZG9jdW1lbnQuc2V0dGluZ3MoKS5sYXp5SW1hZ2VMb2FkaW5nRW5hYmxl
ZCgpKSB7CiAgICAgICAgICAgICAgICAgICAgIG1fbGF6eUltYWdlTG9hZFN0YXRlID0gTGF6eUlt
YWdlTG9hZFN0YXRlOjpEZWZlcnJlZDsKICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC5zZXRJ
Z25vcmVGb3JSZXF1ZXN0Q291bnQodHJ1ZSk7CiAgICAgICAgICAgICAgICAgfQpJbmRleDogU291
cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmNwcAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNl
L1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTcsNyAr
MTE3LDcgQEAgdm9pZCBMaW5rTG9hZGVyOjpsb2FkTGlua3NGcm9tSGVhZGVyKGNvbgogICAgIH0K
IH0KIAotT3B0aW9uYWw8Q2FjaGVkUmVzb3VyY2U6OlR5cGU+IExpbmtMb2FkZXI6OnJlc291cmNl
VHlwZUZyb21Bc0F0dHJpYnV0ZShjb25zdCBTdHJpbmcmIGFzKQorT3B0aW9uYWw8Q2FjaGVkUmVz
b3VyY2U6OlR5cGU+IExpbmtMb2FkZXI6OnJlc291cmNlVHlwZUZyb21Bc0F0dHJpYnV0ZShjb25z
dCBTdHJpbmcmIGFzLCBEb2N1bWVudCYgZG9jdW1lbnQpCiB7CiAgICAgaWYgKGVxdWFsTGV0dGVy
c0lnbm9yaW5nQVNDSUlDYXNlKGFzLCAiZmV0Y2giKSkKICAgICAgICAgcmV0dXJuIENhY2hlZFJl
c291cmNlOjpUeXBlOjpSYXdSZXNvdXJjZTsKQEAgLTEyNyw3ICsxMjcsNyBAQCBPcHRpb25hbDxD
YWNoZWRSZXNvdXJjZTo6VHlwZT4gTGlua0xvYWRlCiAgICAgICAgIHJldHVybiBDYWNoZWRSZXNv
dXJjZTo6VHlwZTo6U2NyaXB0OwogICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2Fz
ZShhcywgInN0eWxlIikpCiAgICAgICAgIHJldHVybiBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6Q1NT
U3R5bGVTaGVldDsKLSAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVy
ZXMoKS5tZWRpYVByZWxvYWRpbmdFbmFibGVkKCkgJiYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVND
SUlDYXNlKGFzLCAidmlkZW8iKSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShhcywg
ImF1ZGlvIikpKQorICAgIGlmIChkb2N1bWVudC5zZXR0aW5ncygpLm1lZGlhUHJlbG9hZGluZ0Vu
YWJsZWQoKSAmJiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoYXMsICJ2aWRlbyIpIHx8
IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGFzLCAiYXVkaW8iKSkpCiAgICAgICAgIHJl
dHVybiBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TWVkaWFSZXNvdXJjZTsKICAgICBpZiAoZXF1YWxM
ZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoYXMsICJmb250IikpCiAgICAgICAgIHJldHVybiBDYWNo
ZWRSZXNvdXJjZTo6VHlwZTo6Rm9udFJlc291cmNlOwpAQCAtMTM2LDcgKzEzNiw3IEBAIE9wdGlv
bmFsPENhY2hlZFJlc291cmNlOjpUeXBlPiBMaW5rTG9hZGUKICAgICByZXR1cm4gV1RGOjpudWxs
b3B0OwogfQogCi1zdGF0aWMgc3RkOjp1bmlxdWVfcHRyPExpbmtQcmVsb2FkUmVzb3VyY2VDbGll
bnQ+IGNyZWF0ZUxpbmtQcmVsb2FkUmVzb3VyY2VDbGllbnQoQ2FjaGVkUmVzb3VyY2UmIHJlc291
cmNlLCBMaW5rTG9hZGVyJiBsb2FkZXIpCitzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPExpbmtQcmVs
b2FkUmVzb3VyY2VDbGllbnQ+IGNyZWF0ZUxpbmtQcmVsb2FkUmVzb3VyY2VDbGllbnQoQ2FjaGVk
UmVzb3VyY2UmIHJlc291cmNlLCBMaW5rTG9hZGVyJiBsb2FkZXIsIERvY3VtZW50JiBkb2N1bWVu
dCkKIHsKICAgICBzd2l0Y2ggKHJlc291cmNlLnR5cGUoKSkgewogICAgIGNhc2UgQ2FjaGVkUmVz
b3VyY2U6OlR5cGU6OkltYWdlUmVzb3VyY2U6CkBAIC0xNTAsNyArMTUwLDcgQEAgc3RhdGljIHN0
ZDo6dW5pcXVlX3B0cjxMaW5rUHJlbG9hZFJlc291cgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6
OlR5cGU6OlRleHRUcmFja1Jlc291cmNlOgogICAgICAgICByZXR1cm4gbWFrZVVuaXF1ZTxMaW5r
UHJlbG9hZERlZmF1bHRSZXNvdXJjZUNsaWVudD4obG9hZGVyLCBkb3duY2FzdDxDYWNoZWRUZXh0
VHJhY2s+KHJlc291cmNlKSk7CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TWVkaWFS
ZXNvdXJjZToKLSAgICAgICAgQVNTRVJUKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZl
YXR1cmVzKCkubWVkaWFQcmVsb2FkaW5nRW5hYmxlZCgpKTsKKyAgICAgICAgQVNTRVJUX1VOVVNF
RChkb2N1bWVudCwgZG9jdW1lbnQuc2V0dGluZ3MoKS5tZWRpYVByZWxvYWRpbmdFbmFibGVkKCkp
OwogICAgICAgICBGQUxMVEhST1VHSDsKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpS
YXdSZXNvdXJjZToKICAgICAgICAgcmV0dXJuIG1ha2VVbmlxdWU8TGlua1ByZWxvYWRSYXdSZXNv
dXJjZUNsaWVudD4obG9hZGVyLCBkb3duY2FzdDxDYWNoZWRSYXdSZXNvdXJjZT4ocmVzb3VyY2Up
KTsKQEAgLTE3NSw3ICsxNzUsNyBAQCBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPExpbmtQcmVsb2Fk
UmVzb3VyCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLWJvb2wgTGlua0xvYWRlcjo6aXNTdXBw
b3J0ZWRUeXBlKENhY2hlZFJlc291cmNlOjpUeXBlIHJlc291cmNlVHlwZSwgY29uc3QgU3RyaW5n
JiBtaW1lVHlwZSkKK2Jvb2wgTGlua0xvYWRlcjo6aXNTdXBwb3J0ZWRUeXBlKENhY2hlZFJlc291
cmNlOjpUeXBlIHJlc291cmNlVHlwZSwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgRG9jdW1lbnQm
IGRvY3VtZW50KQogewogICAgIGlmIChtaW1lVHlwZS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVy
biB0cnVlOwpAQCAtMTg5LDcgKzE4OSw3IEBAIGJvb2wgTGlua0xvYWRlcjo6aXNTdXBwb3J0ZWRU
eXBlKENhY2hlZFIKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpGb250UmVzb3VyY2U6
CiAgICAgICAgIHJldHVybiBNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZEZvbnRNSU1FVHlw
ZShtaW1lVHlwZSk7CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TWVkaWFSZXNvdXJj
ZToKLSAgICAgICAgaWYgKCFSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygp
Lm1lZGlhUHJlbG9hZGluZ0VuYWJsZWQoKSkKKyAgICAgICAgaWYgKCFkb2N1bWVudC5zZXR0aW5n
cygpLm1lZGlhUHJlbG9hZGluZ0VuYWJsZWQoKSkKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwogICAgICAgICByZXR1cm4gTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRNZWRp
YU1JTUVUeXBlKG1pbWVUeXBlKTsKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpUZXh0
VHJhY2tSZXNvdXJjZToKQEAgLTIzMSwxNCArMjMxLDE0IEBAIHN0ZDo6dW5pcXVlX3B0cjxMaW5r
UHJlbG9hZFJlc291cmNlQ2xpZW4KICAgICBpZiAoIWRvY3VtZW50LmxvYWRlcigpIHx8ICFwYXJh
bXMucmVsQXR0cmlidXRlLmlzTGlua1ByZWxvYWQpCiAgICAgICAgIHJldHVybiBudWxscHRyOwog
Ci0gICAgQVNTRVJUKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkubGlu
a1ByZWxvYWRFbmFibGVkKCkpOwotICAgIGF1dG8gdHlwZSA9IExpbmtMb2FkZXI6OnJlc291cmNl
VHlwZUZyb21Bc0F0dHJpYnV0ZShwYXJhbXMuYXMpOworICAgIEFTU0VSVChkb2N1bWVudC5zZXR0
aW5ncygpLmxpbmtQcmVsb2FkRW5hYmxlZCgpKTsKKyAgICBhdXRvIHR5cGUgPSBMaW5rTG9hZGVy
OjpyZXNvdXJjZVR5cGVGcm9tQXNBdHRyaWJ1dGUocGFyYW1zLmFzLCBkb2N1bWVudCk7CiAgICAg
aWYgKCF0eXBlKSB7CiAgICAgICAgIGRvY3VtZW50LmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VT
b3VyY2U6Ok90aGVyLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiPGxpbmsgcmVsPXByZWxvYWQ+IG11
c3QgaGF2ZSBhIHZhbGlkIGBhc2AgdmFsdWUiX3MpOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsK
ICAgICB9CiAgICAgVVJMIHVybDsKLSAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5saW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVkKCkgJiYgdHlw
ZSA9PSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6SW1hZ2VSZXNvdXJjZSAmJiAhcGFyYW1zLmltYWdl
U3JjU2V0LmlzRW1wdHkoKSkgeworICAgIGlmIChkb2N1bWVudC5zZXR0aW5ncygpLmxpbmtQcmVs
b2FkUmVzcG9uc2l2ZUltYWdlc0VuYWJsZWQoKSAmJiB0eXBlID09IENhY2hlZFJlc291cmNlOjpU
eXBlOjpJbWFnZVJlc291cmNlICYmICFwYXJhbXMuaW1hZ2VTcmNTZXQuaXNFbXB0eSgpKSB7CiAg
ICAgICAgIGF1dG8gc291cmNlU2l6ZSA9IFNpemVzQXR0cmlidXRlUGFyc2VyKHBhcmFtcy5pbWFn
ZVNpemVzLCBkb2N1bWVudCkubGVuZ3RoKCk7CiAgICAgICAgIGF1dG8gY2FuZGlkYXRlID0gYmVz
dEZpdFNvdXJjZUZvckltYWdlQXR0cmlidXRlcyhkb2N1bWVudC5kZXZpY2VTY2FsZUZhY3Rvcigp
LCBwYXJhbXMuaHJlZi5zdHJpbmcoKSwgcGFyYW1zLmltYWdlU3JjU2V0LCBzb3VyY2VTaXplKTsK
ICAgICAgICAgdXJsID0gZG9jdW1lbnQuY29tcGxldGVVUkwoVVJMKHsgfSwgY2FuZGlkYXRlLnN0
cmluZy50b1N0cmluZygpKS5zdHJpbmcoKSk7CkBAIC0yNTQsNyArMjU0LDcgQEAgc3RkOjp1bmlx
dWVfcHRyPExpbmtQcmVsb2FkUmVzb3VyY2VDbGllbgogICAgIH0KICAgICBpZiAoIU1lZGlhUXVl
cnlFdmFsdWF0b3I6Om1lZGlhQXR0cmlidXRlTWF0Y2hlcyhkb2N1bWVudCwgcGFyYW1zLm1lZGlh
KSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgaWYgKCFpc1N1cHBvcnRlZFR5cGUodHlw
ZS52YWx1ZSgpLCBwYXJhbXMubWltZVR5cGUpKQorICAgIGlmICghaXNTdXBwb3J0ZWRUeXBlKHR5
cGUudmFsdWUoKSwgcGFyYW1zLm1pbWVUeXBlLCBkb2N1bWVudCkpCiAgICAgICAgIHJldHVybiBu
dWxscHRyOwogCiAgICAgYXV0byBvcHRpb25zID0gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmRlZmF1
bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKTsKQEAgLTI3MSw3ICsyNzEsNyBAQCBzdGQ6OnVuaXF1
ZV9wdHI8TGlua1ByZWxvYWRSZXNvdXJjZUNsaWVuCiAgICAgICAgIHJldHVybiBudWxscHRyOwog
CiAgICAgaWYgKGNhY2hlZExpbmtSZXNvdXJjZSAmJiBsb2FkZXIpCi0gICAgICAgIHJldHVybiBj
cmVhdGVMaW5rUHJlbG9hZFJlc291cmNlQ2xpZW50KCpjYWNoZWRMaW5rUmVzb3VyY2UsICpsb2Fk
ZXIpOworICAgICAgICByZXR1cm4gY3JlYXRlTGlua1ByZWxvYWRSZXNvdXJjZUNsaWVudCgqY2Fj
aGVkTGlua1Jlc291cmNlLCAqbG9hZGVyLCBkb2N1bWVudCk7CiAgICAgcmV0dXJuIG51bGxwdHI7
CiB9CiAKQEAgLTI4MCw3ICsyODAsNyBAQCB2b2lkIExpbmtMb2FkZXI6OnByZWZldGNoSWZOZWVk
ZWQoY29uc3QgCiAgICAgaWYgKCFwYXJhbXMuaHJlZi5pc1ZhbGlkKCkgfHwgIWRvY3VtZW50LmZy
YW1lKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIEFTU0VSVChSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzaGFyZWRGZWF0dXJlcygpLmxpbmtQcmVmZXRjaEVuYWJsZWQoKSk7CisgICAgQVNTRVJU
KGRvY3VtZW50LnNldHRpbmdzKCkubGlua1ByZWZldGNoRW5hYmxlZCgpKTsKICAgICBPcHRpb25h
bDxSZXNvdXJjZUxvYWRQcmlvcml0eT4gcHJpb3JpdHk7CiAgICAgQ2FjaGVkUmVzb3VyY2U6OlR5
cGUgdHlwZSA9IENhY2hlZFJlc291cmNlOjpUeXBlOjpMaW5rUHJlZmV0Y2g7CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIuaAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dl
YkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNjMsMTEgKzYzLDEx
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5MaW5rTG9hZGVyKCk7CiAKICAgICB2b2lkIGxvYWRM
aW5rKGNvbnN0IExpbmtMb2FkUGFyYW1ldGVycyYsIERvY3VtZW50Jik7Ci0gICAgc3RhdGljIE9w
dGlvbmFsPENhY2hlZFJlc291cmNlOjpUeXBlPiByZXNvdXJjZVR5cGVGcm9tQXNBdHRyaWJ1dGUo
Y29uc3QgU3RyaW5nJiBhcyk7CisgICAgc3RhdGljIE9wdGlvbmFsPENhY2hlZFJlc291cmNlOjpU
eXBlPiByZXNvdXJjZVR5cGVGcm9tQXNBdHRyaWJ1dGUoY29uc3QgU3RyaW5nJiwgRG9jdW1lbnQm
KTsKIAogICAgIGVudW0gY2xhc3MgTWVkaWFBdHRyaWJ1dGVDaGVjayB7IE1lZGlhQXR0cmlidXRl
RW1wdHksIE1lZGlhQXR0cmlidXRlTm90RW1wdHksIFNraXBNZWRpYUF0dHJpYnV0ZUNoZWNrIH07
CiAgICAgc3RhdGljIHZvaWQgbG9hZExpbmtzRnJvbUhlYWRlcihjb25zdCBTdHJpbmcmIGhlYWRl
clZhbHVlLCBjb25zdCBVUkwmIGJhc2VVUkwsIERvY3VtZW50JiwgTWVkaWFBdHRyaWJ1dGVDaGVj
ayk7Ci0gICAgc3RhdGljIGJvb2wgaXNTdXBwb3J0ZWRUeXBlKENhY2hlZFJlc291cmNlOjpUeXBl
LCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlKTsKKyAgICBzdGF0aWMgYm9vbCBpc1N1cHBvcnRlZFR5
cGUoQ2FjaGVkUmVzb3VyY2U6OlR5cGUsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIERvY3VtZW50
Jik7CiAKICAgICB2b2lkIHRyaWdnZXJFdmVudHMoY29uc3QgQ2FjaGVkUmVzb3VyY2UmKTsKICAg
ICB2b2lkIGNhbmNlbExvYWQoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwJKHJl
dmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAkod29y
a2luZyBjb3B5KQpAQCAtNTcsNyArNTcsNyBAQCB0eXBlZGVmIFVTVlN0cmluZyBDU1NPTVN0cmlu
ZzsKICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7CiAgICAgW0RvTm90Q2hlY2tTZWN1cml0
eSwgUHV0Rm9yd2FyZHM9aHJlZiwgVW5mb3JnZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBMb2Nh
dGlvbiBsb2NhdGlvbjsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgSGlzdG9yeSBoaXN0b3J5Owot
ICAgIFtFbmFibGVkQXRSdW50aW1lPUN1c3RvbUVsZW1lbnRzLCBJbXBsZW1lbnRlZEFzPWVuc3Vy
ZUN1c3RvbUVsZW1lbnRSZWdpc3RyeV0gcmVhZG9ubHkgYXR0cmlidXRlIEN1c3RvbUVsZW1lbnRS
ZWdpc3RyeSBjdXN0b21FbGVtZW50czsKKyAgICBbRW5hYmxlZEJ5U2V0dGluZz1DdXN0b21FbGVt
ZW50cywgSW1wbGVtZW50ZWRBcz1lbnN1cmVDdXN0b21FbGVtZW50UmVnaXN0cnldIHJlYWRvbmx5
IGF0dHJpYnV0ZSBDdXN0b21FbGVtZW50UmVnaXN0cnkgY3VzdG9tRWxlbWVudHM7CiAgICAgW1Jl
cGxhY2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgQmFyUHJvcCBsb2NhdGlvbmJhcjsKICAgICBb
UmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBCYXJQcm9wIG1lbnViYXI7CiAgICAgW1Jl
cGxhY2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgQmFyUHJvcCBwZXJzb25hbGJhcjsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXIuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXIuaWRsCShyZXZpc2lv
biAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNyBAQAogWwogICAgIEFjdGl2ZURPTU9iamVj
dCwKICAgICBDb25kaXRpb25hbD1JTlRFUlNFQ1RJT05fT0JTRVJWRVIsCi0gICAgRW5hYmxlZEF0
UnVudGltZT1JbnRlcnNlY3Rpb25PYnNlcnZlcgorICAgIEVuYWJsZWRCeVNldHRpbmc9SW50ZXJz
ZWN0aW9uT2JzZXJ2ZXIKIF0gaW50ZXJmYWNlIEludGVyc2VjdGlvbk9ic2VydmVyIHsKICAgICBb
Q2FsbFdpdGg9RG9jdW1lbnQsIE1heVRocm93RXhjZXB0aW9uXSBjb25zdHJ1Y3RvcihJbnRlcnNl
Y3Rpb25PYnNlcnZlckNhbGxiYWNrIGNhbGxiYWNrLCBvcHRpb25hbCBJbnRlcnNlY3Rpb25PYnNl
cnZlckluaXQgb3B0aW9ucyk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0
aW9uT2JzZXJ2ZXJFbnRyeS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9J
bnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5LmlkbAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNl
L1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5LmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMzAsNyArMzAsNyBAQCB0eXBlZGVmIGRvdWJsZSBET01IaWdoUmVzVGltZVN0YW1wOwog
WwogICAgIENvbmRpdGlvbmFsPUlOVEVSU0VDVElPTl9PQlNFUlZFUiwKICAgICBJbXBsZW1lbnRh
dGlvbkxhY2tzVlRhYmxlLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9SW50ZXJzZWN0aW9uT2JzZXJ2
ZXIsCisgICAgRW5hYmxlZEJ5U2V0dGluZz1JbnRlcnNlY3Rpb25PYnNlcnZlciwKICAgICBKU0N1
c3RvbU1hcmtGdW5jdGlvbiwKIF0gaW50ZXJmYWNlIEludGVyc2VjdGlvbk9ic2VydmVyRW50cnkg
ewogICAgIGNvbnN0cnVjdG9yKEludGVyc2VjdGlvbk9ic2VydmVyRW50cnlJbml0IGludGVyc2Vj
dGlvbk9ic2VydmVyRW50cnlJbml0KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdh
dG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAJ
KHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTI0LDE2ICsxMjQsMTYgQEAgc3RhdGljIE9wdGlvbmFsPFVSTD4g
c2hhcmVhYmxlVVJMRm9yU2hhcgogICAgIHJldHVybiB1cmw7CiB9CiAKLWJvb2wgTmF2aWdhdG9y
OjpjYW5TaGFyZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBjb25zdCBTaGFyZURh
dGEmIGRhdGEpCitib29sIE5hdmlnYXRvcjo6Y2FuU2hhcmUoRG9jdW1lbnQmIGRvY3VtZW50LCBj
b25zdCBTaGFyZURhdGEmIGRhdGEpCiB7CiAgICAgYXV0byogZnJhbWUgPSB0aGlzLT5mcmFtZSgp
OwogICAgIGlmICghZnJhbWUgfHwgIWZyYW1lLT5wYWdlKCkpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAogICAgIGJvb2wgaGFzU2hhcmVhYmxlVGl0bGVPclRleHQgPSAhZGF0YS50aXRsZS5pc051
bGwoKSB8fCAhZGF0YS50ZXh0LmlzTnVsbCgpOwotICAgIGJvb2wgaGFzU2hhcmVhYmxlVVJMID0g
ISFzaGFyZWFibGVVUkxGb3JTaGFyZURhdGEoY29udGV4dCwgZGF0YSk7CisgICAgYm9vbCBoYXNT
aGFyZWFibGVVUkwgPSAhIXNoYXJlYWJsZVVSTEZvclNoYXJlRGF0YShkb2N1bWVudCwgZGF0YSk7
CiAjaWYgRU5BQkxFKEZJTEVfU0hBUkUpCi0gICAgYm9vbCBoYXNTaGFyZWFibGVGaWxlcyA9IFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkud2ViU2hhcmVGaWxlQVBJRW5h
YmxlZCgpICYmICFkYXRhLmZpbGVzLmlzRW1wdHkoKTsKKyAgICBib29sIGhhc1NoYXJlYWJsZUZp
bGVzID0gZG9jdW1lbnQuc2V0dGluZ3MoKS53ZWJTaGFyZUZpbGVBUElFbmFibGVkKCkgJiYgIWRh
dGEuZmlsZXMuaXNFbXB0eSgpOwogI2Vsc2UKICAgICBib29sIGhhc1NoYXJlYWJsZUZpbGVzID0g
ZmFsc2U7CiAjZW5kaWYKQEAgLTE0MSw5ICsxNDEsOSBAQCBib29sIE5hdmlnYXRvcjo6Y2FuU2hh
cmUoU2NyaXB0RXhlY3V0aW9uCiAgICAgcmV0dXJuIGhhc1NoYXJlYWJsZVRpdGxlT3JUZXh0IHx8
IGhhc1NoYXJlYWJsZVVSTCB8fCBoYXNTaGFyZWFibGVGaWxlczsKIH0KIAotdm9pZCBOYXZpZ2F0
b3I6OnNoYXJlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IFNoYXJlRGF0
YSYgZGF0YSwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQordm9pZCBOYXZpZ2F0b3I6
OnNoYXJlKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU2hhcmVEYXRhJiBkYXRhLCBSZWY8RGVm
ZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCiB7Ci0gICAgaWYgKCFjYW5TaGFyZShjb250ZXh0LCBk
YXRhKSkgeworICAgIGlmICghY2FuU2hhcmUoZG9jdW1lbnQsIGRhdGEpKSB7CiAgICAgICAgIHBy
b21pc2UtPnJlamVjdChUeXBlRXJyb3IpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTU1
LDIxICsxNTUsMjEgQEAgdm9pZCBOYXZpZ2F0b3I6OnNoYXJlKFNjcmlwdEV4ZWN1dGlvbkNvbgog
ICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgT3B0aW9uYWw8VVJMPiB1cmwgPSBzaGFyZWFi
bGVVUkxGb3JTaGFyZURhdGEoY29udGV4dCwgZGF0YSk7CisgICAgT3B0aW9uYWw8VVJMPiB1cmwg
PSBzaGFyZWFibGVVUkxGb3JTaGFyZURhdGEoZG9jdW1lbnQsIGRhdGEpOwogICAgIFNoYXJlRGF0
YVdpdGhQYXJzZWRVUkwgc2hhcmVEYXRhID0gewogICAgICAgICBkYXRhLAogICAgICAgICB1cmws
CiAgICAgICAgIHsgfSwKICAgICB9OwogI2lmIEVOQUJMRShGSUxFX1NIQVJFKQotICAgIGlmIChS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLndlYlNoYXJlRmlsZUFQSUVu
YWJsZWQoKSAmJiAhZGF0YS5maWxlcy5pc0VtcHR5KCkpIHsKKyAgICBpZiAoZG9jdW1lbnQuc2V0
dGluZ3MoKS53ZWJTaGFyZUZpbGVBUElFbmFibGVkKCkgJiYgIWRhdGEuZmlsZXMuaXNFbXB0eSgp
KSB7CiAgICAgICAgIGlmIChtX2xvYWRlcikKICAgICAgICAgICAgIG1fbG9hZGVyLT5jYW5jZWwo
KTsKICAgICAgICAgCiAgICAgICAgIG1fbG9hZGVyID0gU2hhcmVEYXRhUmVhZGVyOjpjcmVhdGUo
W3RoaXMsIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXSAoRXhjZXB0aW9uT3I8U2hhcmVEYXRh
V2l0aFBhcnNlZFVSTCY+IHJlYWREYXRhKSBtdXRhYmxlIHsKICAgICAgICAgICAgIHNob3dTaGFy
ZURhdGEocmVhZERhdGEsIFdURk1vdmUocHJvbWlzZSkpOwogICAgICAgICB9KTsKLSAgICAgICAg
bV9sb2FkZXItPnN0YXJ0KGZyYW1lKCktPmRvY3VtZW50KCksIFdURk1vdmUoc2hhcmVEYXRhKSk7
CisgICAgICAgIG1fbG9hZGVyLT5zdGFydCgmZG9jdW1lbnQsIFdURk1vdmUoc2hhcmVEYXRhKSk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvTmF2aWdhdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0
b3IuaAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3Iu
aAkod29ya2luZyBjb3B5KQpAQCAtNDksOCArNDksOCBAQCBwdWJsaWM6CiAgICAgU3RyaW5nIHBs
YXRmb3JtKCkgY29uc3QgZmluYWw7CiAgICAgdm9pZCB1c2VyQWdlbnRDaGFuZ2VkKCk7CiAgICAg
Ym9vbCBvbkxpbmUoKSBjb25zdCBmaW5hbDsKLSAgICBib29sIGNhblNoYXJlKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmLCBjb25zdCBTaGFyZURhdGEmKTsKLSAgICB2b2lkIHNoYXJlKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmLCBjb25zdCBTaGFyZURhdGEmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYm
KTsKKyAgICBib29sIGNhblNoYXJlKERvY3VtZW50JiwgY29uc3QgU2hhcmVEYXRhJik7CisgICAg
dm9pZCBzaGFyZShEb2N1bWVudCYsIGNvbnN0IFNoYXJlRGF0YSYsIFJlZjxEZWZlcnJlZFByb21p
c2U+JiYpOwogICAgIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgYm9vbCBzdGFuZGFs
b25lKCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclNoYXJlLmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclNoYXJlLmlkbAko
cmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JTaGFyZS5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDggKzI2LDggQEAKIAogWwogICAgIE5vSW50ZXJmYWNl
T2JqZWN0LAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViU2hhcmUKKyAgICBFbmFibGVkQnlTZXR0
aW5nPVdlYlNoYXJlCiBdIGludGVyZmFjZSBOYXZpZ2F0b3JTaGFyZSB7Ci0gICAgW0NhbGxXaXRo
PVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIFNlY3VyZUNvbnRleHRdIGJvb2xlYW4gY2FuU2hhcmUo
b3B0aW9uYWwgU2hhcmVEYXRhIHNoYXJlRGF0YSk7Ci0gICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQsIFNlY3VyZUNvbnRleHRdIFByb21pc2U8dW5kZWZpbmVkPiBzaGFyZShvcHRp
b25hbCBTaGFyZURhdGEgc2hhcmVEYXRhKTsKKyAgICBbQ2FsbFdpdGg9RG9jdW1lbnQsIFNlY3Vy
ZUNvbnRleHRdIGJvb2xlYW4gY2FuU2hhcmUob3B0aW9uYWwgU2hhcmVEYXRhIHNoYXJlRGF0YSk7
CisgICAgW0NhbGxXaXRoPURvY3VtZW50LCBTZWN1cmVDb250ZXh0XSBQcm9taXNlPHVuZGVmaW5l
ZD4gc2hhcmUob3B0aW9uYWwgU2hhcmVEYXRhIHNoYXJlRGF0YSk7CiB9OwpJbmRleDogU291cmNl
L1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCShyZXZpc2lvbiAy
NjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00MSw5ICs0MSw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6UnVudGltZUVuYWJsZWRGZWF0dXJlcygpCiB7Ci0jaWYg
RU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgUExBVEZPUk0oQ09DT0EpCi0gICAgbV9pc01lZGlhRGV2
aWNlc0VuYWJsZWQgPSBmYWxzZTsKLSNlbmRpZgogI2lmIFBMQVRGT1JNKFdBVENIT1MpCiAgICAg
bV9pc1dlYlNvY2tldEVuYWJsZWQgPSBmYWxzZTsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNv
cmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgJKHJldmlzaW9uIDI2NjMxMikKKysr
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCSh3b3JraW5nIGNv
cHkpCkBAIC00NCwxOCArNDQsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzKTsKIHB1YmxpYzoKLSAgICB2b2lkIHNldEJsYW5rQW5jaG9yVGFyZ2V0SW1wbGll
c05vT3BlbmVyRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2JsYW5rQW5jaG9yVGFyZ2V0SW1w
bGllc05vT3BlbmVyRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotICAgIGJvb2wgYmxhbmtBbmNob3JU
YXJnZXRJbXBsaWVzTm9PcGVuZXJFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9ibGFua0FuY2hv
clRhcmdldEltcGxpZXNOb09wZW5lckVuYWJsZWQ7IH0KLQotICAgIHZvaWQgc2V0TGlua1ByZWxv
YWRFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNMaW5rUHJlbG9hZEVuYWJsZWQgPSBpc0Vu
YWJsZWQ7IH0KLSAgICBib29sIGxpbmtQcmVsb2FkRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1f
aXNMaW5rUHJlbG9hZEVuYWJsZWQ7IH0KLQotICAgIHZvaWQgc2V0TGlua1ByZWZldGNoRW5hYmxl
ZChib29sIGlzRW5hYmxlZCkgeyBtX2lzTGlua1ByZWZldGNoRW5hYmxlZCA9IGlzRW5hYmxlZDsg
fQotICAgIGJvb2wgbGlua1ByZWZldGNoRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNMaW5r
UHJlZmV0Y2hFbmFibGVkOyB9Ci0KLSAgICB2b2lkIHNldE1lZGlhUHJlbG9hZGluZ0VuYWJsZWQo
Ym9vbCBpc0VuYWJsZWQpIHsgbV9pc01lZGlhUHJlbG9hZGluZ0VuYWJsZWQgPSBpc0VuYWJsZWQ7
IH0KLSAgICBib29sIG1lZGlhUHJlbG9hZGluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lz
TWVkaWFQcmVsb2FkaW5nRW5hYmxlZDsgfQotCiAgICAgdm9pZCBzZXRSZXNvdXJjZVRpbWluZ0Vu
YWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1Jlc291cmNlVGltaW5nRW5hYmxlZCA9IGlzRW5h
YmxlZDsgfQogICAgIGJvb2wgcmVzb3VyY2VUaW1pbmdFbmFibGVkKCkgY29uc3QgeyByZXR1cm4g
bV9pc1Jlc291cmNlVGltaW5nRW5hYmxlZDsgfQogCkBAIC03MCwzOSArNTgsMTggQEAgcHVibGlj
OgogICAgIHZvaWQgc2V0U2hhZG93RE9NRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzU2hh
ZG93RE9NRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogICAgIGJvb2wgc2hhZG93RE9NRW5hYmxlZCgp
IGNvbnN0IHsgcmV0dXJuIG1faXNTaGFkb3dET01FbmFibGVkOyB9CiAKLSAgICB2b2lkIHNldElu
cHV0RXZlbnRzRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lucHV0RXZlbnRzRW5hYmxlZCA9
IGlzRW5hYmxlZDsgfQotICAgIGJvb2wgaW5wdXRFdmVudHNFbmFibGVkKCkgY29uc3QgeyByZXR1
cm4gbV9pbnB1dEV2ZW50c0VuYWJsZWQ7IH0KLQotICAgIHZvaWQgc2V0SW50ZXJhY3RpdmVGb3Jt
VmFsaWRhdGlvbkVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc0ludGVyYWN0aXZlRm9ybVZh
bGlkYXRpb25FbmFibGVkID0gaXNFbmFibGVkOyB9Ci0gICAgYm9vbCBpbnRlcmFjdGl2ZUZvcm1W
YWxpZGF0aW9uRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNJbnRlcmFjdGl2ZUZvcm1WYWxp
ZGF0aW9uRW5hYmxlZDsgfQotCi0gICAgdm9pZCBzZXRDdXN0b21FbGVtZW50c0VuYWJsZWQoYm9v
bCBhcmVFbmFibGVkKSB7IG1fYXJlQ3VzdG9tRWxlbWVudHNFbmFibGVkID0gYXJlRW5hYmxlZDsg
fQotICAgIGJvb2wgY3VzdG9tRWxlbWVudHNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9hcmVD
dXN0b21FbGVtZW50c0VuYWJsZWQ7IH0KLQogICAgIHZvaWQgc2V0TWVudUl0ZW1FbGVtZW50RW5h
YmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzTWVudUl0ZW1FbGVtZW50RW5hYmxlZCA9IGlzRW5h
YmxlZDsgfQogICAgIGJvb2wgbWVudUl0ZW1FbGVtZW50RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJu
IG1faXNNZW51SXRlbUVsZW1lbnRFbmFibGVkOyB9CiAKICAgICB2b2lkIHNldERpcmVjdG9yeVVw
bG9hZEVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc0RpcmVjdG9yeVVwbG9hZEVuYWJsZWQg
PSBpc0VuYWJsZWQ7IH0KICAgICBib29sIGRpcmVjdG9yeVVwbG9hZEVuYWJsZWQoKSBjb25zdCB7
IHJldHVybiBtX2lzRGlyZWN0b3J5VXBsb2FkRW5hYmxlZDsgfQogCi0gICAgdm9pZCBzZXREYXRh
VHJhbnNmZXJJdGVtc0VuYWJsZWQoYm9vbCBhcmVFbmFibGVkKSB7IG1fYXJlRGF0YVRyYW5zZmVy
SXRlbXNFbmFibGVkID0gYXJlRW5hYmxlZDsgfQotICAgIGJvb2wgZGF0YVRyYW5zZmVySXRlbXNF
bmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9hcmVEYXRhVHJhbnNmZXJJdGVtc0VuYWJsZWQ7IH0K
LQogICAgIHZvaWQgc2V0Q3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVkKGJvb2wgaXNFbmFibGVk
KSB7IG1faXNDdXN0b21QYXN0ZWJvYXJkRGF0YUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBi
b29sIGN1c3RvbVBhc3RlYm9hcmREYXRhRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNDdXN0
b21QYXN0ZWJvYXJkRGF0YUVuYWJsZWQ7IH0KIAotICAgIHZvaWQgc2V0V2ViU2hhcmVFbmFibGVk
KGJvb2wgaXNFbmFibGVkKSB7IG1faXNXZWJTaGFyZUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAg
ICBib29sIHdlYlNoYXJlRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNXZWJTaGFyZUVuYWJs
ZWQ7IH0KLQogICAgIHZvaWQgc2V0TW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQoYm9vbCBhcmVF
bmFibGVkKSB7IG1fYXJlTW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQgPSBhcmVFbmFibGVkOyB9
CiAgICAgYm9vbCBtb2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1f
YXJlTW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQ7IH0KIAotICAgIHZvaWQgc2V0V2ViQXV0aGVu
dGljYXRpb25FbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNXZWJBdXRoZW50aWNhdGlvbkVu
YWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAgICBib29sIHdlYkF1dGhlbnRpY2F0aW9uRW5hYmxlZCgp
IGNvbnN0IHsgcmV0dXJuIG1faXNXZWJBdXRoZW50aWNhdGlvbkVuYWJsZWQ7IH0KLQotICAgIHZv
aWQgc2V0V2ViQXV0aGVudGljYXRpb25Mb2NhbEF1dGhlbnRpY2F0b3JFbmFibGVkKGJvb2wgaXNF
bmFibGVkKSB7IG1faXNXZWJBdXRoZW50aWNhdGlvbkxvY2FsQXV0aGVudGljYXRvckVuYWJsZWQg
PSBpc0VuYWJsZWQ7IH0KLSAgICBib29sIHdlYkF1dGhlbnRpY2F0aW9uTG9jYWxBdXRoZW50aWNh
dG9yRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNXZWJBdXRoZW50aWNhdGlvbkxvY2FsQXV0
aGVudGljYXRvckVuYWJsZWQ7IH0KLQogICAgIHZvaWQgc2V0SXNTZWN1cmVDb250ZXh0QXR0cmli
dXRlRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVu
YWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIGlzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVu
YWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVuYWJsZWQ7
IH0KIApAQCAtMTcwLDIxICsxMzcsMTIgQEAgcHVibGljOgogICAgIHZvaWQgc2V0RXhwZXJpbWVu
dGFsUGx1Z0luU2FuZGJveFByb2ZpbGVzRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2V4cGVy
aW1lbnRhbFBsdWdJblNhbmRib3hQcm9maWxlc0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBi
b29sIGV4cGVyaW1lbnRhbFBsdWdJblNhbmRib3hQcm9maWxlc0VuYWJsZWQoKSBjb25zdCB7IHJl
dHVybiBtX2V4cGVyaW1lbnRhbFBsdWdJblNhbmRib3hQcm9maWxlc0VuYWJsZWQ7IH0KIAotICAg
IHZvaWQgc2V0RGlzYWJsZWRBZGFwdGF0aW9uc01ldGFUYWdFbmFibGVkKGJvb2wgaXNFbmFibGVk
KSB7IG1fZGlzYWJsZWRBZGFwdGF0aW9uc01ldGFUYWdFbmFibGVkID0gaXNFbmFibGVkOyB9Ci0g
ICAgYm9vbCBkaXNhYmxlZEFkYXB0YXRpb25zTWV0YVRhZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVy
biBtX2Rpc2FibGVkQWRhcHRhdGlvbnNNZXRhVGFnRW5hYmxlZDsgfQotCiAgICAgdm9pZCBzZXRB
dHRyU3R5bGVFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fYXR0clN0eWxlRW5hYmxlZCA9IGlz
RW5hYmxlZDsgfQogICAgIGJvb2wgYXR0clN0eWxlRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1f
YXR0clN0eWxlRW5hYmxlZDsgfQogCiAgICAgdm9pZCBzZXRXZWJBUElTdGF0aXN0aWNzRW5hYmxl
ZChib29sIGlzRW5hYmxlZCkgeyBtX3dlYkFQSVN0YXRpc3RpY3NFbmFibGVkID0gaXNFbmFibGVk
OyB9CiAgICAgYm9vbCB3ZWJBUElTdGF0aXN0aWNzRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1f
d2ViQVBJU3RhdGlzdGljc0VuYWJsZWQ7IH0KIAotICAgIHZvaWQgc2V0Q1NTQ3VzdG9tUHJvcGVy
dGllc0FuZFZhbHVlc0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9DU1NDdXN0b21Qcm9wZXJ0
aWVzQW5kVmFsdWVzRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotICAgIGJvb2wgY3NzQ3VzdG9tUHJv
cGVydGllc0FuZFZhbHVlc0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX0NTU0N1c3RvbVByb3Bl
cnRpZXNBbmRWYWx1ZXNFbmFibGVkOyB9Ci0KLSAgICB2b2lkIHNldFN5bnRoZXRpY0VkaXRpbmdD
b21tYW5kc0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9zeW50aGV0aWNFZGl0aW5nQ29tbWFu
ZHNFbmFibGVkID0gaXNFbmFibGVkOyB9Ci0gICAgYm9vbCBzeW50aGV0aWNFZGl0aW5nQ29tbWFu
ZHNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9zeW50aGV0aWNFZGl0aW5nQ29tbWFuZHNFbmFi
bGVkOyB9Ci0KICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKICAgICB2b2lk
IHNldExheW91dEZvcm1hdHRpbmdDb250ZXh0RW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2xh
eW91dEZvcm1hdHRpbmdDb250ZXh0RW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogICAgIGJvb2wgbGF5
b3V0Rm9ybWF0dGluZ0NvbnRleHRFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9sYXlvdXRGb3Jt
YXR0aW5nQ29udGV4dEVuYWJsZWQ7IH0KQEAgLTIyOCwxNyArMTg2LDYgQEAgcHVibGljOgogICAg
IGJvb2wgdXNlckdlc3R1cmVQcm9taXNlUHJvcGFnYXRpb25FbmFibGVkKCkgY29uc3QgeyByZXR1
cm4gbV91c2VyR2VzdHVyZVByb21pc2VQcm9wYWdhdGlvbkVuYWJsZWQ7IH0KICAgICB2b2lkIHNl
dFVzZXJHZXN0dXJlUHJvbWlzZVByb3BhZ2F0aW9uRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBt
X3VzZXJHZXN0dXJlUHJvbWlzZVByb3BhZ2F0aW9uRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogCi0j
aWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLSAgICBib29sIG1lZGlhUmVjb3JkZXJFbmFibGVkKCkg
Y29uc3QgeyByZXR1cm4gbV9pc01lZGlhUmVjb3JkZXJFbmFibGVkOyB9Ci0gICAgdm9pZCBzZXRN
ZWRpYVJlY29yZGVyRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzTWVkaWFSZWNvcmRlckVu
YWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAgICBib29sIG1lZGlhRGV2aWNlc0VuYWJsZWQoKSBjb25z
dCB7IHJldHVybiBtX2lzTWVkaWFEZXZpY2VzRW5hYmxlZDsgfQotICAgIHZvaWQgc2V0TWVkaWFE
ZXZpY2VzRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzTWVkaWFEZXZpY2VzRW5hYmxlZCA9
IGlzRW5hYmxlZDsgfQotICAgIGJvb2wgbWVkaWFTdHJlYW1FbmFibGVkKCkgY29uc3QgeyByZXR1
cm4gbV9pc01lZGlhU3RyZWFtRW5hYmxlZDsgfQotICAgIHZvaWQgc2V0TWVkaWFTdHJlYW1FbmFi
bGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNNZWRpYVN0cmVhbUVuYWJsZWQgPSBpc0VuYWJsZWQ7
IH0KLSAgICBib29sIHNjcmVlbkNhcHR1cmVFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1Nj
cmVlbkNhcHR1cmVFbmFibGVkOyB9Ci0gICAgdm9pZCBzZXRTY3JlZW5DYXB0dXJlRW5hYmxlZChi
b29sIGlzRW5hYmxlZCkgeyBtX2lzU2NyZWVuQ2FwdHVyZUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0K
LSNlbmRpZgotCiAjaWYgRU5BQkxFKFdFQl9SVEMpCiAgICAgYm9vbCB3ZWJSVENEVE1GRW5hYmxl
ZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNXZWJSVENEVE1GRW5hYmxlZDsgfQogICAgIHZvaWQgc2V0
V2ViUlRDRFRNRkVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1dlYlJUQ0RUTUZFbmFibGVk
ID0gaXNFbmFibGVkOyB9CkBAIC0yNjgsMTEgKzIxNSw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNl
dERhdGFMaXN0RWxlbWVudEVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc0RhdGFMaXN0RWxl
bWVudEVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKEdBTUVQQUQp
Ci0gICAgdm9pZCBzZXRHYW1lcGFkc0VuYWJsZWQoYm9vbCBhcmVFbmFibGVkKSB7IG1fYXJlR2Ft
ZXBhZHNFbmFibGVkID0gYXJlRW5hYmxlZDsgfQotICAgIGJvb2wgZ2FtZXBhZHNFbmFibGVkKCkg
Y29uc3QgeyByZXR1cm4gbV9hcmVHYW1lcGFkc0VuYWJsZWQ7IH0KLSNlbmRpZgotCiAjaWYgRU5B
QkxFKFdFQkdMMikKICAgICB2b2lkIHNldFdlYkdMMkVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsg
bV9pc1dlYkdMMkVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIHdlYkdMMkVuYWJsZWQo
KSBjb25zdCB7IHJldHVybiBtX2lzV2ViR0wyRW5hYmxlZDsgfQpAQCAtMjk1LDUwICsyMzcsMTcg
QEAgcHVibGljOgogICAgIHZvaWQgc2V0VHJhbnNmb3JtU3RyZWFtQVBJRW5hYmxlZChib29sIGlz
RW5hYmxlZCkgeyBtX2lzVHJhbnNmb3JtU3RyZWFtQVBJRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQog
ICAgIGJvb2wgdHJhbnNmb3JtU3RyZWFtQVBJRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNU
cmFuc2Zvcm1TdHJlYW1BUElFbmFibGVkOyB9CiAKLSNpZiBFTkFCTEUoRE9XTkxPQURfQVRUUklC
VVRFKQotICAgIHZvaWQgc2V0RG93bmxvYWRBdHRyaWJ1dGVFbmFibGVkKGJvb2wgaXNFbmFibGVk
KSB7IG1faXNEb3dubG9hZEF0dHJpYnV0ZUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAgICBib29s
IGRvd25sb2FkQXR0cmlidXRlRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNEb3dubG9hZEF0
dHJpYnV0ZUVuYWJsZWQ7IH0KLSNlbmRpZgotCi0jaWYgRU5BQkxFKElOVEVSU0VDVElPTl9PQlNF
UlZFUikKLSAgICB2b2lkIHNldEludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZChib29sIGlzRW5h
YmxlZCkgeyBtX2ludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotICAg
IGJvb2wgaW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pbnRl
cnNlY3Rpb25PYnNlcnZlckVuYWJsZWQ7IH0KLSNlbmRpZgotCi0gICAgdm9pZCBzZXRVbmRvTWFu
YWdlckFQSUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV91bmRvTWFuYWdlckFQSUVuYWJsZWQg
PSBpc0VuYWJsZWQ7IH0KLSAgICBib29sIHVuZG9NYW5hZ2VyQVBJRW5hYmxlZCgpIGNvbnN0IHsg
cmV0dXJuIG1fdW5kb01hbmFnZXJBUElFbmFibGVkOyB9Ci0KLSNpZiBFTkFCTEUoRU5DUllQVEVE
X01FRElBKQotICAgIHZvaWQgc2V0RW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKGJvb2wgaXNFbmFi
bGVkKSB7IG1fZW5jcnlwdGVkTWVkaWFBUElFbmFibGVkID0gaXNFbmFibGVkOyB9Ci0gICAgYm9v
bCBlbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2VuY3J5cHRlZE1l
ZGlhQVBJRW5hYmxlZDsgfQotI2VuZGlmCi0KLSNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9N
RURJQSkKLSAgICB2b2lkIHNldExlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZChib29sIGlz
RW5hYmxlZCkgeyBtX2xlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZCA9IGlzRW5hYmxlZDsg
fQotICAgIGJvb2wgbGVnYWN5RW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKCkgY29uc3QgeyByZXR1
cm4gbV9sZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQ7IH0KLSNlbmRpZgotCiAjaWYgRU5B
QkxFKFNFUlZJQ0VfV09SS0VSKQogICAgIGJvb2wgc2VydmljZVdvcmtlckVuYWJsZWQoKSBjb25z
dCB7IHJldHVybiBtX3NlcnZpY2VXb3JrZXJFbmFibGVkOyB9CiAgICAgdm9pZCBzZXRTZXJ2aWNl
V29ya2VyRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX3NlcnZpY2VXb3JrZXJFbmFibGVkID0g
aXNFbmFibGVkOyB9CiAjZW5kaWYKIAotI2lmIFVTRShTWVNURU1fUFJFVklFVykKLSAgICB2b2lk
IHNldFN5c3RlbVByZXZpZXdFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fc3lzdGVtUHJldmll
d0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAgICBib29sIHN5c3RlbVByZXZpZXdFbmFibGVkKCkg
Y29uc3QgeyByZXR1cm4gbV9zeXN0ZW1QcmV2aWV3RW5hYmxlZDsgfQotI2VuZGlmCi0KICAgICB2
b2lkIHNldENTU0xvZ2ljYWxFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fQ1NTTG9naWNhbEVu
YWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIGNzc0xvZ2ljYWxFbmFibGVkKCkgY29uc3Qg
eyByZXR1cm4gbV9DU1NMb2dpY2FsRW5hYmxlZDsgfQogCi0gICAgdm9pZCBzZXRMZWdhY3lCZWZv
cmVMb2FkRXZlbnRFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fbGVnYWN5QmVmb3JlTG9hZEV2
ZW50RW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotICAgIGJvb2wgbGVnYWN5QmVmb3JlTG9hZEV2ZW50
RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVnYWN5QmVmb3JlTG9hZEV2ZW50RW5hYmxlZDsg
fQotCiAgICAgdm9pZCBzZXRMaW5lSGVpZ2h0VW5pdHNFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7
IG1fbGluZUhlaWdodFVuaXRzRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogICAgIGJvb2wgbGluZUhl
aWdodFVuaXRzRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fbGluZUhlaWdodFVuaXRzRW5hYmxl
ZDsgfQogCi0gICAgYm9vbCBhZENsaWNrQXR0cmlidXRpb25FbmFibGVkKCkgY29uc3QgeyByZXR1
cm4gbV9hZENsaWNrQXR0cmlidXRpb25FbmFibGVkOyB9Ci0gICAgdm9pZCBzZXRBZENsaWNrQXR0
cmlidXRpb25FbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fYWRDbGlja0F0dHJpYnV0aW9uRW5h
YmxlZCA9IGlzRW5hYmxlZDsgfQogICAgIGJvb2wgYWRDbGlja0F0dHJpYnV0aW9uRGVidWdNb2Rl
RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fYWRDbGlja0F0dHJpYnV0aW9uRGVidWdNb2RlRW5h
YmxlZDsgfQogICAgIHZvaWQgc2V0QWRDbGlja0F0dHJpYnV0aW9uRGVidWdNb2RlRW5hYmxlZChi
b29sIGlzRW5hYmxlZCkgeyBtX2FkQ2xpY2tBdHRyaWJ1dGlvbkRlYnVnTW9kZUVuYWJsZWQgPSBp
c0VuYWJsZWQ7IH0KIApAQCAtMzQ5LDIxICsyNTgsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRU
b3VjaEV2ZW50c0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV90b3VjaEV2ZW50c0VuYWJsZWQg
PSBpc0VuYWJsZWQ7IH0KICNlbmRpZgogCi0gICAgYm9vbCByZWZlcnJlclBvbGljeUF0dHJpYnV0
ZUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3JlZmVycmVyUG9saWN5QXR0cmlidXRlRW5hYmxl
ZDsgfQotICAgIHZvaWQgc2V0UmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGVFbmFibGVkKGJvb2wgaXNF
bmFibGVkKSB7IG1fcmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGVFbmFibGVkID0gaXNFbmFibGVkOyB9
Ci0KICAgICBib29sIHBhZ2VBdFJ1bGVTdXBwb3J0RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1f
cGFnZUF0UnVsZVN1cHBvcnRFbmFibGVkOyB9CiAgICAgdm9pZCBzZXRQYWdlQXRSdWxlU3VwcG9y
dEVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9wYWdlQXRSdWxlU3VwcG9ydEVuYWJsZWQgPSBp
c0VuYWJsZWQ7IH0KIAotICAgIGJvb2wgaW50ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5Q2hh
bmdlRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faW50ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmls
aXR5Q2hhbmdlRW5hYmxlZDsgfQotICAgIHZvaWQgc2V0SW50ZXJydXB0QXVkaW9PblBhZ2VWaXNp
YmlsaXR5Q2hhbmdlRW5hYmxlZChib29sIGVuYWJsZWQpIHsgbV9pbnRlcnJ1cHRBdWRpb09uUGFn
ZVZpc2liaWxpdHlDaGFuZ2VFbmFibGVkID0gZW5hYmxlZDsgfQotCi0gICAgYm9vbCBsaW5rUHJl
bG9hZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9saW5rUHJlbG9h
ZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVkOyB9Ci0gICAgdm9pZCBzZXRMaW5rUHJlbG9hZFJlc3Bv
bnNpdmVJbWFnZXNFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fbGlua1ByZWxvYWRSZXNwb25z
aXZlSW1hZ2VzRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotCi0gICAgdm9pZCBzZXRMYXp5SW1hZ2VM
b2FkaW5nRW5hYmxlZChib29sIGFyZUVuYWJsZWQpIHsgbV9sYXp5SW1hZ2VMb2FkaW5nRW5hYmxl
ZCA9IGFyZUVuYWJsZWQ7IH0KLSAgICBib29sIGxhenlJbWFnZUxvYWRpbmdFbmFibGVkKCkgY29u
c3QgeyByZXR1cm4gbV9sYXp5SW1hZ2VMb2FkaW5nRW5hYmxlZDsgfQotCiAgICAgdm9pZCBzZXRD
U1NTaGFkb3dQYXJ0c0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc0NTU1NoYWRvd1BhcnRz
RW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogICAgIGJvb2wgY3NzU2hhZG93UGFydHNFbmFibGVkKCkg
Y29uc3QgeyByZXR1cm4gbV9pc0NTU1NoYWRvd1BhcnRzRW5hYmxlZDsgfQogCkBAIC0zNzcsMjAg
KzI3NCwxMSBAQCBwdWJsaWM6CiAgICAgYm9vbCBzZWN1cmVDb250ZXh0Q2hlY2tzRW5hYmxlZCgp
IGNvbnN0IHsgcmV0dXJuIG1fc2VjdXJlQ29udGV4dENoZWNrc0VuYWJsZWQ7IH0KICAgICB2b2lk
IHNldFNlY3VyZUNvbnRleHRDaGVja3NFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fc2VjdXJl
Q29udGV4dENoZWNrc0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KIAotICAgIHZvaWQgc2V0SXNJbkFw
cEJyb3dzZXJQcml2YWN5RW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzSW5BcHBCcm93c2Vy
UHJpdmFjeUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAgICBib29sIGlzSW5BcHBCcm93c2VyUHJp
dmFjeUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzSW5BcHBCcm93c2VyUHJpdmFjeUVuYWJs
ZWQ7IH0KLQotICAgIHZvaWQgc2V0TmVlZHNJbkFwcEJyb3dzZXJQcml2YWN5UXVpcmtzKGJvb2wg
aXNFbmFibGVkKSB7IG1fbmVlZHNJbkFwcEJyb3dzZXJQcml2YWN5UXVpcmtzID0gaXNFbmFibGVk
OyB9Ci0gICAgYm9vbCBuZWVkc0luQXBwQnJvd3NlclByaXZhY3lRdWlya3MoKSBjb25zdCB7IHJl
dHVybiBtX25lZWRzSW5BcHBCcm93c2VyUHJpdmFjeVF1aXJrczsgfQotCiAjaWYgRU5BQkxFKEFD
Q0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKICAgICB2b2lkIHNldElzQWNjZXNzaWJpbGl0eUlz
b2xhdGVkVHJlZUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9hY2Nlc3NpYmlsaXR5SXNvbGF0
ZWRUcmVlID0gaXNFbmFibGVkOyB9CiAgICAgYm9vbCBpc0FjY2Vzc2liaWxpdHlJc29sYXRlZFRy
ZWVFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9hY2Nlc3NpYmlsaXR5SXNvbGF0ZWRUcmVlOyB9
CiAjZW5kaWYKICAgICAKLSAgICB2b2lkIHNldFdlYlNoYXJlRmlsZUFQSUVuYWJsZWQoYm9vbCBp
c0VuYWJsZWQpIHsgbV93ZWJTaGFyZUZpbGVBUElFbmFibGVkID0gaXNFbmFibGVkOyB9Ci0gICAg
Ym9vbCB3ZWJTaGFyZUZpbGVBUElFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV93ZWJTaGFyZUZp
bGVBUElFbmFibGVkOyB9Ci0KICNpZiBIQVZFKElOQ1JFTUVOVEFMX1BERl9BUElTKQogICAgIHZv
aWQgc2V0SW5jcmVtZW50YWxQREZMb2FkaW5nRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lu
Y3JlbWVudGFsUERGTG9hZGluZ0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIGluY3Jl
bWVudGFsUERGTG9hZGluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2luY3JlbWVudGFsUERG
TG9hZGluZ0VuYWJsZWQ7IH0KQEAgLTQwNSwyNiArMjkzLDE1IEBAIHByaXZhdGU6CiAgICAgLy8g
TmV2ZXIgaW5zdGFudGlhdGUuCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlcygpOwogCi0gICAg
Ym9vbCBtX2JsYW5rQW5jaG9yVGFyZ2V0SW1wbGllc05vT3BlbmVyRW5hYmxlZCB7IHRydWUgfTsK
ICAgICBib29sIG1fYXJlTW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQgeyBmYWxzZSB9OwotICAg
IGJvb2wgbV9pc0xpbmtQcmVsb2FkRW5hYmxlZCB7IHRydWUgfTsKLSAgICBib29sIG1faXNMaW5r
UHJlZmV0Y2hFbmFibGVkIHsgZmFsc2UgfTsKLSAgICBib29sIG1faXNNZWRpYVByZWxvYWRpbmdF
bmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNQYWludFRpbWluZ0VuYWJsZWQgeyBmYWxz
ZSB9OwogICAgIGJvb2wgbV9pc1Jlc291cmNlVGltaW5nRW5hYmxlZCB7IGZhbHNlIH07CiAgICAg
Ym9vbCBtX2lzVXNlclRpbWluZ0VuYWJsZWQgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9pc0ludGVy
YWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkIHsgZmFsc2UgfTsKLSAgICBib29sIG1faXNXZWJB
dXRoZW50aWNhdGlvbkVuYWJsZWQgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9pc1dlYkF1dGhlbnRp
Y2F0aW9uTG9jYWxBdXRoZW50aWNhdG9yRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lz
U2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc1No
YWRvd0RPTUVuYWJsZWQgeyB0cnVlIH07Ci0gICAgYm9vbCBtX2FyZUN1c3RvbUVsZW1lbnRzRW5h
YmxlZCB7IHRydWUgfTsKICAgICBib29sIG1faXNNZW51SXRlbUVsZW1lbnRFbmFibGVkIHsgZmFs
c2UgfTsKICAgICBib29sIG1faXNEaXJlY3RvcnlVcGxvYWRFbmFibGVkIHsgZmFsc2UgfTsKLSAg
ICBib29sIG1fYXJlRGF0YVRyYW5zZmVySXRlbXNFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29s
IG1faXNDdXN0b21QYXN0ZWJvYXJkRGF0YUVuYWJsZWQgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9p
c1dlYlNoYXJlRW5hYmxlZCB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX2lucHV0RXZlbnRzRW5hYmxl
ZCB7IHRydWUgfTsKICAgICBib29sIG1fYXJlV2ViQW5pbWF0aW9uc0VuYWJsZWQgeyB0cnVlIH07
CiAgICAgYm9vbCBtX2lzV2ViQW5pbWF0aW9uc0NTU0ludGVncmF0aW9uRW5hYmxlZCB7IHRydWUg
fTsKICAgICBib29sIG1fYXJlV2ViQW5pbWF0aW9uc0NvbXBvc2l0ZU9wZXJhdGlvbnNFbmFibGVk
IHsgZmFsc2UgfTsKQEAgLTQ0OCwxMCArMzI1LDggQEAgcHJpdmF0ZToKICAgICBib29sIG1fY3Jv
c3NPcmlnaW5SZXNvdXJjZVBvbGljeUVuYWJsZWQgeyB0cnVlIH07CiAgICAgYm9vbCBtX2lzU2Vy
dmVyVGltaW5nRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2V4cGVyaW1lbnRhbFBsdWdJ
blNhbmRib3hQcm9maWxlc0VuYWJsZWQgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9kaXNhYmxlZEFk
YXB0YXRpb25zTWV0YVRhZ0VuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9hdHRyU3R5bGVF
bmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fd2ViQVBJU3RhdGlzdGljc0VuYWJsZWQgeyBm
YWxzZSB9OwotICAgIGJvb2wgbV9DU1NDdXN0b21Qcm9wZXJ0aWVzQW5kVmFsdWVzRW5hYmxlZCB7
IGZhbHNlIH07CiAgICAgYm9vbCBtX3N5bnRoZXRpY0VkaXRpbmdDb21tYW5kc0VuYWJsZWQgeyB0
cnVlIH07CiAgICAgYm9vbCBtX2RpYWxvZ0VsZW1lbnRFbmFibGVkIHsgZmFsc2UgfTsKICAgICBi
b29sIG1fd2ViU1FMRW5hYmxlZCB7IGZhbHNlIH07CkBAIC00ODEsMTIgKzM1Niw2IEBAIHByaXZh
dGU6CiAjZW5kaWYKIAogICAgIGJvb2wgbV91c2VyR2VzdHVyZVByb21pc2VQcm9wYWdhdGlvbkVu
YWJsZWQgeyB0cnVlIH07Ci0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLSAgICBib29sIG1faXNN
ZWRpYVJlY29yZGVyRW5hYmxlZCB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX2lzTWVkaWFEZXZpY2Vz
RW5hYmxlZCB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX2lzTWVkaWFTdHJlYW1FbmFibGVkIHsgdHJ1
ZSB9OwotICAgIGJvb2wgbV9pc1NjcmVlbkNhcHR1cmVFbmFibGVkIHsgZmFsc2UgfTsKLSNlbmRp
ZgogCiAjaWYgRU5BQkxFKFdFQl9SVEMpCiAgICAgYm9vbCBtX2lzV2ViUlRDRFRNRkVuYWJsZWQg
eyB0cnVlIH07CkBAIC01MDcsMTAgKzM3Niw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzRGF0
YUxpc3RFbGVtZW50RW5hYmxlZCB7IGZhbHNlIH07CiAjZW5kaWYKIAotI2lmIEVOQUJMRShHQU1F
UEFEKQotICAgIGJvb2wgbV9hcmVHYW1lcGFkc0VuYWJsZWQgeyBmYWxzZSB9OwotI2VuZGlmCi0K
ICAgICBib29sIG1faXNSZWFkYWJsZUJ5dGVTdHJlYW1BUElFbmFibGVkIHsgZmFsc2UgfTsKICAg
ICBib29sIG1faXNXcml0YWJsZVN0cmVhbUFQSUVuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wg
bV9pc1RyYW5zZm9ybVN0cmVhbUFQSUVuYWJsZWQgeyBmYWxzZSB9OwpAQCAtNTI3LDM5ICszOTIs
MTYgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNNYXNrV2ViR0xTdHJpbmdzRW5hYmxlZCB7IGZh
bHNlIH07CiAjZW5kaWYKIAotI2lmIEVOQUJMRShET1dOTE9BRF9BVFRSSUJVVEUpCi0gICAgYm9v
bCBtX2lzRG93bmxvYWRBdHRyaWJ1dGVFbmFibGVkIHsgZmFsc2UgfTsKLSNlbmRpZgotCi0jaWYg
RU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKLSAgICBib29sIG1fZW5jcnlwdGVkTWVkaWFBUElFbmFi
bGVkIHsgZmFsc2UgfTsKLSNlbmRpZgotCi0jaWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVE
SUEpCi0gICAgYm9vbCBtX2xlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZCB7IHRydWUgfTsK
LSNlbmRpZgotCi0jaWYgRU5BQkxFKElOVEVSU0VDVElPTl9PQlNFUlZFUikKLSAgICBib29sIG1f
aW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkIHsgZmFsc2UgfTsKLSNlbmRpZgotCiAjaWYgRU5B
QkxFKFNFUlZJQ0VfV09SS0VSKQogICAgIGJvb2wgbV9zZXJ2aWNlV29ya2VyRW5hYmxlZCB7IGZh
bHNlIH07CiAjZW5kaWYKIAotI2lmIFVTRShTWVNURU1fUFJFVklFVykKLSAgICBib29sIG1fc3lz
dGVtUHJldmlld0VuYWJsZWQgeyBmYWxzZSB9OwotI2VuZGlmCi0KLSAgICBib29sIG1fdW5kb01h
bmFnZXJBUElFbmFibGVkIHsgZmFsc2UgfTsKLQogICAgIGJvb2wgbV9DU1NMb2dpY2FsRW5hYmxl
ZCB7IGZhbHNlIH07CiAKICAgICAvLyBGYWxzZSBieSBkZWZhdWx0IHVudGlsIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTEzNTEgLwogICAgIC8vIGh0dHBzOi8vZ2l0
aHViLmNvbS93M2MvY3Nzd2ctZHJhZnRzL2lzc3Vlcy8zMjU3IGhhdmUgYmVlbiBzb3J0ZWQgb3V0
LgogICAgIGJvb2wgbV9saW5lSGVpZ2h0VW5pdHNFbmFibGVkIHsgZmFsc2UgfTsKIAotICAgIGJv
b2wgbV9hZENsaWNrQXR0cmlidXRpb25FbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fYWRD
bGlja0F0dHJpYnV0aW9uRGVidWdNb2RlRW5hYmxlZCB7IGZhbHNlIH07CiAKICNpZiBFTkFCTEUo
VE9VQ0hfRVZFTlRTKQpAQCAtNTY5LDI4ICs0MTEsMTYgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wg
bV9pc0lUUERhdGFiYXNlRW5hYmxlZCB7IHRydWUgfTsKIAotICAgIGJvb2wgbV9yZWZlcnJlclBv
bGljeUF0dHJpYnV0ZUVuYWJsZWQgeyB0cnVlIH07Ci0gICAgYm9vbCBtX2ludGVycnVwdEF1ZGlv
T25QYWdlVmlzaWJpbGl0eUNoYW5nZUVuYWJsZWQgeyBmYWxzZSB9OwotCi0gICAgYm9vbCBtX2xp
bmtQcmVsb2FkUmVzcG9uc2l2ZUltYWdlc0VuYWJsZWQgeyBmYWxzZSB9OwotCiAjaWYgSEFWRShO
U1VSTFNFU1NJT05fV0VCU09DS0VUKQogICAgIGJvb2wgbV9pc05TVVJMU2Vzc2lvbldlYlNvY2tl
dEVuYWJsZWQgeyBmYWxzZSB9OwogI2VuZGlmCiAKLSAgICBib29sIG1fbGF6eUltYWdlTG9hZGlu
Z0VuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9zZWN1cmVDb250ZXh0Q2hlY2tzRW5hYmxl
ZCB7IHRydWUgfTsKICAgICBib29sIG1faXNDU1NTaGFkb3dQYXJ0c0VuYWJsZWQgeyB0cnVlIH07
CiAKLSAgICBib29sIG1faXNJbkFwcEJyb3dzZXJQcml2YWN5RW5hYmxlZCB7IGZhbHNlIH07Ci0g
ICAgYm9vbCBtX25lZWRzSW5BcHBCcm93c2VyUHJpdmFjeVF1aXJrcyB7IGZhbHNlIH07Ci0KLSAg
ICBib29sIG1fbGVnYWN5QmVmb3JlTG9hZEV2ZW50RW5hYmxlZCB7IGZhbHNlIH07Ci0KICNpZiBF
TkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQogICAgIGJvb2wgbV9hY2Nlc3NpYmls
aXR5SXNvbGF0ZWRUcmVlIHsgZmFsc2UgfTsKICNlbmRpZgotICAgIGJvb2wgbV93ZWJTaGFyZUZp
bGVBUElFbmFibGVkIHsgZmFsc2UgfTsKIAogI2lmIEhBVkUoSU5DUkVNRU5UQUxfUERGX0FQSVMp
CiAgICAgYm9vbCBtX2luY3JlbWVudGFsUERGTG9hZGluZ0VuYWJsZWQgeyBmYWxzZSB9OwpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNl
L1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCSh3b3JraW5nIGNvcHkpCkBAIC0yMDQsNyArMjA0
LDcgQEAgZG9tVGltZXJzVGhyb3R0bGluZ0VuYWJsZWQ6CiAgIGluaXRpYWw6IHRydWUKIHdlYkFy
Y2hpdmVEZWJ1Z01vZGVFbmFibGVkOgogICBpbml0aWFsOiBmYWxzZQotICBjb25kaXRpb25hbDog
V0VCX0FSQ0hJVkUKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShXRUJfQVJDSElWRSkKIGxvY2FsRmls
ZUNvbnRlbnRTbmlmZmluZ0VuYWJsZWQ6CiAgIGluaXRpYWw6IGZhbHNlCiBvZmZsaW5lV2ViQXBw
bGljYXRpb25DYWNoZUVuYWJsZWQ6CkBAIC0yMzcsNyArMjM3LDcgQEAgYWNjZWxlcmF0ZWRDb21w
b3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbgogICBpbml0aWFsOiBkZWZhdWx0QWNjZWxlcmF0ZWRD
b21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbmFibGVkCiBydWJiZXJCYW5kaW5nRm9yU3ViU2Ny
b2xsYWJsZVJlZ2lvbnNFbmFibGVkOgogICBpbml0aWFsOiB0cnVlCi0gIGNvbmRpdGlvbmFsOiBS
VUJCRVJfQkFORElORworICBjb25kaXRpb25hbDogRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQogCiBl
eHBlcmltZW50YWxOb3RpZmljYXRpb25zRW5hYmxlZDoKICAgaW5pdGlhbDogZmFsc2UKQEAgLTI2
Myw3ICsyNjMsNyBAQCBwYWdpbmF0ZUR1cmluZ0xheW91dEVuYWJsZWQ6CiAgIGluaXRpYWw6IGZh
bHNlCiBmdWxsU2NyZWVuRW5hYmxlZDoKICAgaW5pdGlhbDogZmFsc2UKLSAgY29uZGl0aW9uYWw6
IEZVTExTQ1JFRU5fQVBJCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCiBh
c3luY2hyb25vdXNTcGVsbENoZWNraW5nRW5hYmxlZDoKICAgaW5pdGlhbDogZmFsc2UKIApAQCAt
MzIyLDI2ICszMjIsMjYgQEAgYmFja3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJsZWQ6CiAgIGluaXRp
YWw6IHRydWUKIHNob3VsZERpc3BsYXlTdWJ0aXRsZXM6CiAgIGluaXRpYWw6IGZhbHNlCi0gIGNv
bmRpdGlvbmFsOiBWSURFTworICBjb25kaXRpb25hbDogRU5BQkxFKFZJREVPKQogc2hvdWxkRGlz
cGxheUNhcHRpb25zOgogICBpbml0aWFsOiBmYWxzZQotICBjb25kaXRpb25hbDogVklERU8KKyAg
Y29uZGl0aW9uYWw6IEVOQUJMRShWSURFTykKIHNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25z
OgogICBpbml0aWFsOiBmYWxzZQotICBjb25kaXRpb25hbDogVklERU8KKyAgY29uZGl0aW9uYWw6
IEVOQUJMRShWSURFTykKIGdlbmVyaWNDdWVBUElFbmFibGVkOgogICBpbml0aWFsOiBmYWxzZQot
ICBjb25kaXRpb25hbDogVklERU8KKyAgY29uZGl0aW9uYWw6IEVOQUJMRShWSURFTykKIHVzZUdQ
VVByb2Nlc3NGb3JNZWRpYToKICAgaW5pdGlhbDogZmFsc2UKLSAgY29uZGl0aW9uYWw6IEdQVV9Q
Uk9DRVNTCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoR1BVX1BST0NFU1MpCiBzY3JvbGxpbmdDb29y
ZGluYXRvckVuYWJsZWQ6CiAgIGluaXRpYWw6IGZhbHNlCiBzY3JvbGxpbmdUcmVlSW5jbHVkZXNG
cmFtZXM6CiAgIGluaXRpYWw6IGRlZmF1bHRTY3JvbGxpbmdUcmVlSW5jbHVkZXNGcmFtZXMKIHNj
cm9sbEFuaW1hdG9yRW5hYmxlZDoKICAgaW5pdGlhbDogdHJ1ZQotICBjb25kaXRpb25hbDogU01P
T1RIX1NDUk9MTElORworICBjb25kaXRpb25hbDogRU5BQkxFKFNNT09USF9TQ1JPTExJTkcpCiBm
b3JjZVVwZGF0ZVNjcm9sbGJhcnNPbk1haW5UaHJlYWRGb3JQZXJmb3JtYW5jZVRlc3Rpbmc6CiAg
IGluaXRpYWw6IGZhbHNlCiBub3RpZmljYXRpb25zRW5hYmxlZDoKQEAgLTQyOCw3ICs0MjgsNyBA
QCBjb3JlSW1hZ2VBY2NlbGVyYXRlZEZpbHRlclJlbmRlckVuYWJsZWQ6CiBsZWdhY3lPdmVyZmxv
d1Njcm9sbGluZ1RvdWNoRW5hYmxlZDoKICAgaW5pdGlhbDogdHJ1ZQogICBvbkNoYW5nZTogc2V0
TmVlZHNSZWxheW91dEFsbEZyYW1lcwotICBjb25kaXRpb25hbDogT1ZFUkZMT1dfU0NST0xMSU5H
X1RPVUNICisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKQog
CiB3ZWJTZWN1cml0eUVuYWJsZWQ6CiAgIGluaXRpYWw6IHRydWUKQEAgLTQ2OCwyMiArNDY4LDIy
IEBAIGZpeGVkQmFja2dyb3VuZHNQYWludFJlbGF0aXZlVG9Eb2N1bWVudDoKIHRleHRBdXRvc2l6
aW5nRW5hYmxlZDoKICAgaW5pdGlhbDogZGVmYXVsdFRleHRBdXRvc2l6aW5nRW5hYmxlZCgpCiAg
IG9uQ2hhbmdlOiBzZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMKLSAgY29uZGl0aW9uYWw6
IFRFWFRfQVVUT1NJWklORworICBjb25kaXRpb25hbDogRU5BQkxFKFRFWFRfQVVUT1NJWklORykK
IHRleHRBdXRvc2l6aW5nV2luZG93U2l6ZU92ZXJyaWRlOgogICB0eXBlOiBJbnRTaXplCiAgIG9u
Q2hhbmdlOiBzZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMKLSAgY29uZGl0aW9uYWw6IFRF
WFRfQVVUT1NJWklORworICBjb25kaXRpb25hbDogRU5BQkxFKFRFWFRfQVVUT1NJWklORykKIG1p
bmltdW1ab29tRm9udFNpemU6CiAgIHR5cGU6IGZsb2F0CiAgIGluaXRpYWw6IGRlZmF1bHRNaW5p
bXVtWm9vbUZvbnRTaXplKCkKLSAgY29uZGl0aW9uYWw6IFRFWFRfQVVUT1NJWklORworICBjb25k
aXRpb25hbDogRU5BQkxFKFRFWFRfQVVUT1NJWklORykKIHRleHRBdXRvc2l6aW5nVXNlc0lkZW1w
b3RlbnRNb2RlOgogICBpbml0aWFsOiBmYWxzZQogICBvbkNoYW5nZTogc2V0TmVlZHNSZWNhbGNT
dHlsZUluQWxsRnJhbWVzCi0gIGNvbmRpdGlvbmFsOiBURVhUX0FVVE9TSVpJTkcKKyAgY29uZGl0
aW9uYWw6IEVOQUJMRShURVhUX0FVVE9TSVpJTkcpCiBpZGVtcG90ZW50TW9kZUF1dG9zaXppbmdP
bmx5SG9ub3JzUGVyY2VudGFnZXM6CiAgIGluaXRpYWw6IGZhbHNlCi0gIGNvbmRpdGlvbmFsOiBU
RVhUX0FVVE9TSVpJTkcKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShURVhUX0FVVE9TSVpJTkcpCiAg
ICMgVGhpcyBpcyBvbmx5IHNldCBiZWZvcmUgdGhlIG1haW4gZnJhbWUgbG9hZCwgc28gdGhlcmUn
cyBubyBuZWVkIHRvIHNwZWNpZnkgc2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVzLgogCiBz
dWJwaXhlbEFudGlhbGlhc2VkTGF5ZXJUZXh0RW5hYmxlZDoKQEAgLTUwNywxMSArNTA3LDExIEBA
IHVzZUdpYW50VGlsZXM6CiAKIG1lZGlhU291cmNlRW5hYmxlZDoKICAgaW5pdGlhbDogcGxhdGZv
cm1EZWZhdWx0TWVkaWFTb3VyY2VFbmFibGVkKCkKLSAgY29uZGl0aW9uYWw6IE1FRElBX1NPVVJD
RQorICBjb25kaXRpb25hbDogRU5BQkxFKE1FRElBX1NPVVJDRSkKIAogc291cmNlQnVmZmVyQ2hh
bmdlVHlwZUVuYWJsZWQ6CiAgIGluaXRpYWw6IHRydWUKLSAgY29uZGl0aW9uYWw6IE1FRElBX1NP
VVJDRQorICBjb25kaXRpb25hbDogRU5BQkxFKE1FRElBX1NPVVJDRSkKIAogIyBGSVhNRTogUmVu
YW1lIHRvIGFsbG93TXVsdGlFbGVtZW50SW1wbGljaXRGb3JtU3VibWlzc2lvbiBvbmNlIHdlIHVw
c3RyZWFtIHRoZSBpT1MgY2hhbmdlcyB0byBXZWJWaWV3Lm1tLgogYWxsb3dNdWx0aUVsZW1lbnRJ
bXBsaWNpdFN1Ym1pc3Npb246CkBAIC01MTksMTEgKzUxOSwxMSBAQCBhbGxvd011bHRpRWxlbWVu
dEltcGxpY2l0U3VibWlzc2lvbjoKIAogYWxsb3dzQWlyUGxheUZvck1lZGlhUGxheWJhY2s6CiAg
IGluaXRpYWw6IHRydWUKLSAgY29uZGl0aW9uYWw6IFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVAor
ICBjb25kaXRpb25hbDogRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkKIAogcmVtb3Rl
UGxheWJhY2tFbmFibGVkOgogICBpbml0aWFsOiB0cnVlCi0gIGNvbmRpdGlvbmFsOiBXSVJFTEVT
U19QTEFZQkFDS19UQVJHRVQKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShXSVJFTEVTU19QTEFZQkFD
S19UQVJHRVQpCiAKIHNob3VsZENvbnZlcnRQb3NpdGlvblN0eWxlT25Db3B5OgogICBpbml0aWFs
OiBmYWxzZQpAQCAtNTQxLDcgKzU0MSw3IEBAIGFsd2F5c1VzZUFjY2VsZXJhdGVkT3ZlcmZsb3dT
Y3JvbGw6CiAgIGluaXRpYWw6IGZhbHNlCiBpbWFnZUNvbnRyb2xzRW5hYmxlZDoKICAgaW5pdGlh
bDogZmFsc2UKLSAgY29uZGl0aW9uYWw6IFNFUlZJQ0VfQ09OVFJPTFMKKyAgY29uZGl0aW9uYWw6
IEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQogCiBlbmFibGVJbmhlcml0VVJJUXVlcnlDb21wb25l
bnQ6CiAgIGluaXRpYWw6IGZhbHNlCkBAIC01NTYsMTggKzU1NiwxOCBAQCB1c2VJbWFnZURvY3Vt
ZW50Rm9yU3ViZnJhbWVQREY6CiBkYXRhRGV0ZWN0b3JUeXBlczoKICAgdHlwZTogRGF0YURldGVj
dG9yVHlwZXMKICAgaW5pdGlhbDogCi0gIGNvbmRpdGlvbmFsOiBEQVRBX0RFVEVDVElPTgorICBj
b25kaXRpb25hbDogRU5BQkxFKERBVEFfREVURUNUSU9OKQogCiAjIEFsbG93IFNvdXJjZUJ1ZmZl
cnMgdG8gc3RvcmUgdXAgdG8gMzA0TUIgZWFjaCwgZW5vdWdoIGZvciBhcHByb3hpbWF0ZWx5IGZp
dmUgbWludXRlcwogIyBvZiAxMDgwcCB2aWRlbyBhbmQgc3RlcmVvIGF1ZGlvLgogbWF4aW11bVNv
dXJjZUJ1ZmZlclNpemU6CiAgIHR5cGU6IGludAogICBpbml0aWFsOiAzMTg3NjcxMDQKLSAgY29u
ZGl0aW9uYWw6IE1FRElBX1NPVVJDRQorICBjb25kaXRpb25hbDogRU5BQkxFKE1FRElBX1NPVVJD
RSkKIAogc2VydmljZUNvbnRyb2xzRW5hYmxlZDoKICAgaW5pdGlhbDogZmFsc2UKLSAgY29uZGl0
aW9uYWw6IFNFUlZJQ0VfQ09OVFJPTFMKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShTRVJWSUNFX0NP
TlRST0xTKQogCiBhcHBsZU1haWxQYWdpbmF0aW9uUXVpcmtFbmFibGVkOgogICBpbml0aWFsOiBm
YWxzZQpAQCAtNjI2LDcgKzYyNiw2IEBAIGxheW91dFZpZXdwb3J0SGVpZ2h0RXhwYW5zaW9uRmFj
dG9yOgogICBpbml0aWFsOiAwCiAgIG9uQ2hhbmdlOiBzZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxG
cmFtZXMKIAotIyBSdW50aW1lLWVuYWJsZWQgZmVhdHVyZXMKIHZpc3VhbFZpZXdwb3J0RW5hYmxl
ZDoKICAgaW5pdGlhbDogdHJ1ZQogICBvbkNoYW5nZTogc2V0TmVlZHNSZWNhbGNTdHlsZUluQWxs
RnJhbWVzCkBAIC03MjAsMTYgKzcxOSwxNiBAQCBzaG91bGRJZ25vcmVGb250TG9hZENvbXBsZXRp
b25zOgogICBpbml0aWFsOiBmYWxzZQogCiBhcHBsZVBheUNhcGFiaWxpdHlEaXNjbG9zdXJlQWxs
b3dlZDoKLSAgY29uZGl0aW9uYWw6IEFQUExFX1BBWQorICBjb25kaXRpb25hbDogRU5BQkxFKEFQ
UExFX1BBWSkKICAgaW5pdGlhbDogdHJ1ZQogYXBwbGVQYXlFbmFibGVkOgotICBjb25kaXRpb25h
bDogQVBQTEVfUEFZCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoQVBQTEVfUEFZKQogICBpbml0aWFs
OiBkZWZhdWx0QXBwbGVQYXlFbmFibGVkCiBhcHBsZVBheVJlbW90ZVVJRW5hYmxlZDoKLSAgY29u
ZGl0aW9uYWw6IEFQUExFX1BBWV9SRU1PVEVfVUkKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShBUFBM
RV9QQVlfUkVNT1RFX1VJKQogICBpbml0aWFsOiB0cnVlCiBwYXltZW50UmVxdWVzdEVuYWJsZWQ6
Ci0gIGNvbmRpdGlvbmFsOiBQQVlNRU5UX1JFUVVFU1QKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShQ
QVlNRU5UX1JFUVVFU1QpCiAgIGluaXRpYWw6IGZhbHNlCiAKIGphdmFFbmFibGVkOgpAQCAtNzk5
LDcgKzc5OCw3IEBAIHNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzOgogCiByZXNpemVPYnNl
cnZlckVuYWJsZWQ6CiAgIGluaXRpYWw6IGZhbHNlCi0gIGNvbmRpdGlvbmFsOiBSRVNJWkVfT0JT
RVJWRVIKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShSRVNJWkVfT0JTRVJWRVIpCiAKICMgT25seSBz
ZXQgYnkgTGF5b3V0IFRlc3RzLgogbWVkaWFUeXBlT3ZlcnJpZGU6CkBAIC04MjksNyArODI4LDcg
QEAgZXhwb3NlU3BlYWtlcnNFbmFibGVkOgogCiBtZWRpYURldmljZUlkZW50aWZpZXJTdG9yYWdl
RGlyZWN0b3J5OgogICB0eXBlOiBTdHJpbmcKLSAgY29uZGl0aW9uYWw6IE1FRElBX1NUUkVBTQor
ICBjb25kaXRpb25hbDogRU5BQkxFKE1FRElBX1NUUkVBTSkKIAogIyBGSVhNRTogVGhpcyBxdWly
ayBpcyBuZWVkZWQgYmVjYXVzZSBvZiBSYWRhciA0Njc0NTM3IGFuZCA1MjExMjcxLiBXZSBuZWVk
IHRvIHBoYXNlIGl0IG91dCBvbmNlIEFkb2JlCiAjIGNhbiBmaXggdGhlIGJ1ZyBmcm9tIHRoZWly
IGVuZC4KQEAgLTg0MywyMiArODQyLDIyIEBAIHBhc3NpdmVUb3VjaExpc3RlbmVyc0FzRGVmYXVs
dE9uRG9jdW1lbnQKIHRvdWNoRXZlbnRFbXVsYXRpb25FbmFibGVkOgogICBpbml0aWFsOiBmYWxz
ZQogICBnZXR0ZXI6IGlzVG91Y2hFdmVudEVtdWxhdGlvbkVuYWJsZWQKLSAgY29uZGl0aW9uYWw6
IFRPVUNIX0VWRU5UUworICBjb25kaXRpb25hbDogRU5BQkxFKFRPVUNIX0VWRU5UUykKIAogZGV2
aWNlT3JpZW50YXRpb25FdmVudEVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgaW5pdGlhbDogdHJ1
ZQotICBjb25kaXRpb25hbDogREVWSUNFX09SSUVOVEFUSU9OCisgIGNvbmRpdGlvbmFsOiBFTkFC
TEUoREVWSUNFX09SSUVOVEFUSU9OKQogCiBkZXZpY2VPcmllbnRhdGlvblBlcm1pc3Npb25BUElF
bmFibGVkOgogICB0eXBlOiBib29sCiAgIGluaXRpYWw6IGZhbHNlCi0gIGNvbmRpdGlvbmFsOiBE
RVZJQ0VfT1JJRU5UQVRJT04KKyAgY29uZGl0aW9uYWw6IEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJ
T04pCiAKIHNob3VsZEVuYWJsZVRleHRBdXRvc2l6aW5nQm9vc3Q6CiAgIHR5cGU6IGJvb2wKICAg
aW5pdGlhbDogZmFsc2UKLSAgY29uZGl0aW9uYWw6IFRFWFRfQVVUT1NJWklORworICBjb25kaXRp
b25hbDogRU5BQkxFKFRFWFRfQVVUT1NJWklORykKICAgb25DaGFuZ2U6IHNob3VsZEVuYWJsZVRl
eHRBdXRvc2l6aW5nQm9vc3RDaGFuZ2VkCiAKIG1lZGlhQ2FwYWJpbGl0aWVzRW5hYmxlZDoKQEAg
LTg4Nyw3ICs4ODYsNyBAQCBzaG91bGRJZ25vcmVNZXRhVmlld3BvcnQ6CiAKIHZpZGVvUXVhbGl0
eUluY2x1ZGVzRGlzcGxheUNvbXBvc2l0aW5nRW5hYmxlZDoKICAgaW5pdGlhbDogZmFsc2UKLSAg
Y29uZGl0aW9uYWw6IFZJREVPCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoVklERU8pCiAKIGVkaXRh
YmxlSW1hZ2VzRW5hYmxlZDoKICAgaW5pdGlhbDogZmFsc2UKQEAgLTk0MSwxMSArOTQwLDEzIEBA
IGVudGVyS2V5SGludEVuYWJsZWQ6CiAKIGxlZ2FjeUdldFVzZXJNZWRpYUVuYWJsZWQ6CiAgIGlu
aXRpYWw6IGZhbHNlCi0gIGNvbmRpdGlvbmFsOiBNRURJQV9TVFJFQU0KKyAgY29uZGl0aW9uYWw6
IEVOQUJMRShNRURJQV9TVFJFQU0pCiAKKyMgRklYTUU6IFNlZW1zIHRvIGJlIHVudXNlZC4gUmVt
b3ZlIG9uY2UgdmVyaWZpZWQuCiBpc0luQXBwQnJvd3NlclByaXZhY3lFbmFibGVkOgogICBpbml0
aWFsOiBmYWxzZQogCisjIEZJWE1FOiBTZWVtcyB0byBiZSB1bnVzZWQuIFJlbW92ZSBvbmNlIHZl
cmlmaWVkLgogTmVlZHNJbkFwcEJyb3dzZXJQcml2YWN5UXVpcmtzOgogICBpbml0aWFsOiBmYWxz
ZQogCkBAIC05NTcsMzEgKzk1OCwxMjYgQEAgYXNwZWN0UmF0aW9PZkltZ0Zyb21XaWR0aEFuZEhl
aWdodEVuYWJsZQogCiBpbnB1dFR5cGVDb2xvckVuYWJsZWQ6CiAgIGluaXRpYWw6IGZhbHNlCi0g
IGNvbmRpdGlvbmFsOiBJTlBVVF9UWVBFX0NPTE9SCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoSU5Q
VVRfVFlQRV9DT0xPUikKIAogaW5wdXRUeXBlRGF0ZUVuYWJsZWQ6CiAgIGluaXRpYWw6IGZhbHNl
Ci0gIGNvbmRpdGlvbmFsOiBJTlBVVF9UWVBFX0RBVEUKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShJ
TlBVVF9UWVBFX0RBVEUpCiAKIGlucHV0VHlwZURhdGVUaW1lTG9jYWxFbmFibGVkOgogICBpbml0
aWFsOiBmYWxzZQotICBjb25kaXRpb25hbDogSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMCisgIGNv
bmRpdGlvbmFsOiBFTkFCTEUoSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKQogCiBpbnB1dFR5cGVN
b250aEVuYWJsZWQ6CiAgIGluaXRpYWw6IGZhbHNlCi0gIGNvbmRpdGlvbmFsOiBJTlBVVF9UWVBF
X01PTlRICisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoSU5QVVRfVFlQRV9NT05USCkKIAogaW5wdXRU
eXBlVGltZUVuYWJsZWQ6CiAgIGluaXRpYWw6IGZhbHNlCi0gIGNvbmRpdGlvbmFsOiBJTlBVVF9U
WVBFX1RJTUUKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShJTlBVVF9UWVBFX1RJTUUpCiAKIGlucHV0
VHlwZVdlZWtFbmFibGVkOgogICBpbml0aWFsOiBmYWxzZQotICBjb25kaXRpb25hbDogSU5QVVRf
VFlQRV9XRUVLCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoSU5QVVRfVFlQRV9XRUVLKQogCiBkYXRl
VGltZUlucHV0c0VkaXRhYmxlQ29tcG9uZW50c0VuYWJsZWQ6CiAgIGluaXRpYWw6IGZhbHNlCi0g
IGNvbmRpdGlvbmFsOiBEQVRFX0FORF9USU1FX0lOUFVUX1RZUEVTCisgIGNvbmRpdGlvbmFsOiBF
TkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykKKworYmxhbmtBbmNob3JUYXJnZXRJbXBs
aWVzTm9PcGVuZXJFbmFibGVkOgorICBpbml0aWFsOiB0cnVlCisKK2xpbmtQcmVsb2FkRW5hYmxl
ZDoKKyAgaW5pdGlhbDogdHJ1ZQorCitsaW5rUHJlZmV0Y2hFbmFibGVkOgorICBpbml0aWFsOiBm
YWxzZQorCitsaW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVkOgorICBpbml0aWFsOiBm
YWxzZQorCitkaXNhYmxlZEFkYXB0YXRpb25zTWV0YVRhZ0VuYWJsZWQ6CisgIGluaXRpYWw6IGZh
bHNlCisKK2xhenlJbWFnZUxvYWRpbmdFbmFibGVkOgorICBpbml0aWFsOiBmYWxzZQorCityZWZl
cnJlclBvbGljeUF0dHJpYnV0ZUVuYWJsZWQ6CisgIGluaXRpYWw6IHRydWUKKworY3VzdG9tRWxl
bWVudHNFbmFibGVkOgorICBpbml0aWFsOiB0cnVlCisKK2RhdGFUcmFuc2Zlckl0ZW1zRW5hYmxl
ZDoKKyAgaW5pdGlhbDogZmFsc2UKKword2ViQXV0aGVudGljYXRpb25FbmFibGVkOgorICBpbml0
aWFsOiBmYWxzZQorCit3ZWJBdXRoZW50aWNhdGlvbkxvY2FsQXV0aGVudGljYXRvckVuYWJsZWQ6
CisgIGluaXRpYWw6IGZhbHNlCisKKyMgRklYTUU6IFNlZW1zIHRvIGJlIHVudXNlZC4gUmVtb3Zl
IG9uY2UgdmVyaWZpZWQuCittZWRpYVN0cmVhbUVuYWJsZWQ6CisgIGluaXRpYWw6IHRydWUKKyAg
Y29uZGl0aW9uYWw6IEVOQUJMRShNRURJQV9TVFJFQU0pCisKK21lZGlhUmVjb3JkZXJFbmFibGVk
OgorICBpbml0aWFsOiBmYWxzZQorICBjb25kaXRpb25hbDogRU5BQkxFKE1FRElBX1NUUkVBTSkK
KworbWVkaWFEZXZpY2VzRW5hYmxlZDoKKyAgaW5pdGlhbDogZmFsc2UKKyAgY29uZGl0aW9uYWw6
IEVOQUJMRShNRURJQV9TVFJFQU0pCisKK3NjcmVlbkNhcHR1cmVFbmFibGVkOgorICBpbml0aWFs
OiBmYWxzZQorICBjb25kaXRpb25hbDogRU5BQkxFKE1FRElBX1NUUkVBTSkKKworZ2FtZXBhZHNF
bmFibGVkOgorICBpbml0aWFsOiBmYWxzZQorICBjb25kaXRpb25hbDogRU5BQkxFKEdBTUVQQUQp
CisKK2Nzc0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVkOgorICBpbml0aWFsOiBmYWxz
ZQorCit3ZWJTaGFyZUVuYWJsZWQ6CisgIGluaXRpYWw6IGZhbHNlCisKK3dlYlNoYXJlRmlsZUFQ
SUVuYWJsZWQ6CisgIGluaXRpYWw6IGZhbHNlCisKK3VuZG9NYW5hZ2VyQVBJRW5hYmxlZDoKKyAg
aW5pdGlhbDogZmFsc2UKKworaW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkOgorICBpbml0aWFs
OiBmYWxzZQorICBjb25kaXRpb25hbDogRU5BQkxFKElOVEVSU0VDVElPTl9PQlNFUlZFUikKKwor
ZG93bmxvYWRBdHRyaWJ1dGVFbmFibGVkOgorICBpbml0aWFsOiBmYWxzZQorICBjb25kaXRpb25h
bDogRU5BQkxFKERPV05MT0FEX0FUVFJJQlVURSkKKworc3lzdGVtUHJldmlld0VuYWJsZWQ6Cisg
IGluaXRpYWw6IGZhbHNlCisgIGNvbmRpdGlvbmFsOiBVU0UoU1lTVEVNX1BSRVZJRVcpCisKK2lu
dGVycnVwdEF1ZGlvT25QYWdlVmlzaWJpbGl0eUNoYW5nZUVuYWJsZWQ6CisgIGluaXRpYWw6IGZh
bHNlCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCitlbmNyeXB0ZWRNZWRp
YUFQSUVuYWJsZWQ6CisgIGludGlpYWw6IGZhbHNlCisgIGNvbmRpdGlvbmE6IEVOQUJMRShFTkNS
WVBURURfTUVESUEpCisKK2xlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZDoKKyAgaW50aWlh
bDogdHJ1ZQorICBjb25kaXRpb25hOiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkKKwor
IyBGSU1YRTogVGhpcyBkb2VzIG5vdCBhcHBlYXIgdG8gZXZlciBiZSBzZXQgdG8gdHJ1ZS4gUmVt
b3ZlIG9uY2UgdmVyaWZpZWQuCitsZWdhY3lCZWZvcmVMb2FkRXZlbnRFbmFibGVkOgorICBpbml0
aWFsOiBmYWxzZQorCiAKICMgRGVwcmVjYXRlZAogCkBAIC05OTIsMTMgKzEwODgsMTMgQEAgaWNl
Q2FuZGlkYXRlRmlsdGVyaW5nRW5hYmxlZDoKIAogbW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZDoK
ICAgaW5pdGlhbDogZmFsc2UKLSAgY29uZGl0aW9uYWw6IE1FRElBX1NUUkVBTQorICBjb25kaXRp
b25hbDogRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgb25DaGFuZ2U6IG1vY2tDYXB0dXJlRGV2aWNl
c0VuYWJsZWRDaGFuZ2VkCiAgIGluc3BlY3Rvck92ZXJyaWRlOiB0cnVlCiAKIG1lZGlhQ2FwdHVy
ZVJlcXVpcmVzU2VjdXJlQ29ubmVjdGlvbjoKICAgaW5pdGlhbDogdHJ1ZQotICBjb25kaXRpb25h
bDogTUVESUFfU1RSRUFNCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICBp
bnNwZWN0b3JPdmVycmlkZTogdHJ1ZQogCiBzaG91bGRVc2VTZXJ2aWNlV29ya2VyU2hvcnRUaW1l
b3V0OgpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9VbmRvSXRlbS5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGFnZS9VbmRvSXRlbS5pZGwJKHJldmlzaW9uIDI2NjMxMikKKysr
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvVW5kb0l0ZW0uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3
ICsyNCw3IEBACiAgKi8KIAogWwotICAgIEVuYWJsZWRBdFJ1bnRpbWU9VW5kb01hbmFnZXJBUEks
CisgICAgRW5hYmxlZEJ5U2V0dGluZz1VbmRvTWFuYWdlckFQSSwKIF0gZGljdGlvbmFyeSBVbmRv
SXRlbUluaXQgewogICAgIHJlcXVpcmVkIERPTVN0cmluZyBsYWJlbDsKICAgICByZXF1aXJlZCBW
b2lkQ2FsbGJhY2sgdW5kbzsKQEAgLTMyLDcgKzMyLDcgQEAKIH07CiAKIFsKLSAgICBFbmFibGVk
QXRSdW50aW1lPVVuZG9NYW5hZ2VyQVBJLAorICAgIEVuYWJsZWRCeVNldHRpbmc9VW5kb01hbmFn
ZXJBUEksCiAgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBKU0N1c3RvbU1hcmtG
dW5jdGlvbiwKICAgICBDdXN0b21Jc1JlYWNoYWJsZSwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvVW5kb01hbmFnZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvVW5k
b01hbmFnZXIuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1Vu
ZG9NYW5hZ2VyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQsNyArMjQsNyBAQAogICovCiAKIFsK
LSAgICBFbmFibGVkQXRSdW50aW1lPVVuZG9NYW5hZ2VyQVBJLAorICAgIEVuYWJsZWRCeVNldHRp
bmc9VW5kb01hbmFnZXJBUEksCiAgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBH
ZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxEb2N1bWVudCwKIF0gaW50ZXJmYWNlIFVuZG9NYW5hZ2Vy
IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAkocmV2aXNp
b24gMjY2MzEyKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNzEwLDcgKzcxMCw3IEBAIEltYWdlRHJhd1Jlc3VsdCBSZW5kZXJJ
bWFnZTo6cGFpbnRJbnRvUmUKICAgICAgICAgaW1hZ2VSZXNvdXJjZSgpLmNhY2hlZEltYWdlKCkt
PmFkZENsaWVudFdhaXRpbmdGb3JBc3luY0RlY29kaW5nKCp0aGlzKTsKIAogI2lmIFVTRShTWVNU
RU1fUFJFVklFVykKLSAgICBpZiAoaW1hZ2VFbGVtZW50ICYmIGltYWdlRWxlbWVudC0+aXNTeXN0
ZW1QcmV2aWV3SW1hZ2UoKSAmJiBkcmF3UmVzdWx0ID09IEltYWdlRHJhd1Jlc3VsdDo6RGlkRHJh
dyAmJiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnN5c3RlbVByZXZp
ZXdFbmFibGVkKCkpCisgICAgaWYgKGltYWdlRWxlbWVudCAmJiBpbWFnZUVsZW1lbnQtPmlzU3lz
dGVtUHJldmlld0ltYWdlKCkgJiYgZHJhd1Jlc3VsdCA9PSBJbWFnZURyYXdSZXN1bHQ6OkRpZERy
YXcgJiYgaW1hZ2VFbGVtZW50LT5kb2N1bWVudCgpLnNldHRpbmdzKCkuc3lzdGVtUHJldmlld0Vu
YWJsZWQoKSkKICAgICAgICAgdGhlbWUoKS5wYWludFN5c3RlbVByZXZpZXdCYWRnZSgqaW1nLCBw
YWludEluZm8sIHJlY3QpOwogI2VuZGlmCiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxTZXR0aW5ncy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbFNldHRpbmdzLmNwcAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE2LDkg
KzExNiw2IEBAIEludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6QmFja3VwKFNldHRpbmcKICNpZiBF
TkFCTEUoV0VCR0wyKQogICAgICwgbV93ZWJHTDJFbmFibGVkKFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnNoYXJlZEZlYXR1cmVzKCkud2ViR0wyRW5hYmxlZCgpKQogI2VuZGlmCi0jaWYgRU5BQkxF
KE1FRElBX1NUUkVBTSkKLSAgICAsIG1fc2V0U2NyZWVuQ2FwdHVyZUVuYWJsZWQoUnVudGltZUVu
YWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zY3JlZW5DYXB0dXJlRW5hYmxlZCgpKQot
I2VuZGlmCiAgICAgLCBtX2ZldGNoQVBJS2VlcEFsaXZlQVBJRW5hYmxlZChSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZCgpKQog
ICAgICwgbV9zaG91bGRNb2NrQm9sZFN5c3RlbUZvbnRGb3JBY2Nlc3NpYmlsaXR5KFJlbmRlclRo
ZW1lOjpzaW5nbGV0b24oKS5zaG91bGRNb2NrQm9sZFN5c3RlbUZvbnRGb3JBY2Nlc3NpYmlsaXR5
KCkpCiAjaWYgVVNFKEFVRElPX1NFU1NJT04pCkBAIC0yMjAsOSArMjE3LDYgQEAgdm9pZCBJbnRl
cm5hbFNldHRpbmdzOjpCYWNrdXA6OnJlc3RvcmVUbwogI2lmIEVOQUJMRShXRUJHTDIpCiAgICAg
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRXZWJHTDJFbmFibGVk
KG1fd2ViR0wyRW5hYmxlZCk7CiAjZW5kaWYKLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQotICAg
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0U2NyZWVuQ2FwdHVy
ZUVuYWJsZWQobV9zZXRTY3JlZW5DYXB0dXJlRW5hYmxlZCk7Ci0jZW5kaWYKICAgICBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEZldGNoQVBJS2VlcEFsaXZlRW5h
YmxlZChtX2ZldGNoQVBJS2VlcEFsaXZlQVBJRW5hYmxlZCk7CiAgICAgUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRDdXN0b21QYXN0ZWJvYXJkRGF0YUVuYWJsZWQo
bV9jdXN0b21QYXN0ZWJvYXJkRGF0YUVuYWJsZWQpOwogCkBAIC04MTQsMTUgKzgwOCw2IEBAIHZv
aWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0V2ViR1BVRW5hYmxlZCgKICNlbmRpZgogfQogCi12b2lk
IEludGVybmFsU2V0dGluZ3M6OnNldFNjcmVlbkNhcHR1cmVFbmFibGVkKGJvb2wgZW5hYmxlZCkK
LXsKLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNoYXJlZEZlYXR1cmVzKCkuc2V0U2NyZWVuQ2FwdHVyZUVuYWJsZWQoZW5hYmxlZCk7Ci0jZWxz
ZQotICAgIFVOVVNFRF9QQVJBTShlbmFibGVkKTsKLSNlbmRpZgotfQotCiB2b2lkIEludGVybmFs
U2V0dGluZ3M6OnNldEZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZChib29sIGVuYWJsZWQpCiB7CiAg
ICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRGZXRjaEFQSUtl
ZXBBbGl2ZUVuYWJsZWQoZW5hYmxlZCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFsU2V0dGluZ3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFsU2V0dGluZ3MuaAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbFNldHRpbmdzLmgJKHdvcmtpbmcgY29weSkKQEAgLTEzMiw3ICsxMzIsNiBA
QCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgc2V0V2ViR0wyRW5hYmxlZChib29sKTsKICAgICBz
dGF0aWMgdm9pZCBzZXRXZWJHUFVFbmFibGVkKGJvb2wpOwogICAgIHN0YXRpYyB2b2lkIHNldFBp
Y3R1cmVJblBpY3R1cmVBUElFbmFibGVkKGJvb2wpOwotICAgIHN0YXRpYyB2b2lkIHNldFNjcmVl
bkNhcHR1cmVFbmFibGVkKGJvb2wpOwogICAgIHN0YXRpYyB2b2lkIHNldEZldGNoQVBJS2VlcEFs
aXZlRW5hYmxlZChib29sKTsKIAogICAgIHN0YXRpYyBib29sIHdlYkFuaW1hdGlvbnNDU1NJbnRl
Z3JhdGlvbkVuYWJsZWQoKTsKQEAgLTIyNCw3ICsyMjMsNiBAQCBwcml2YXRlOgogICAgICAgICAv
LyBSdW50aW1lIGVuYWJsZWQgc2V0dGluZ3MuCiAgICAgICAgIGJvb2wgbV9pbmRleGVkREJXb3Jr
ZXJzRW5hYmxlZDsKICAgICAgICAgYm9vbCBtX3dlYkdMMkVuYWJsZWQ7Ci0gICAgICAgIGJvb2wg
bV9zZXRTY3JlZW5DYXB0dXJlRW5hYmxlZDsKICAgICAgICAgYm9vbCBtX2ZldGNoQVBJS2VlcEFs
aXZlQVBJRW5hYmxlZDsKICAgICAgICAgCiAgICAgICAgIGJvb2wgbV9zaG91bGRNb2NrQm9sZFN5
c3RlbUZvbnRGb3JBY2Nlc3NpYmlsaXR5OwpJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbFNldHRpbmdzLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFsU2V0dGluZ3MuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC05Niw3ICs5
Niw2IEBAIGVudW0gRm9udExvYWRUaW1pbmdPdmVycmlkZSB7ICJCbG9jayIsICIKICAgICB1bmRl
ZmluZWQgc2V0SW5kZXhlZERCV29ya2Vyc0VuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKICAgICB1
bmRlZmluZWQgc2V0V2ViR0wyRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwogICAgIHVuZGVmaW5l
ZCBzZXRXZWJHUFVFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7Ci0gICAgdW5kZWZpbmVkIHNldFNj
cmVlbkNhcHR1cmVFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CiAgICAgdW5kZWZpbmVkIHNldEZl
dGNoQVBJS2VlcEFsaXZlRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwogCiAgICAgW01heVRocm93
RXhjZXB0aW9uXSBET01TdHJpbmcgdXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgpOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAkocmV2aXNpb24gMjY2MzEyKQorKysg
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01
NzgsNyArNTc4LDcgQEAgdm9pZCBJbnRlcm5hbHM6OnJlc2V0VG9Db25zaXN0ZW50U3RhdGUoUAog
ICAgIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OmRpc2FibGVNb2NrKCk7CiAKICNp
ZiBFTkFCTEUoTUVESUFfU1RSRUFNKQotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJl
ZEZlYXR1cmVzKCkuc2V0SW50ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5Q2hhbmdlRW5hYmxl
ZChmYWxzZSk7CisgICAgcGFnZS5zZXR0aW5ncygpLnNldEludGVycnVwdEF1ZGlvT25QYWdlVmlz
aWJpbGl0eUNoYW5nZUVuYWJsZWQoZmFsc2UpOwogICAgIFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXI6
OnNldEN1c3RvbVByaXZhdGVSZWNvcmRlckNyZWF0b3IobnVsbHB0cik7CiAjZW5kaWYKIApAQCAt
MTY4MSw3ICsxNjgxLDkgQEAgdm9pZCBJbnRlcm5hbHM6OnNldFVzZUdQVVByb2Nlc3NGb3JXZWJS
VAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiB2b2lkIEludGVybmFsczo6c2V0U2hvdWxkSW50
ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5Q2hhbmdlKGJvb2wgc2hvdWxkSW50ZXJydXB0KQog
ewotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0SW50ZXJy
dXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5Q2hhbmdlRW5hYmxlZChzaG91bGRJbnRlcnJ1cHQpOwor
ICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGNvbnRleHREb2N1bWVudCgpOworICAgIGlmIChhdXRv
KiBwYWdlID0gZG9jdW1lbnQtPnBhZ2UoKSkKKyAgICAgICAgcGFnZS0+c2V0dGluZ3MoKS5zZXRJ
bnRlcnJ1cHRBdWRpb09uUGFnZVZpc2liaWxpdHlDaGFuZ2VFbmFibGVkKHNob3VsZEludGVycnVw
dCk7CiB9CiAKIHZvaWQgSW50ZXJuYWxzOjpzZXRNZWRpYUNhcHR1cmVSZXF1aXJlc1NlY3VyZUNv
bm5lY3Rpb24oYm9vbCBlbmFibGVkKQpAQCAtNTgxNCw3ICs1ODE2LDcgQEAgSW50ZXJuYWxzOjpU
ZXh0SW5kaWNhdG9ySW5mbyBJbnRlcm5hbHM6OgogCiB2b2lkIEludGVybmFsczo6YWRkUHJlZmV0
Y2hMb2FkRXZlbnRMaXN0ZW5lcihIVE1MTGlua0VsZW1lbnQmIGxpbmssIFJlZlB0cjxFdmVudExp
c3RlbmVyPiYmIGxpc3RlbmVyKQogewotICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpz
aGFyZWRGZWF0dXJlcygpLmxpbmtQcmVmZXRjaEVuYWJsZWQoKSAmJiBlcXVhbExldHRlcnNJZ25v
cmluZ0FTQ0lJQ2FzZShsaW5rLnJlbCgpLCAicHJlZmV0Y2giKSkgeworICAgIGlmIChsaW5rLmRv
Y3VtZW50KCkuc2V0dGluZ3MoKS5saW5rUHJlZmV0Y2hFbmFibGVkKCkgJiYgZXF1YWxMZXR0ZXJz
SWdub3JpbmdBU0NJSUNhc2UobGluay5yZWwoKSwgInByZWZldGNoIikpIHsKICAgICAgICAgbGlu
ay5hbGxvd1ByZWZldGNoTG9hZEFuZEVycm9yRm9yVGVzdGluZygpOwogICAgICAgICBsaW5rLmFk
ZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmxvYWRFdmVudCwgbGlzdGVuZXIucmVsZWFzZU5v
bk51bGwoKSwgZmFsc2UpOwogICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjYzMjgpCisr
KyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBA
CisyMDIwLTA4LTI5ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBN
YW55IHNldHRpbmdzIGluIFJ1bnRpbWVFbmFibGVkU2V0dGluZ3Mgc2hvdWxkIGF1dG9nZW5lcmF0
ZWQgU2V0dGluZ3M6IFBhcnQgMQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE1OTgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGhpcyBtb3ZlcyBhbiBpbml0aWFsIGNodW5rIG9mIFJ1bnRpbWVFbmFibGVk
U2V0dGluZ3Mgc2V0dGluZ3MgdG8gU2V0dGluZ3MueWFtbCwgZm9jdXNpbmcKKyAgICAgICAgb24g
c2V0dGluZ3MgdGhhdCBkb24ndCByZXF1aXJlIHN1YnN0YW50aWFsIHJlZmFjdG9yaW5nIG9yIG5l
dyBmZWF0dXJlcyB0byB3b3JrIGluIFNldHRpbmdzLnlhbWwuCisgICAgICAgIAorICAgICAgICBJ
biBXZWJLaXQsIHRoaXMgbWVhbnMgbW9zdGx5IHJlbW92aW5nIG5vdyB1bm5lY2Vzc2FyeSB1c2Ug
b2YgdGhlIHdlYmNvcmVCaW5kaW5nIGtleSBpbiAKKyAgICAgICAgV2ViUHJlZmVyZW5jZXMueWFt
bCBhbmQgcmVtb3Zpbmcgbm93IHN1cGVyZmx1b3VzIGNhc2VzIGluIEluamVjdGVkQnVuZGxlOjpv
dmVycmlkZUJvb2xQcmVmZXJlbmNlRm9yVGVzdFJ1bm5lci4KKworICAgICAgICAqIFNoYXJlZC9X
ZWJQcmVmZXJlbmNlcy55YW1sOgorICAgICAgICBSZW1vdmluZyBub3cgdW5uZWNlc3NhcnkgdXNl
IG9mIHRoZSB3ZWJjb3JlQmluZGluZyBrZXkgYW5kIGZpeCBpbmRlbnRhdGlvbiBvZiBhIGZldyBj
YXNlcy4KKworICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5k
bGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6b3ZlcnJpZGVCb29sUHJl
ZmVyZW5jZUZvclRlc3RSdW5uZXIpOgorICAgICAgICBSZW1vdmUgbm93IHN1cGVyZmx1b3VzIGNh
c2VzLCBhcyBlYWNoIGJvb2xlYW4gU2V0dGluZ3MgYmFzZWQgc2V0dGluZyBnZXRzIGhhbmRsZWQg
YXV0b21hdGljYWxseS4KKyAKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnVwZGF0ZVByZWZlcmVuY2VzKToKKyAgICAg
ICAgUmVtb3ZlIGV4cGxpY2l0IHNldHRpbmcgb2Ygc2V0SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlv
bkVuYWJsZWQgbm93IHRoYXQgd2UgZG9uJ3QgaGF2ZSB0aGUKKyAgICAgICAgUnVudGltZUVuYWJs
ZWRTZXR0aW5ncyB2YXJpYW50IGJlaW5nIHNldCBieSB0aGUgZ2VuZXJhdG9yLgorCiAyMDIwLTA4
LTI4ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIFNp
dGVzIGJ1aWx0IHdpdGggZmxhbWJlLmpzIGRvbid0IHdvcmsgd2l0aCB0cmFja3BhZCBvbiBpUGFk
CkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwJKHJldmlzaW9u
IDI2NjMxMikKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwJKHdv
cmtpbmcgY29weSkKQEAgLTEsNyArMSw2IEBACiBCbGFua0FuY2hvclRhcmdldEltcGxpZXNOb09w
ZW5lckVuYWJsZWQ6CiAgICB0eXBlOiBib29sCiAgICBkZWZhdWx0VmFsdWU6IHRydWUKLSAgIHdl
YmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAgICBodW1hblJlYWRhYmxlTmFt
ZTogIkJsYW5rIGFuY2hvciB0YXJnZXQgaW1wbGllcyByZWw9bm9vcGVuZXIiCiAgICBodW1hblJl
YWRhYmxlRGVzY3JpcHRpb246ICJ0YXJnZXQ9X2JsYW5rIG9uIGFuY2hvciBlbGVtZW50cyBpbXBs
aWVzIHJlbD1ub29wZW5lciIKICAgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKQEAgLTU1OCwyNCAr
NTU3LDIxIEBAIFVzZUdpYW50VGlsZXM6CiAgIGRlZmF1bHRWYWx1ZTogZmFsc2UKIAogTWVkaWFS
ZWNvcmRlckVuYWJsZWQ6Ci0gICAgdHlwZTogYm9vbAotICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UK
LSAgICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwotICAgIGNvbmRpdGlv
bjogRU5BQkxFKE1FRElBX1NUUkVBTSkKLSAgICBodW1hblJlYWRhYmxlTmFtZTogIk1lZGlhUmVj
b3JkZXIiCi0gICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiTWVkaWFSZWNvcmRlciIKLSAg
ICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCisgIHR5cGU6IGJvb2wKKyAgZGVmYXVsdFZhbHVlOiBm
YWxzZQorICBjb25kaXRpb246IEVOQUJMRShNRURJQV9TVFJFQU0pCisgIGh1bWFuUmVhZGFibGVO
YW1lOiAiTWVkaWFSZWNvcmRlciIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiTWVkaWFS
ZWNvcmRlciIKKyAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAogCiBNZWRpYURldmljZXNFbmFibGVk
OgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogZmFsc2UKLSAgd2ViY29yZUJpbmRpbmc6
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKICAgY29uZGl0aW9uOiBFTkFCTEUoTUVESUFfU1RSRUFN
KQogCiBNZWRpYVN0cmVhbUVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiB0
cnVlCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAgIGNvbmRpdGlv
bjogRU5BQkxFKE1FRElBX1NUUkVBTSkKIAogTWVkaWFFbmFibGVkOgpAQCAtNTg3LDcgKzU4Myw2
IEBAIE1lZGlhRW5hYmxlZDoKIFNjcmVlbkNhcHR1cmVFbmFibGVkOgogICB0eXBlOiBib29sCiAg
IGRlZmF1bHRWYWx1ZTogdHJ1ZQotICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0
dXJlcwogICBjb25kaXRpb246IEVOQUJMRShNRURJQV9TVFJFQU0pICYmIFBMQVRGT1JNKE1BQykK
ICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJTY3JlZW5DYXB0dXJlIgogICBodW1hblJlYWRhYmxlRGVz
Y3JpcHRpb246ICJFbmFibGUgU2NyZWVuQ2FwdHVyZSIKQEAgLTYwMiw3ICs1OTcsNiBAQCBQZWVy
Q29ubmVjdGlvbkVuYWJsZWQ6CiBJbnRlcnJ1cHRBdWRpb09uUGFnZVZpc2liaWxpdHlDaGFuZ2VF
bmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogV2ViQ29yZTo6UmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlcjo6c2hvdWxkSW50ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5Q2hh
bmdlKCkKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKICAgY29uZGl0
aW9uOiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCiBXZWJSVENIMjY0TG93TGF0ZW5jeUVuY29kZXJF
bmFibGVkOgpAQCAtNzk1LDcgKzc4OSw2IEBAIEZldGNoQVBJRW5hYmxlZDoKIERvd25sb2FkQXR0
cmlidXRlRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IHRydWUKLSAgd2Vi
Y29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKICAgY29uZGl0aW9uOiBFTkFCTEUo
RE9XTkxPQURfQVRUUklCVVRFKQogCiBTZWxlY3Rpb25QYWludGluZ1dpdGhvdXRTZWxlY3Rpb25H
YXBzRW5hYmxlZDoKQEAgLTgzMSw3ICs4MjQsNiBAQCBBbmltYXRlZEltYWdlQXN5bmNEZWNvZGlu
Z0VuYWJsZWQ6CiBDdXN0b21FbGVtZW50c0VuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVs
dFZhbHVlOiB0cnVlCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAK
IE1lbnVJdGVtRWxlbWVudEVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKQEAgLTg0MSwxNCArODMzLDEy
IEBAIE1lbnVJdGVtRWxlbWVudEVuYWJsZWQ6CiBNZWRpYVByZWxvYWRpbmdFbmFibGVkOgogICB0
eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogZmFsc2UKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXMKIAogSW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQ6CiAg
IHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiB0cnVlCiAgIGh1bWFuUmVhZGFibGVOYW1lOiAi
SFRNTCBJbnRlcmFjdGl2ZSBGb3JtIFZhbGlkYXRpb24iCiAgIGh1bWFuUmVhZGFibGVEZXNjcmlw
dGlvbjogIkhUTUwgaW50ZXJhY3RpdmUgZm9ybSB2YWxpZGF0aW9uIgotICB3ZWJjb3JlQmluZGlu
ZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogCiBTaG91bGRTdXBwcmVzc1RleHRJbnB1dEZyb21F
ZGl0aW5nRHVyaW5nUHJvdmlzaW9uYWxOYXZpZ2F0aW9uOgogICB0eXBlOiBib29sCkBAIC04NTks
MzAgKzg0OSwyNyBAQCBHYW1lcGFkc0VuYWJsZWQ6CiAgIGRlZmF1bHRWYWx1ZTogdHJ1ZQogICBo
dW1hblJlYWRhYmxlTmFtZTogIkdhbWVwYWRzIgogICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246
ICJXZWIgR2FtZXBhZCBBUEkgc3VwcG9ydCIKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXMKICAgY29uZGl0aW9uOiBFTkFCTEUoR0FNRVBBRCkKIAogSGlnaGxpZ2h0QVBJ
RW5hYmxlZDoKLSAgICB0eXBlOiBib29sCi0gICAgZGVmYXVsdFZhbHVlOiBmYWxzZQotICAgIGh1
bWFuUmVhZGFibGVOYW1lOiAiSGlnaGxpZ2h0IEFQSSIKLSAgICBodW1hblJlYWRhYmxlRGVzY3Jp
cHRpb246ICJIaWdobGlnaHQgQVBJIHN1cHBvcnQiCi0gICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXMKLSAgICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCisgIHR5cGU6IGJv
b2wKKyAgZGVmYXVsdFZhbHVlOiBmYWxzZQorICBodW1hblJlYWRhYmxlTmFtZTogIkhpZ2hsaWdo
dCBBUEkiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkhpZ2hsaWdodCBBUEkgc3VwcG9y
dCIKKyAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKKyAgY2F0ZWdvcnk6
IGV4cGVyaW1lbnRhbAogCiBJbnB1dEV2ZW50c0VuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVm
YXVsdFZhbHVlOiB0cnVlCiAgIGh1bWFuUmVhZGFibGVOYW1lOiAiSW5wdXQgRXZlbnRzIgogICBo
dW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgSW5wdXRFdmVudHMgc3VwcG9ydCIKLSAg
d2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKIAogV2ViQXV0aGVudGljYXRp
b25FbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogZmFsc2UKICAgaHVtYW5S
ZWFkYWJsZU5hbWU6ICJXZWIgQXV0aGVudGljYXRpb24iCiAgIGh1bWFuUmVhZGFibGVEZXNjcmlw
dGlvbjogIkVuYWJsZSBXZWIgQXV0aGVudGljYXRpb24gc3VwcG9ydCIKLSAgd2ViY29yZUJpbmRp
bmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKICAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAogICBj
b25kaXRpb246IEVOQUJMRShXRUJfQVVUSE4pCiAKQEAgLTg5MSw3ICs4NzgsNiBAQCBXZWJBdXRo
ZW50aWNhdGlvbkxvY2FsQXV0aGVudGljYXRvckVuYWJsCiAgIGRlZmF1bHRWYWx1ZTogZmFsc2UK
ICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJXZWIgQXV0aGVudGljYXRpb24gTG9jYWwgQXV0aGVudGlj
YXRvciIKICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIFdlYiBBdXRoZW50aWNh
dGlvbiBsb2NhbCBhdXRoZW50aWNhdG9yIHN1cHBvcnQiCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50
aW1lRW5hYmxlZEZlYXR1cmVzCiAgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKICAgY29uZGl0aW9u
OiBFTkFCTEUoV0VCX0FVVEhOKQogCkBAIC05MzUsNyArOTIxLDYgQEAgTGVnYWN5RW5jcnlwdGVk
TWVkaWFBUElFbmFibGVkOgogICBkZWZhdWx0VmFsdWU6IHRydWUKICAgaHVtYW5SZWFkYWJsZU5h
bWU6ICJFbmFibGUgTGVnYWN5IEVNRSBBUEkiCiAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjog
IkVuYWJsZSBsZWdhY3kgRU1FIEFQSSIKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXMKICAgY29uZGl0aW9uOiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkKIAog
QWxsb3dNZWRpYUNvbnRlbnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJlU3VwcG9ydEFzRmFsbGJhY2s6
CkBAIC05NjMsNyArOTQ4LDYgQEAgRGF0YVRyYW5zZmVySXRlbXNFbmFibGVkOgogICBkZWZhdWx0
VmFsdWU6IERFRkFVTFRfREFUQV9UUkFOU0ZFUl9JVEVNU19FTkFCTEVECiAgIGh1bWFuUmVhZGFi
bGVOYW1lOiAiRGF0YSBUcmFuc2ZlciBJdGVtcyIKICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9u
OiAiRW5hYmxlcyBEYXRhVHJhbnNmZXJJdGVtIGluIHRoZSBjbGlwYm9hcmQgQVBJIgotICB3ZWJj
b3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogCiBDdXN0b21QYXN0ZWJvYXJkRGF0
YUVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKQEAgLTk4NCw3ICs5NjgsNiBAQCBXZWJTaGFyZUVuYWJs
ZWQ6CiAgIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9XRUJfU0hBUkVfRU5BQkxFRAogICBodW1hblJl
YWRhYmxlTmFtZTogIldlYiBTaGFyZSIKICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5h
YmxlIHN1cHBvcnQgZm9yIHNoYXJlIHNoZWV0IHZpYSBXZWIgU2hhcmUgQVBJIgotICB3ZWJjb3Jl
QmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogCiBWaWV3cG9ydEZpdEVuYWJsZWQ6CiAg
IHR5cGU6IGJvb2wKQEAgLTEyNDcsNyArMTIzMCw2IEBAIE1lZGlhQ2FwYWJpbGl0aWVzRW5hYmxl
ZDoKIFN5c3RlbVByZXZpZXdFbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTog
ZmFsc2UKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKICAgY29uZGl0
aW9uOiBVU0UoU1lTVEVNX1BSRVZJRVcpCiAKIENhY2hlQVBJRW5hYmxlZDoKQEAgLTEyNzEsNyAr
MTI1Myw2IEBAIENyb3NzT3JpZ2luUmVzb3VyY2VQb2xpY3lFbmFibGVkOgogRGlzYWJsZWRBZGFw
dGF0aW9uc01ldGFUYWdFbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogRElT
QUJMRURfQURBUFRBVElPTlNfTUVUQV9UQUdfRU5BQkxFRAotICB3ZWJjb3JlQmluZGluZzogUnVu
dGltZUVuYWJsZWRGZWF0dXJlcwogCiBDb2xvckZpbHRlckVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wK
QEAgLTEyOTksNyArMTI4MCw2IEBAIFN0b3JhZ2VBY2Nlc3NBUElFbmFibGVkOgogTGlua1ByZWxv
YWRFbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogdHJ1ZQotICB3ZWJjb3Jl
QmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogCiBJc1NlY3VyZUNvbnRleHRBdHRyaWJ1
dGVFbmFibGVkOgogICB0eXBlOiBib29sCkBAIC0xMzIyLDcgKzEzMDIsNiBAQCBLZXlnZW5FbGVt
ZW50RW5hYmxlZDoKIEVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBk
ZWZhdWx0VmFsdWU6IHRydWUKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXMKICAgY29uZGl0aW9uOiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQogCiBWaWRlb1F1YWxpdHlJ
bmNsdWRlc0Rpc3BsYXlDb21wb3NpdGluZ0VuYWJsZWQ6CkBAIC0xMzQ3LDcgKzEzMjYsNiBAQCBJ
c0luQXBwQnJvd3NlclByaXZhY3lFbmFibGVkOgogICAgIGRlZmF1bHRWYWx1ZTogZGVmYXVsdElu
QXBwQnJvd3NlclByaXZhY3koKQogICAgIGh1bWFuUmVhZGFibGVOYW1lOiAiSW4tQXBwIEJyb3dz
ZXIgUHJpdmFjeSIKICAgICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgSW4tQXBw
IEJyb3dzZXIgUHJpdmFjeSIKLSAgICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0
dXJlcwogICAgIGNhdGVnb3J5OiBkZWJ1ZwogCiBOZWVkc0luQXBwQnJvd3NlclByaXZhY3lRdWly
a3M6CkBAIC0xMzU1LDcgKzEzMzMsNiBAQCBOZWVkc0luQXBwQnJvd3NlclByaXZhY3lRdWlya3M6
CiAgICAgZGVmYXVsdFZhbHVlOiBmYWxzZQogICAgIGh1bWFuUmVhZGFibGVOYW1lOiAiTmVlZHMg
SW4tQXBwIEJyb3dzZXIgUHJpdmFjeSBRdWlya3MiCiAgICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0
aW9uOiAiRW5hYmxlIHF1aXJrcyBuZWVkZWQgdG8gc3VwcG9ydCBJbi1BcHAgQnJvd3NlciBwcml2
YWN5IgotICAgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAgICAgY2F0
ZWdvcnk6IGRlYnVnCiAKIFNlcnZpY2VXb3JrZXJFbnRpdGxlbWVudERpc2FibGVkRm9yVGVzdGlu
ZzoKQEAgLTE0MTAsNyArMTM4Nyw2IEBAIEludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZDoKICAg
ZGVmYXVsdFZhbHVlOiB0cnVlCiAgIGh1bWFuUmVhZGFibGVOYW1lOiAiSW50ZXJzZWN0aW9uIE9i
c2VydmVyIgogICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgSW50ZXJzZWN0aW9u
IE9ic2VydmVyIHN1cHBvcnQiCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzCiAgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKICAgY29uZGl0aW9uOiBFTkFCTEUoSU5URVJT
RUNUSU9OX09CU0VSVkVSKQogCkBAIC0xNTMwLDcgKzE1MDYsNiBAQCBDU1NDdXN0b21Qcm9wZXJ0
aWVzQW5kVmFsdWVzRW5hYmxlZDoKICAgZGVmYXVsdFZhbHVlOiBmYWxzZQogICBodW1hblJlYWRh
YmxlTmFtZTogIkNTUyBDdXN0b20gUHJvcGVydGllcyBhbmQgVmFsdWVzIEFQSSIKICAgaHVtYW5S
ZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIENTUyBDdXN0b20gUHJvcGVydGllcyBhbmQgVmFs
dWVzIEFQSSIKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKICAgY2F0
ZWdvcnk6IGV4cGVyaW1lbnRhbAogCiBDU1NQYWludGluZ0FQSUVuYWJsZWQ6CkBAIC0xNTkwLDIw
ICsxNTY1LDE5IEBAIFJlc2l6ZU9ic2VydmVyRW5hYmxlZDoKICAgY29uZGl0aW9uOiBFTkFCTEUo
UkVTSVpFX09CU0VSVkVSKQogCiBBZENsaWNrQXR0cmlidXRpb25FbmFibGVkOgotICAgIHR5cGU6
IGJvb2wKLSAgICBkZWZhdWx0VmFsdWU6IGZhbHNlCi0gICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJB
ZCBDbGljayBBdHRyaWJ1dGlvbiIKLSAgICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFi
bGUgQWQgQ2xpY2sgQXR0cmlidXRpb24gZm9yIENyb3NzLVNpdGUgTGluayBOYXZpZ2F0aW9ucyIK
LSAgICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwotICAgIGNhdGVnb3J5
OiBleHBlcmltZW50YWwKKyAgdHlwZTogYm9vbAorICBkZWZhdWx0VmFsdWU6IGZhbHNlCisgIGh1
bWFuUmVhZGFibGVOYW1lOiAiQWQgQ2xpY2sgQXR0cmlidXRpb24iCisgIGh1bWFuUmVhZGFibGVE
ZXNjcmlwdGlvbjogIkVuYWJsZSBBZCBDbGljayBBdHRyaWJ1dGlvbiBmb3IgQ3Jvc3MtU2l0ZSBM
aW5rIE5hdmlnYXRpb25zIgorICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCiAKIEFkQ2xpY2tBdHRy
aWJ1dGlvbkRlYnVnTW9kZUVuYWJsZWQ6Ci0gICAgdHlwZTogYm9vbAotICAgIGRlZmF1bHRWYWx1
ZTogZmFsc2UKLSAgICBodW1hblJlYWRhYmxlTmFtZTogIkFkIENsaWNrIEF0dHJpYnV0aW9uIERl
YnVnIE1vZGUiCi0gICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIEFkIENsaWNr
IEF0dHJpYnV0aW9uIERlYnVnIE1vZGUiCi0gICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXMKLSAgICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCisgIHR5cGU6IGJvb2wKKyAg
ZGVmYXVsdFZhbHVlOiBmYWxzZQorICBodW1hblJlYWRhYmxlTmFtZTogIkFkIENsaWNrIEF0dHJp
YnV0aW9uIERlYnVnIE1vZGUiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBB
ZCBDbGljayBBdHRyaWJ1dGlvbiBEZWJ1ZyBNb2RlIgorICB3ZWJjb3JlQmluZGluZzogUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcworICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCiAKIEZldGNoQVBJS2Vl
cEFsaXZlRW5hYmxlZDoKICAgdHlwZTogYm9vbApAQCAtMTkyNiw3ICsxOTAwLDYgQEAgVW5kb01h
bmFnZXJBUElFbmFibGVkOgogICBodW1hblJlYWRhYmxlTmFtZTogIlVuZG9NYW5hZ2VyIERPTSBB
UEkiCiAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSB0aGUgVW5kb01hbmFnZXIg
RE9NIEFQSSIKICAgY2F0ZWdvcnk6IGludGVybmFsCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzCiAKIENTU0xvZ2ljYWxFbmFibGVkOgogICB0eXBlOiBib29sCkBAIC0x
OTg5LDcgKzE5NjIsNiBAQCBSZWZlcnJlclBvbGljeUF0dHJpYnV0ZUVuYWJsZWQ6CiAgIGh1bWFu
UmVhZGFibGVOYW1lOiAiUmVmZXJyZXIgUG9saWN5IGF0dHJpYnV0ZSIKICAgaHVtYW5SZWFkYWJs
ZURlc2NyaXB0aW9uOiAiRW5hYmxlIFJlZmVycmVyIFBvbGljeSBhdHRyaWJ1dGUiCiAgIGNhdGVn
b3J5OiBleHBlcmltZW50YWwKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXMKIAogUGFnZUF0UnVsZVN1cHBvcnRFbmFibGVkOgogICB0eXBlOiBib29sCkBAIC0yMDE5LDcg
KzE5OTEsNiBAQCBMaW5rUHJlZmV0Y2hFbmFibGVkOgogICBkZWZhdWx0VmFsdWU6IGZhbHNlCiAg
IGh1bWFuUmVhZGFibGVOYW1lOiAiTGlua1ByZWZldGNoIgogICBodW1hblJlYWRhYmxlRGVzY3Jp
cHRpb246ICJFbmFibGUgTGlua2VkUHJlZmV0Y2giCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzCiAgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKIAogTGlua1ByZWxvYWRS
ZXNwb25zaXZlSW1hZ2VzRW5hYmxlZDoKQEAgLTIwMjcsNyArMTk5OCw2IEBAIExpbmtQcmVsb2Fk
UmVzcG9uc2l2ZUltYWdlc0VuYWJsZWQ6CiAgIGRlZmF1bHRWYWx1ZTogZmFsc2UKICAgaHVtYW5S
ZWFkYWJsZU5hbWU6ICJMaW5rIHByZWxvYWQgcmVzcG9uc2l2ZSBpbWFnZXMiCiAgIGh1bWFuUmVh
ZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBsaW5rIHByZWxvYWQgcmVzcG9uc2l2ZSBpbWFnZXMi
Ci0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAgIGNhdGVnb3J5OiBl
eHBlcmltZW50YWwKIAogSXNOU1VSTFNlc3Npb25XZWJTb2NrZXRFbmFibGVkOgpAQCAtMjA0NCw3
ICsyMDE0LDYgQEAgTGF6eUltYWdlTG9hZGluZ0VuYWJsZWQ6CiAgIGRlZmF1bHRWYWx1ZTogZmFs
c2UKICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJMYXp5IEltYWdlIExvYWRpbmciCiAgIGh1bWFuUmVh
ZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBMYXp5IEltYWdlIExvYWRpbmcgc3VwcG9ydCIKLSAg
d2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKICAgY2F0ZWdvcnk6IGV4cGVy
aW1lbnRhbAogCiBJc1RoaXJkUGFydHlDb29raWVCbG9ja2luZ0Rpc2FibGVkOgpAQCAtMjEzMyw3
ICsyMTAyLDYgQEAgV2ViU2hhcmVGaWxlQVBJRW5hYmxlZDoKICAgICBkZWZhdWx0VmFsdWU6IGZh
bHNlCiAgICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJXZWIgU2hhcmUgQVBJIExldmVsIDIiCiAgICAg
aHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIGxldmVsIDIgb2YgV2ViIFNoYXJlIEFQ
SSIKLSAgICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogICAgIGNhdGVn
b3J5OiBleHBlcmltZW50YWwKIAogSW5jcmVtZW50YWxQREZMb2FkaW5nRW5hYmxlZDoKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0luamVjdGVkQnVuZGxlLmNwcAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjAzLDkgKzIwMyw2IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6Om92ZXJyaWRlQm9vbFBy
ZWZlcmUKICAgICBpZiAocHJlZmVyZW5jZSA9PSAiV2ViS2l0VHJhbnNmb3JtU3RyZWFtQVBJRW5h
YmxlZCIpCiAgICAgICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCku
c2V0VHJhbnNmb3JtU3RyZWFtQVBJRW5hYmxlZChlbmFibGVkKTsKIAotICAgIGlmIChwcmVmZXJl
bmNlID09ICJXZWJLaXRJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZCIpCi0gICAgICAg
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0SW50ZXJhY3RpdmVG
b3JtVmFsaWRhdGlvbkVuYWJsZWQoZW5hYmxlZCk7Ci0KICNpZiBFTkFCTEUoV0VCR0wyKQogICAg
IGlmIChwcmVmZXJlbmNlID09ICJXZWJLaXRXZWJHTDJFbmFibGVkIikKICAgICAgICAgUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRXZWJHTDJFbmFibGVkKGVuYWJs
ZWQpOwpAQCAtMjE5LDIwICsyMTYsNiBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpvdmVycmlkZUJv
b2xQcmVmZXJlCiAgICAgaWYgKHByZWZlcmVuY2UgPT0gIldlYktpdE1vZGVybk1lZGlhQ29udHJv
bHNFbmFibGVkIikKICAgICAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVy
ZXMoKS5zZXRNb2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZChlbmFibGVkKTsKIAotI2lmIEVOQUJM
RShFTkNSWVBURURfTUVESUEpCi0gICAgaWYgKHByZWZlcmVuY2UgPT0gIldlYktpdEVuY3J5cHRl
ZE1lZGlhQVBJRW5hYmxlZCIpIHsKLSAgICAgICAgV2ViUHJlZmVyZW5jZXNTdG9yZTo6b3ZlcnJp
ZGVCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmVuY3J5cHRlZE1lZGlhQVBJRW5h
YmxlZEtleSgpLCBlbmFibGVkKTsKLSAgICAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5zZXRFbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQoZW5hYmxlZCk7Ci0gICAg
fQotI2VuZGlmCi0KLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQotICAgIGlmIChwcmVmZXJlbmNl
ID09ICJXZWJLaXRNZWRpYURldmljZXNFbmFibGVkIikKLSAgICAgICAgUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRNZWRpYURldmljZXNFbmFibGVkKGVuYWJsZWQp
OwotICAgIGlmIChwcmVmZXJlbmNlID09ICJXZWJLaXRTY3JlZW5DYXB0dXJlRW5hYmxlZCIpCi0g
ICAgICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0U2NyZWVu
Q2FwdHVyZUVuYWJsZWQoZW5hYmxlZCk7Ci0jZW5kaWYKLQogI2lmIEVOQUJMRShXRUJfUlRDKQog
ICAgIGlmIChwcmVmZXJlbmNlID09ICJXZWJLaXRXZWJSVENNRE5TSUNFQ2FuZGlkYXRlc0VuYWJs
ZWQiKQogICAgICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNl
dFdlYlJUQ01ETlNJQ0VDYW5kaWRhdGVzRW5hYmxlZChlbmFibGVkKTsKQEAgLTI2Miw5ICsyNDUs
NiBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpvdmVycmlkZUJvb2xQcmVmZXJlCiAgICAgaWYgKHBy
ZWZlcmVuY2UgPT0gIldlYktpdFdlYkFQSVN0YXRpc3RpY3NFbmFibGVkIikKICAgICAgICAgUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRXZWJBUElTdGF0aXN0aWNz
RW5hYmxlZChlbmFibGVkKTsKIAotICAgIGlmIChwcmVmZXJlbmNlID09ICJDU1NDdXN0b21Qcm9w
ZXJ0aWVzQW5kVmFsdWVzRW5hYmxlZCIpCi0gICAgICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNoYXJlZEZlYXR1cmVzKCkuc2V0Q1NTQ3VzdG9tUHJvcGVydGllc0FuZFZhbHVlc0VuYWJsZWQo
ZW5hYmxlZCk7Ci0KICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKICAgICBp
ZiAocHJlZmVyZW5jZSA9PSAiTGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRFbmFibGVkIikKICAgICAg
ICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRMYXlvdXRGb3Jt
YXR0aW5nQ29udGV4dEVuYWJsZWQoZW5hYmxlZCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTM3MjYsOSArMzcyNiw2IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMoY29uc3Qg
V2UKICAgICBzZXR0aW5ncy5zZXRQYXltZW50UmVxdWVzdEVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZh
bHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjphcHBsZVBheUVuYWJsZWRLZXkoKSkpOwogI2Vu
ZGlmCiAKLSAgICAvLyBGSVhNRTogVGhpcyBpcyBib3RoIGEgUnVudGltZUVuYWJsZWRGZWF0dXJl
cyAoZ2VuZXJhdGVkKSBhbmQgYSBzZXR0aW5nLiBJdCBzaG91bGQgcGljayBvbmUuCi0gICAgc2V0
dGluZ3Muc2V0SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZh
bHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjppbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5h
YmxlZEtleSgpKSk7Ci0KICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIHNldEZvcmNlQWx3
YXlzVXNlclNjYWxhYmxlKG1fZm9yY2VBbHdheXNVc2VyU2NhbGFibGUgfHwgc3RvcmUuZ2V0Qm9v
bFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojpmb3JjZUFsd2F5c1VzZXJTY2FsYWJsZUtl
eSgpKSk7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2NjMx
MikKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE3IEBACisyMDIwLTA4LTI5ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNv
bT4KKworICAgICAgICBNYW55IHNldHRpbmdzIGluIFJ1bnRpbWVFbmFibGVkU2V0dGluZ3Mgc2hv
dWxkIGF1dG9nZW5lcmF0ZWQgU2V0dGluZ3M6IFBhcnQgMQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1OTgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBtb3ZlcyBhbiBpbml0aWFsIGNodW5rIG9m
IFJ1bnRpbWVFbmFibGVkU2V0dGluZ3Mgc2V0dGluZ3MgdG8gU2V0dGluZ3MueWFtbCwgZm9jdXNp
bmcKKyAgICAgICAgb24gc2V0dGluZ3MgdGhhdCBkb24ndCByZXF1aXJlIHN1YnN0YW50aWFsIHJl
ZmFjdG9yaW5nIG9yIG5ldyBmZWF0dXJlcyB0byB3b3JrIGluIFNldHRpbmdzLnlhbWwuCisKKyAg
ICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX3ByZWZlcmVu
Y2VzQ2hhbmdlZDpdKToKKyAgICAgICAgVXBkYXRlIGNoYW5nZWQgc2V0dGluZ3MgdG8gdXNlIFNl
dHRpbmdzIHJhdGhlciB0aGFuIFJ1bnRpbWVFbmFibGVkU2V0dGluZ3MuCisKIDIwMjAtMDgtMjgg
IERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBhbG1vc3Qg
YWxsIHRoZSByZW1haW5pbmcgdXNlcyBvZiBsaXZlIHJhbmdlcwpJbmRleDogU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkocmV2aXNpb24gMjY2MzEyKQorKysgU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBA
IC0zMjg1LDkgKzMyODUsOSBAQCAtICh2b2lkKV9wcmVmZXJlbmNlc0NoYW5nZWQ6KFdlYlByZWZl
cmVuCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICBzZXR0aW5ncy5zZXRNb2NrQ2FwdHVy
ZURldmljZXNFbmFibGVkKGZhbHNlKTsKICAgICBzZXR0aW5ncy5zZXRNZWRpYUNhcHR1cmVSZXF1
aXJlc1NlY3VyZUNvbm5lY3Rpb24odHJ1ZSk7Ci0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS5zZXRNZWRpYVN0cmVhbUVuYWJsZWQoZmFsc2UpOwotICAgIFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TWVkaWFEZXZpY2VzRW5hYmxl
ZChmYWxzZSk7Ci0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5z
ZXRNZWRpYVJlY29yZGVyRW5hYmxlZChwcmVmZXJlbmNlcy5tZWRpYVJlY29yZGVyRW5hYmxlZCk7
CisgICAgc2V0dGluZ3Muc2V0TWVkaWFTdHJlYW1FbmFibGVkKGZhbHNlKTsKKyAgICBzZXR0aW5n
cy5zZXRNZWRpYURldmljZXNFbmFibGVkKGZhbHNlKTsKKyAgICBzZXR0aW5ncy5zZXRNZWRpYVJl
Y29yZGVyRW5hYmxlZChwcmVmZXJlbmNlcy5tZWRpYVJlY29yZGVyRW5hYmxlZCk7CiAjZW5kaWYK
IAogI2lmIEVOQUJMRShXRUJfUlRDKQpAQCAtMzMwOCw3ICszMzA4LDcgQEAgLSAodm9pZClfcHJl
ZmVyZW5jZXNDaGFuZ2VkOihXZWJQcmVmZXJlbgogCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2hhcmVkRmVhdHVyZXMoKS5zZXRMaW5lSGVpZ2h0VW5pdHNFbmFibGVkKFtwcmVmZXJlbmNl
cyBsaW5lSGVpZ2h0VW5pdHNFbmFibGVkXSk7CiAKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpzaGFyZWRGZWF0dXJlcygpLnNldEFkQ2xpY2tBdHRyaWJ1dGlvbkVuYWJsZWQoW3ByZWZlcmVu
Y2VzIGFkQ2xpY2tBdHRyaWJ1dGlvbkVuYWJsZWRdKTsKKyAgICBzZXR0aW5ncy5zZXRBZENsaWNr
QXR0cmlidXRpb25FbmFibGVkKFtwcmVmZXJlbmNlcyBhZENsaWNrQXR0cmlidXRpb25FbmFibGVk
XSk7CiAKICAgICBzZXR0aW5ncy5zZXRIaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxl
ZChbcHJlZmVyZW5jZXMgaGlkZGVuUGFnZURPTVRpbWVyVGhyb3R0bGluZ0VuYWJsZWRdKTsKIApA
QCAtMzMyMCwyMSArMzMyMCwyMSBAQCAtICh2b2lkKV9wcmVmZXJlbmNlc0NoYW5nZWQ6KFdlYlBy
ZWZlcmVuCiAgICAgc2V0dGluZ3Muc2V0Q29uc3RhbnRQcm9wZXJ0aWVzRW5hYmxlZChbcHJlZmVy
ZW5jZXMgY29uc3RhbnRQcm9wZXJ0aWVzRW5hYmxlZF0pOwogCiAjaWYgRU5BQkxFKEdBTUVQQUQp
Ci0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRHYW1lcGFk
c0VuYWJsZWQoW3ByZWZlcmVuY2VzIGdhbWVwYWRzRW5hYmxlZF0pOworICAgIHNldHRpbmdzLnNl
dEdhbWVwYWRzRW5hYmxlZChbcHJlZmVyZW5jZXMgZ2FtZXBhZHNFbmFibGVkXSk7CiAjZW5kaWYK
IAogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0SGlnaGxp
Z2h0QVBJRW5hYmxlZChbcHJlZmVyZW5jZXMgaGlnaGxpZ2h0QVBJRW5hYmxlZF0pOwogCiAgICAg
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRTaGFkb3dET01FbmFi
bGVkKFtwcmVmZXJlbmNlcyBzaGFkb3dET01FbmFibGVkXSk7Ci0gICAgUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRDdXN0b21FbGVtZW50c0VuYWJsZWQoW3ByZWZl
cmVuY2VzIGN1c3RvbUVsZW1lbnRzRW5hYmxlZF0pOwotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0RGF0YVRyYW5zZmVySXRlbXNFbmFibGVkKFtwcmVmZXJl
bmNlcyBkYXRhVHJhbnNmZXJJdGVtc0VuYWJsZWRdKTsKKyAgICBzZXR0aW5ncy5zZXRDdXN0b21F
bGVtZW50c0VuYWJsZWQoW3ByZWZlcmVuY2VzIGN1c3RvbUVsZW1lbnRzRW5hYmxlZF0pOworICAg
IHNldHRpbmdzLnNldERhdGFUcmFuc2Zlckl0ZW1zRW5hYmxlZChbcHJlZmVyZW5jZXMgZGF0YVRy
YW5zZmVySXRlbXNFbmFibGVkXSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS5zZXRDdXN0b21QYXN0ZWJvYXJkRGF0YUVuYWJsZWQoW3ByZWZlcmVuY2VzIGN1
c3RvbVBhc3RlYm9hcmREYXRhRW5hYmxlZF0pOwogCiAjaWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxF
TUVOVCkKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEF0
dGFjaG1lbnRFbGVtZW50RW5hYmxlZChbcHJlZmVyZW5jZXMgYXR0YWNobWVudEVsZW1lbnRFbmFi
bGVkXSk7CiAjZW5kaWYKIAotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1
cmVzKCkuc2V0SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQoW3NlbGYgaW50ZXJhY3Rp
dmVGb3JtVmFsaWRhdGlvbkVuYWJsZWRdKTsKKyAgICBzZXR0aW5ncy5zZXRJbnRlcmFjdGl2ZUZv
cm1WYWxpZGF0aW9uRW5hYmxlZChbc2VsZiBpbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxl
ZF0pOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TW9k
ZXJuTWVkaWFDb250cm9sc0VuYWJsZWQoW3ByZWZlcmVuY2VzIG1vZGVybk1lZGlhQ29udHJvbHNF
bmFibGVkXSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5z
ZXRXZWJBbmltYXRpb25zQ1NTSW50ZWdyYXRpb25FbmFibGVkKFtwcmVmZXJlbmNlcyB3ZWJBbmlt
YXRpb25zQ1NTSW50ZWdyYXRpb25FbmFibGVkXSk7CiAKQEAgLTMzNTgsNDQgKzMzNTgsNDQgQEAg
LSAodm9pZClfcHJlZmVyZW5jZXNDaGFuZ2VkOihXZWJQcmVmZXJlbgogI2VuZGlmCiAKICNpZiBF
TkFCTEUoRE9XTkxPQURfQVRUUklCVVRFKQotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNo
YXJlZEZlYXR1cmVzKCkuc2V0RG93bmxvYWRBdHRyaWJ1dGVFbmFibGVkKFtwcmVmZXJlbmNlcyBk
b3dubG9hZEF0dHJpYnV0ZUVuYWJsZWRdKTsKKyAgICBzZXR0aW5ncy5zZXREb3dubG9hZEF0dHJp
YnV0ZUVuYWJsZWQoW3ByZWZlcmVuY2VzIGRvd25sb2FkQXR0cmlidXRlRW5hYmxlZF0pOwogI2Vu
ZGlmCiAKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFdl
YkFuaW1hdGlvbnNFbmFibGVkKFtwcmVmZXJlbmNlcyB3ZWJBbmltYXRpb25zRW5hYmxlZF0pOwog
ICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0V2ViQW5pbWF0
aW9uc0NvbXBvc2l0ZU9wZXJhdGlvbnNFbmFibGVkKFtwcmVmZXJlbmNlcyB3ZWJBbmltYXRpb25z
Q29tcG9zaXRlT3BlcmF0aW9uc0VuYWJsZWRdKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpzaGFyZWRGZWF0dXJlcygpLnNldFdlYkFuaW1hdGlvbnNNdXRhYmxlVGltZWxpbmVzRW5hYmxl
ZChbcHJlZmVyZW5jZXMgd2ViQW5pbWF0aW9uc011dGFibGVUaW1lbGluZXNFbmFibGVkXSk7CiAK
LSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldENTU0N1c3Rv
bVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVkKFtwcmVmZXJlbmNlcyBDU1NDdXN0b21Qcm9wZXJ0
aWVzQW5kVmFsdWVzRW5hYmxlZF0pOworICAgIHNldHRpbmdzLnNldENTU0N1c3RvbVByb3BlcnRp
ZXNBbmRWYWx1ZXNFbmFibGVkKFtwcmVmZXJlbmNlcyBDU1NDdXN0b21Qcm9wZXJ0aWVzQW5kVmFs
dWVzRW5hYmxlZF0pOwogCiAjaWYgRU5BQkxFKElOVEVSU0VDVElPTl9PQlNFUlZFUikKLSAgICBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEludGVyc2VjdGlvbk9i
c2VydmVyRW5hYmxlZChwcmVmZXJlbmNlcy5pbnRlcnNlY3Rpb25PYnNlcnZlckVuYWJsZWQpOwor
ICAgIHNldHRpbmdzLnNldEludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZChwcmVmZXJlbmNlcy5p
bnRlcnNlY3Rpb25PYnNlcnZlckVuYWJsZWQpOwogI2VuZGlmCiAKICAgICBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFVzZXJUaW1pbmdFbmFibGVkKHByZWZlcmVu
Y2VzLnVzZXJUaW1pbmdFbmFibGVkKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFy
ZWRGZWF0dXJlcygpLnNldFJlc291cmNlVGltaW5nRW5hYmxlZChwcmVmZXJlbmNlcy5yZXNvdXJj
ZVRpbWluZ0VuYWJsZWQpOwotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1
cmVzKCkuc2V0TGlua1ByZWxvYWRFbmFibGVkKHByZWZlcmVuY2VzLmxpbmtQcmVsb2FkRW5hYmxl
ZCk7Ci0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRNZWRp
YVByZWxvYWRpbmdFbmFibGVkKHByZWZlcmVuY2VzLm1lZGlhUHJlbG9hZGluZ0VuYWJsZWQpOwor
ICAgIHNldHRpbmdzLnNldExpbmtQcmVsb2FkRW5hYmxlZChwcmVmZXJlbmNlcy5saW5rUHJlbG9h
ZEVuYWJsZWQpOworICAgIHNldHRpbmdzLnNldE1lZGlhUHJlbG9hZGluZ0VuYWJsZWQocHJlZmVy
ZW5jZXMubWVkaWFQcmVsb2FkaW5nRW5hYmxlZCk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2hhcmVkRmVhdHVyZXMoKS5zZXRJc1NlY3VyZUNvbnRleHRBdHRyaWJ1dGVFbmFibGVkKHBy
ZWZlcmVuY2VzLmlzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVuYWJsZWQpOwogICAgIFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0RGlyZWN0b3J5VXBsb2FkRW5hYmxl
ZChbcHJlZmVyZW5jZXMgZGlyZWN0b3J5VXBsb2FkRW5hYmxlZF0pOwogICAgIFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TWVudUl0ZW1FbGVtZW50RW5hYmxlZChb
cHJlZmVyZW5jZXMgbWVudUl0ZW1FbGVtZW50RW5hYmxlZF0pOwogICAgIFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0QWNjZXNzaWJpbGl0eU9iamVjdE1vZGVsRW5h
YmxlZChbcHJlZmVyZW5jZXMgYWNjZXNzaWJpbGl0eU9iamVjdE1vZGVsRW5hYmxlZF0pOwogICAg
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0QXJpYVJlZmxlY3Rp
b25FbmFibGVkKFtwcmVmZXJlbmNlcyBhcmlhUmVmbGVjdGlvbkVuYWJsZWRdKTsKICAgICBSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEZldGNoQVBJS2VlcEFsaXZl
RW5hYmxlZChbcHJlZmVyZW5jZXMgZmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkXSk7Ci0gICAgUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRSZWZlcnJlclBvbGljeUF0
dHJpYnV0ZUVuYWJsZWQoW3ByZWZlcmVuY2VzIHJlZmVycmVyUG9saWN5QXR0cmlidXRlRW5hYmxl
ZF0pOwotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TGlu
a1ByZWxvYWRSZXNwb25zaXZlSW1hZ2VzRW5hYmxlZChbcHJlZmVyZW5jZXMgbGlua1ByZWxvYWRS
ZXNwb25zaXZlSW1hZ2VzRW5hYmxlZF0pOworICAgIHNldHRpbmdzLnNldFJlZmVycmVyUG9saWN5
QXR0cmlidXRlRW5hYmxlZChbcHJlZmVyZW5jZXMgcmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGVFbmFi
bGVkXSk7CisgICAgc2V0dGluZ3Muc2V0TGlua1ByZWxvYWRSZXNwb25zaXZlSW1hZ2VzRW5hYmxl
ZChbcHJlZmVyZW5jZXMgbGlua1ByZWxvYWRSZXNwb25zaXZlSW1hZ2VzRW5hYmxlZF0pOwogICAg
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0RGlhbG9nRWxlbWVu
dEVuYWJsZWQoW3ByZWZlcmVuY2VzIGRpYWxvZ0VsZW1lbnRFbmFibGVkXSk7CiAgICAgUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRLZXlnZW5FbGVtZW50RW5hYmxl
ZChbcHJlZmVyZW5jZXMga2V5Z2VuRWxlbWVudEVuYWJsZWRdKTsKICAgICBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldENTU1NoYWRvd1BhcnRzRW5hYmxlZChbcHJl
ZmVyZW5jZXMgY3NzU2hhZG93UGFydHNFbmFibGVkXSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRMYXlvdXRGb3JtYXR0aW5nQ29udGV4dEludGVncmF0
aW9uRW5hYmxlZChbcHJlZmVyZW5jZXMgbGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRJbnRlZ3JhdGlv
bkVuYWJsZWRdKTsKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygp
LnNldElzSW5BcHBCcm93c2VyUHJpdmFjeUVuYWJsZWQoW3ByZWZlcmVuY2VzIGlzSW5BcHBCcm93
c2VyUHJpdmFjeUVuYWJsZWRdKTsKKyAgICBzZXR0aW5ncy5zZXRJc0luQXBwQnJvd3NlclByaXZh
Y3lFbmFibGVkKFtwcmVmZXJlbmNlcyBpc0luQXBwQnJvd3NlclByaXZhY3lFbmFibGVkXSk7CiAg
ICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRXZWJTUUxEaXNh
YmxlZCghW3ByZWZlcmVuY2VzIHdlYlNRTEVuYWJsZWRdKTsKICAgICAKICNpZiBFTkFCTEUoTEVH
QUNZX0VOQ1JZUFRFRF9NRURJQSkKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRG
ZWF0dXJlcygpLnNldExlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZChwcmVmZXJlbmNlcy5s
ZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQpOworICAgIHNldHRpbmdzLnNldExlZ2FjeUVu
Y3J5cHRlZE1lZGlhQVBJRW5hYmxlZChwcmVmZXJlbmNlcy5sZWdhY3lFbmNyeXB0ZWRNZWRpYUFQ
SUVuYWJsZWQpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQotICAgIFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0RW5jcnlwdGVkTWVkaWFB
UElFbmFibGVkKHByZWZlcmVuY2VzLmVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZCk7CisgICAgc2V0
dGluZ3Muc2V0RW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKHByZWZlcmVuY2VzLmVuY3J5cHRlZE1l
ZGlhQVBJRW5hYmxlZCk7CiAjZW5kaWYKIAogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNo
YXJlZEZlYXR1cmVzKCkuc2V0VXNlckdlc3R1cmVQcm9taXNlUHJvcGFnYXRpb25FbmFibGVkKHBy
ZWZlcmVuY2VzLnVzZXJHZXN0dXJlUHJvbWlzZVByb3BhZ2F0aW9uRW5hYmxlZCk7CkluZGV4OiBT
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAor
MjAyMC0wOC0yOSAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgTWFu
eSBzZXR0aW5ncyBpbiBSdW50aW1lRW5hYmxlZFNldHRpbmdzIHNob3VsZCBhdXRvZ2VuZXJhdGVk
IFNldHRpbmdzOiBQYXJ0IDEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxNTk4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoaXMgbW92ZXMgYW4gaW5pdGlhbCBjaHVuayBvZiBSdW50aW1lRW5hYmxlZFNl
dHRpbmdzIHNldHRpbmdzIHRvIFNldHRpbmdzLnlhbWwsIGZvY3VzaW5nCisgICAgICAgIG9uIHNl
dHRpbmdzIHRoYXQgZG9uJ3QgcmVxdWlyZSBzdWJzdGFudGlhbCByZWZhY3RvcmluZyBvciBuZXcg
ZmVhdHVyZXMgdG8gd29yayBpbiBTZXR0aW5ncy55YW1sLgorCisgICAgICAgICogV2ViVmlldy5j
cHA6CisgICAgICAgIChXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQpOgorICAgICAg
ICBVcGRhdGUgY2hhbmdlZCBzZXR0aW5ncyB0byB1c2UgU2V0dGluZ3MgcmF0aGVyIHRoYW4gUnVu
dGltZUVuYWJsZWRTZXR0aW5ncy4KKwogMjAyMC0wOC0yMCAgRGFyaW4gQWRsZXIgIDxkYXJpbkBh
cHBsZS5jb20+CiAKICAgICAgICAgTW92ZSBub2RlIGdlb21ldHJ5IGZ1bmN0aW9ucyBmcm9tIFJh
bmdlIHRvIFJlbmRlck9iamVjdApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmll
dy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAJ
KHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC01MjQyLDcgKzUyNDIsNyBAQCBIUkVTVUxUIFdlYlZpZXc6Om5v
dGlmeVByZWZlcmVuY2VzQ2hhbmdlCiAgICAgaHIgPSBwcmVmc1ByaXZhdGUtPmN1c3RvbUVsZW1l
bnRzRW5hYmxlZCgmZW5hYmxlZCk7CiAgICAgaWYgKEZBSUxFRChocikpCiAgICAgICAgIHJldHVy
biBocjsKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEN1
c3RvbUVsZW1lbnRzRW5hYmxlZCghIWVuYWJsZWQpOworICAgIHNldHRpbmdzLnNldEN1c3RvbUVs
ZW1lbnRzRW5hYmxlZCghIWVuYWJsZWQpOwogCiAgICAgaHIgPSBwcmVmc1ByaXZhdGUtPm1lbnVJ
dGVtRWxlbWVudEVuYWJsZWQoJmVuYWJsZWQpOwogICAgIGlmIChGQUlMRUQoaHIpKQpAQCAtNTI4
Miw3ICs1MjgyLDcgQEAgSFJFU1VMVCBXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZQog
ICAgIGhyID0gcHJlZnNQcml2YXRlLT5DU1NDdXN0b21Qcm9wZXJ0aWVzQW5kVmFsdWVzRW5hYmxl
ZCgmZW5hYmxlZCk7CiAgICAgaWYgKEZBSUxFRChocikpCiAgICAgICAgIHJldHVybiBocjsKLSAg
ICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldENTU0N1c3RvbVBy
b3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVkKCEhZW5hYmxlZCk7CisgICAgc2V0dGluZ3Muc2V0Q1NT
Q3VzdG9tUHJvcGVydGllc0FuZFZhbHVlc0VuYWJsZWQoISFlbmFibGVkKTsKIAogICAgIGhyID0g
cHJlZnNQcml2YXRlLT51c2VyVGltaW5nRW5hYmxlZCgmZW5hYmxlZCk7CiAgICAgaWYgKEZBSUxF
RChocikpCkBAIC01MzA3LDcgKzUzMDcsNyBAQCBIUkVTVUxUIFdlYlZpZXc6Om5vdGlmeVByZWZl
cmVuY2VzQ2hhbmdlCiAgICAgaHIgPSBwcmVmc1ByaXZhdGUtPm1lZGlhUHJlbG9hZGluZ0VuYWJs
ZWQoJmVuYWJsZWQpOwogICAgIGlmIChGQUlMRUQoaHIpKQogICAgICAgICByZXR1cm4gaHI7Ci0g
ICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRNZWRpYVByZWxv
YWRpbmdFbmFibGVkKCEhZW5hYmxlZCk7CisgICAgc2V0dGluZ3Muc2V0TWVkaWFQcmVsb2FkaW5n
RW5hYmxlZCghIWVuYWJsZWQpOwogCiAgICAgaHIgPSBwcmVmc1ByaXZhdGUtPmlzU2VjdXJlQ29u
dGV4dEF0dHJpYnV0ZUVuYWJsZWQoJmVuYWJsZWQpOwogICAgIGlmIChGQUlMRUQoaHIpKQpAQCAt
NTMxNyw3ICs1MzE3LDcgQEAgSFJFU1VMVCBXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5n
ZQogICAgIGhyID0gcHJlZnNQcml2YXRlLT5kYXRhVHJhbnNmZXJJdGVtc0VuYWJsZWQoJmVuYWJs
ZWQpOwogICAgIGlmIChGQUlMRUQoaHIpKQogICAgICAgICByZXR1cm4gaHI7Ci0gICAgUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXREYXRhVHJhbnNmZXJJdGVtc0Vu
YWJsZWQoISFlbmFibGVkKTsKKyAgICBzZXR0aW5ncy5zZXREYXRhVHJhbnNmZXJJdGVtc0VuYWJs
ZWQoISFlbmFibGVkKTsKIAogICAgIGhyID0gcHJlZnNQcml2YXRlLT5pbnNwZWN0b3JBZGRpdGlv
bnNFbmFibGVkKCZlbmFibGVkKTsKICAgICBpZiAoRkFJTEVEKGhyKSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407559</attachid>
            <date>2020-08-29 18:08:15 -0700</date>
            <delta_ts>2020-08-30 19:19:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215981-20200829180814.patch</filename>
            <type>text/plain</type>
            <size>167478</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2NjMyNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzMCBAQAorMjAyMC0wOC0yOSAgU2FtIFdl
aW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgTWFueSBzZXR0aW5ncyBpbiBSdW50
aW1lRW5hYmxlZFNldHRpbmdzIHNob3VsZCBhdXRvZ2VuZXJhdGVkIFNldHRpbmdzOiBQYXJ0IDEK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTk4MQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgbW92
ZXMgYW4gaW5pdGlhbCBjaHVuayBvZiBSdW50aW1lRW5hYmxlZFNldHRpbmdzIHNldHRpbmdzIHRv
IFNldHRpbmdzLnlhbWwsIGZvY3VzaW5nCisgICAgICAgIG9uIHNldHRpbmdzIHRoYXQgZG9uJ3Qg
cmVxdWlyZSBzdWJzdGFudGlhbCByZWZhY3RvcmluZyBvciBuZXcgZmVhdHVyZXMgdG8gd29yayBp
biBTZXR0aW5ncy55YW1sLgorICAgICAgICAKKyAgICAgICAgVGhlIG9uZSAic3Vic3RhbnRpYWwi
IGNoYW5nZSB0byBTZXR0aW5ncyBnZW5lcmF0aW9uIHdhcyB0byBzd2l0Y2ggdGhlIGNvbmRpdGlv
bmFsIGtleSwgdG8gcmVxdWlyZQorICAgICAgICB0aGUgY29tcGxldGUgY29uZGl0aW9uYWwgZm9y
bSAoZS5nLiByZXF1aXJlIEVOQUJMRShGT08pIHJhdGhlciB0aGFuIEZPTyksIHdoaWNoIG1hdGNo
ZXMgCisgICAgICAgIFdlYlByZWZlcmVuY2VzLnlhbWwgaW4gV2ViS2l0LCBhbmQgaXMgbW9yZSB2
ZXJzaXRpbGUgYWxsb3dpbmcgbm9uLUVOQUJMRSBiYXNlZCBjb25kaXRpb25hbHMuIAorCisgICAg
ICAgICogTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9CYXNpY0NyZWRlbnRpYWwuaWRsOgor
ICAgICAgICAqIE1vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbHNDb250YWlu
ZXIuaWRsOgorICAgICAgICAqIE1vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvTmF2aWdhdG9y
Q3JlZGVudGlhbHMuaWRsOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFL
ZXlNZXNzYWdlRXZlbnQuaWRsOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVk
aWFLZXlTZXNzaW9uLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlh
S2V5U3RhdHVzTWFwLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlh
S2V5U3lzdGVtQWNjZXNzLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5cy5pZGw6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JF
TUUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1l
ZGlhS2V5TWVzc2FnZUV2ZW50LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlh
L2xlZ2FjeS9XZWJLaXRNZWRpYUtleU5lZWRlZEV2ZW50LmlkbDoKKyAgICAgICAgKiBNb2R1bGVz
L2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5cy5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWQuaWRsOgorICAgICAgICAqIE1vZHVsZXMv
Z2FtZXBhZC9HYW1lcGFkQnV0dG9uLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2dhbWVwYWQvR2Ft
ZXBhZEV2ZW50LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2dhbWVwYWQvTmF2aWdhdG9yR2FtZXBh
ZC5pZGw6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXJlY29yZGVyL0Jsb2JFdmVudC5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIuaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyRXJyb3JFdmVudC5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaWRsOgorICAgICAgICAq
IE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVN0cmVhbVRyYWNrOjp1cGRhdGVDYXB0dXJlQWNjb3JkaW5nVG9NdXRlZFN0YXRl
KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvck1lZGlhRGV2aWNlcy5p
ZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVz
cG9uc2UuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckF0dGVz
dGF0aW9uUmVzcG9uc2UuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGlj
YXRvclJlc3BvbnNlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNy
ZWRlbnRpYWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UHVibGljS2V5Q3JlZGVudGlhbDo6aXNV
c2VyVmVyaWZ5aW5nUGxhdGZvcm1BdXRoZW50aWNhdG9yQXZhaWxhYmxlKToKKyAgICAgICAgKiBN
b2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuaWRsOgorICAgICAgICAqIFNjcmlw
dHMvU2V0dGluZ3NUZW1wbGF0ZXMvSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5jcHAuZXJiOgor
ICAgICAgICAqIFNjcmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXMvSW50ZXJuYWxTZXR0aW5nc0dlbmVy
YXRlZC5oLmVyYjoKKyAgICAgICAgKiBTY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL1NldHRpbmdz
LmNwcC5lcmI6CisgICAgICAgICogU2NyaXB0cy9TZXR0aW5nc1RlbXBsYXRlcy9TZXR0aW5ncy5o
LmVyYjoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogY3NzL0RPTUNTU0N1c3RvbVByb3BlcnR5RGVzY3JpcHRvci5pZGw6CisgICAgICAgICog
Y3NzL0RPTUNTU1JlZ2lzdGVyQ3VzdG9tUHJvcGVydHkuaWRsOgorICAgICAgICAqIGRvbS9CZWZv
cmVMb2FkRXZlbnQuaWRsOgorICAgICAgICAqIGRvbS9DdXN0b21FbGVtZW50UmVnaXN0cnkuaWRs
OgorICAgICAgICAqIGRvbS9EYXRhVHJhbnNmZXIuaWRsOgorICAgICAgICAqIGRvbS9EYXRhVHJh
bnNmZXJJdGVtLmlkbDoKKyAgICAgICAgKiBkb20vRGF0YVRyYW5zZmVySXRlbUxpc3QuaWRsOgor
ICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVVcGdy
YWRlQ2FuZGlkYXRlRWxlbWVudCk6CisgICAgICAgICogZG9tL0RvY3VtZW50LmlkbDoKKyAgICAg
ICAgKiBkb20vRWxlbWVudC5pZGw6CisgICAgICAgICogZG9tL0lucHV0RXZlbnQuaWRsOgorICAg
ICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OmRpc3BhdGNoQmVm
b3JlTG9hZEV2ZW50KToKKyAgICAgICAgKiBkb20vU3RhdGljUmFuZ2UuaWRsOgorICAgICAgICAq
IGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cmVnaXN0ZXJD
dXN0b21VbmRvU3RlcCk6CisgICAgICAgICogaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MQW5jaG9yRWxlbWVudDo6aXNTeXN0ZW1QcmV2aWV3TGluayk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MQW5jaG9yRWxlbWVudDo6cGFyc2VBZENsaWNrQXR0cmli
dXRpb24gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEFuY2hvckVsZW1lbnQ6OmhhbmRs
ZUNsaWNrKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxBbmNob3JFbGVtZW50OjpyZWZlcnJlclBv
bGljeSBjb25zdCk6CisgICAgICAgICogaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5pZGw6CisgICAg
ICAgICogaHRtbC9IVE1MQXJlYUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEJ1dHRv
bkVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEZpZWxkU2V0RWxlbWVudC5pZGw6Cisg
ICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTElG
cmFtZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElGcmFtZUVsZW1lbnQ6OnJl
ZmVycmVyUG9saWN5IGNvbnN0KToKKyAgICAgICAgKiBodG1sL0hUTUxJRnJhbWVFbGVtZW50Lmlk
bDoKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEltYWdlRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MSW1hZ2VFbGVtZW50Ojppc1N5c3RlbVByZXZpZXdJbWFnZSBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpyZWZlcnJlclBvbGljeSBjb25zdCk6CisgICAg
ICAgICogaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1
dEVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEtleWdlbkVsZW1lbnQuaWRsOgorICAg
ICAgICAqIGh0bWwvSFRNTExpbmtFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxM
aW5rRWxlbWVudDo6YXMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTExpbmtFbGVtZW50
OjpyZWZlcnJlclBvbGljeSBjb25zdCk6CisgICAgICAgICogaHRtbC9IVE1MTGlua0VsZW1lbnQu
aWRsOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp1cGRhdGVTaG91bGRDb250aW51ZUFmdGVyTmVlZEtleSk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllcktleU5lZWRl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp3ZWJraXRTZXRNZWRpYUtl
eXMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6a2V5QWRkZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJJbml0aWFsaXphdGlv
bkRhdGFFbmNvdW50ZXJlZCk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbDoK
KyAgICAgICAgKiBodG1sL0hUTUxNZXRhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MTWV0YUVsZW1lbnQ6OnByb2Nlc3MpOgorICAgICAgICAqIGh0bWwvSFRNTE9iamVjdEVsZW1l
bnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTE91dHB1dEVsZW1lbnQuaWRsOgorICAgICAgICAq
IGh0bWwvSFRNTFBpY3R1cmVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQaWN0
dXJlRWxlbWVudDo6aXNTeXN0ZW1QcmV2aWV3SW1hZ2UpOgorICAgICAgICAqIGh0bWwvSFRNTFNj
cmlwdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNjcmlwdEVsZW1lbnQ6OnJl
ZmVycmVyUG9saWN5IGNvbnN0KToKKyAgICAgICAgKiBodG1sL0hUTUxTY3JpcHRFbGVtZW50Lmlk
bDoKKyAgICAgICAgKiBodG1sL0hUTUxTZWxlY3RFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1s
L0hUTUxUZXh0QXJlYUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvTGlua1JlbEF0dHJpYnV0
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMaW5rUmVsQXR0cmlidXRlOjpMaW5rUmVsQXR0cmli
dXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkxpbmtSZWxBdHRyaWJ1dGU6OmlzU3VwcG9ydGVkKToK
KyAgICAgICAgKiBodG1sL01lZGlhRW5jcnlwdGVkRXZlbnQuaWRsOgorICAgICAgICAqIGh0bWwv
V2ViS2l0TWVkaWFLZXlFcnJvci5pZGw6CisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFByZWxv
YWRTY2FubmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRva2VuUHJlbG9hZFNjYW5uZXI6OlN0
YXJ0VGFnU2Nhbm5lcjo6U3RhcnRUYWdTY2FubmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRva2Vu
UHJlbG9hZFNjYW5uZXI6OlN0YXJ0VGFnU2Nhbm5lcjo6cHJvY2Vzc0F0dHJpYnV0ZXMpOgorICAg
ICAgICAoV2ViQ29yZTo6VG9rZW5QcmVsb2FkU2Nhbm5lcjo6U3RhcnRUYWdTY2FubmVyOjpjcmVh
dGVQcmVsb2FkUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpUb2tlblByZWxvYWRTY2FubmVy
OjpTdGFydFRhZ1NjYW5uZXI6OnByb2Nlc3NBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6
VG9rZW5QcmVsb2FkU2Nhbm5lcjo6U3RhcnRUYWdTY2FubmVyOjpyZXNvdXJjZVR5cGUgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6VG9rZW5QcmVsb2FkU2Nhbm5lcjo6c2Nhbik6CisgICAgICAg
ICogbG9hZGVyL0ltYWdlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlTG9hZGVy
Ojp1cGRhdGVGcm9tRWxlbWVudCk6CisgICAgICAgICogbG9hZGVyL0xpbmtMb2FkZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TGlua0xvYWRlcjo6cmVzb3VyY2VUeXBlRnJvbUFzQXR0cmlidXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUxpbmtQcmVsb2FkUmVzb3VyY2VDbGllbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6TGlua0xvYWRlcjo6aXNTdXBwb3J0ZWRUeXBlKToKKyAgICAgICAg
KFdlYkNvcmU6OkxpbmtMb2FkZXI6OnByZWxvYWRJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpMaW5rTG9hZGVyOjpwcmVmZXRjaElmTmVlZGVkKToKKyAgICAgICAgKiBsb2FkZXIvTGlua0xv
YWRlci5oOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKKyAgICAgICAgKiBwYWdlL0lu
dGVyc2VjdGlvbk9ic2VydmVyLmlkbDoKKyAgICAgICAgKiBwYWdlL0ludGVyc2VjdGlvbk9ic2Vy
dmVyRW50cnkuaWRsOgorICAgICAgICAqIHBhZ2UvTmF2aWdhdG9yLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok5hdmlnYXRvcjo6Y2FuU2hhcmUpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9y
OjpzaGFyZSk6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3IuaDoKKyAgICAgICAgKiBwYWdlL05h
dmlnYXRvclNoYXJlLmlkbDoKKyAgICAgICAgKiBwYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6UnVudGltZUVu
YWJsZWRGZWF0dXJlcyk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVz
Ojp0b3VjaEV2ZW50c0VuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2UvUnVu
dGltZUVuYWJsZWRGZWF0dXJlcy5oOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2V0TW91c2VFdmVudHNTaW11bGF0aW9uRW5hYmxlZCk6CisgICAgICAgIChXZWJD
b3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRCbGFua0FuY2hvclRhcmdldEltcGxpZXNO
b09wZW5lckVuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6YmxhbmtBbmNob3JUYXJnZXRJbXBsaWVzTm9PcGVuZXJFbmFibGVkIGNvbnN0
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNl
dExpbmtQcmVsb2FkRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpsaW5rUHJlbG9hZEVuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0TGlua1ByZWZldGNoRW5h
YmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpsaW5rUHJlZmV0Y2hFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldE1lZGlhUHJlbG9hZGluZ0VuYWJsZWQpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6bWVkaWFQcmVs
b2FkaW5nRW5hYmxlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzZXRJbnB1dEV2ZW50c0VuYWJsZWQpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6aW5wdXRFdmVudHNFbmFibGVkIGNv
bnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNldEludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmludGVyYWN0aXZlRm9ybVZhbGlkYXRp
b25FbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnNldEN1c3RvbUVsZW1lbnRzRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpjdXN0b21FbGVtZW50c0VuYWJsZWQg
Y29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2V0RGF0YVRyYW5zZmVySXRlbXNFbmFibGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmRhdGFUcmFuc2Zlckl0ZW1zRW5hYmxlZCBjb25z
dCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpz
ZXRXZWJTaGFyZUVuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVu
YWJsZWRGZWF0dXJlczo6d2ViU2hhcmVFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldFdlYkF1dGhlbnRpY2F0aW9uRW5h
YmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVz
Ojp3ZWJBdXRoZW50aWNhdGlvbkVuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0V2ViQXV0aGVudGljYXRpb25Mb2NhbEF1
dGhlbnRpY2F0b3JFbmFibGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OndlYkF1dGhlbnRpY2F0aW9uTG9jYWxBdXRoZW50aWNhdG9yRW5hYmxl
ZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzZXREaXNhYmxlZEFkYXB0YXRpb25zTWV0YVRhZ0VuYWJsZWQpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6ZGlzYWJsZWRBZGFwdGF0aW9u
c01ldGFUYWdFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM6OnNldENTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVk
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmNz
c0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldFN5bnRoZXRpY0VkaXRpbmdD
b21tYW5kc0VuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c3ludGhldGljRWRpdGluZ0NvbW1hbmRzRW5hYmxlZCBjb25zdCk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjptZWRpYVJlY29y
ZGVyRW5hYmxlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzZXRNZWRpYVJlY29yZGVyRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjptZWRpYURldmljZXNFbmFibGVkIGNv
bnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNldE1lZGlhRGV2aWNlc0VuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6bWVkaWFTdHJlYW1FbmFibGVkIGNvbnN0KTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldE1lZGlhU3RyZWFt
RW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzY3JlZW5DYXB0dXJlRW5hYmxlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRTY3JlZW5DYXB0dXJlRW5hYmxlZCk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRHYW1l
cGFkc0VuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6Z2FtZXBhZHNFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldERvd25sb2FkQXR0cmlidXRlRW5hYmxlZCk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpkb3du
bG9hZEF0dHJpYnV0ZUVuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmludGVy
c2VjdGlvbk9ic2VydmVyRW5hYmxlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRVbmRvTWFuYWdlckFQSUVuYWJsZWQpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6dW5kb01hbmFn
ZXJBUElFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNldEVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjplbmNyeXB0ZWRNZWRpYUFQ
SUVuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2V0TGVnYWN5RW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmxlZ2FjeUVuY3J5cHRl
ZE1lZGlhQVBJRW5hYmxlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRTeXN0ZW1QcmV2aWV3RW5hYmxlZCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzeXN0ZW1QcmV2aWV3RW5h
YmxlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzZXRMZWdhY3lCZWZvcmVMb2FkRXZlbnRFbmFibGVkKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmxlZ2FjeUJlZm9yZUxvYWRFdmVu
dEVuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6YWRDbGlja0F0dHJpYnV0aW9uRW5hYmxlZCBjb25zdCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRBZENsaWNrQXR0cmli
dXRpb25FbmFibGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNldFRvdWNoRXZlbnRzRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpyZWZlcnJlclBvbGljeUF0dHJpYnV0ZUVuYWJs
ZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2V0UmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGVFbmFibGVkKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmludGVycnVwdEF1ZGlvT25QYWdl
VmlzaWJpbGl0eUNoYW5nZUVuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0SW50ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmls
aXR5Q2hhbmdlRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpsaW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVkIGNvbnN0KTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldExp
bmtQcmVsb2FkUmVzcG9uc2l2ZUltYWdlc0VuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0TGF6eUltYWdlTG9hZGluZ0VuYWJsZWQp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6bGF6
eUltYWdlTG9hZGluZ0VuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0SXNJbkFwcEJyb3dzZXJQcml2YWN5RW5hYmxlZCk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc0lu
QXBwQnJvd3NlclByaXZhY3lFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldE5lZWRzSW5BcHBCcm93c2VyUHJpdmFjeVF1
aXJrcyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpuZWVkc0luQXBwQnJvd3NlclByaXZhY3lRdWlya3MgY29uc3QpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0V2ViU2hhcmVGaWxlQVBJRW5h
YmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVz
Ojp3ZWJTaGFyZUZpbGVBUElFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdl
L1NldHRpbmdzLnlhbWw6CisgICAgICAgICogcGFnZS9VbmRvSXRlbS5pZGw6CisgICAgICAgICog
cGFnZS9VbmRvTWFuYWdlci5pZGw6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckltYWdlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjpwYWludEludG9SZWN0KToKKyAgICAg
ICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50
ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpCYWNrdXApOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJu
YWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3JlVG8pOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJu
YWxTZXR0aW5nczo6c2V0U2NyZWVuQ2FwdHVyZUVuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAq
IHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxT
ZXR0aW5ncy5pZGw6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SW50ZXJuYWxzOjpyZXNldFRvQ29uc2lzdGVudFN0YXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OkludGVybmFsczo6c2V0U2hvdWxkSW50ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5
Q2hhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6YWRkUHJlZmV0Y2hMb2FkRXZl
bnRMaXN0ZW5lcik6CisKIDIwMjAtMDgtMjggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KIAogICAgICAgICBVcGRhdGUgUGFubmVyTm9kZSB0byBzdXBwb3J0IGstcmF0ZSBhdXRvbWF0
aW9uIG9mIGl0cyBBdWRpb1BhcmFtcwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVk
ZW50aWFsbWFuYWdlbWVudC9CYXNpY0NyZWRlbnRpYWwuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQmFzaWNDcmVkZW50aWFsLmlk
bAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50aWFs
bWFuYWdlbWVudC9CYXNpY0NyZWRlbnRpYWwuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsy
Nyw3IEBACiAgICAgSW50ZXJmYWNlTmFtZT1DcmVkZW50aWFsLAogICAgIENvbmRpdGlvbmFsPVdF
Ql9BVVRITiwKICAgICBDdXN0b21Ub0pTT2JqZWN0LAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2Vi
QXV0aGVudGljYXRpb24sCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJBdXRoZW50aWNhdGlvbiwK
ICAgICBFeHBvc2VkPVdpbmRvdywKICAgICBTZWN1cmVDb250ZXh0CiBdIGludGVyZmFjZSBCYXNp
Y0NyZWRlbnRpYWwgewpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50aWFsbWFu
YWdlbWVudC9DcmVkZW50aWFsc0NvbnRhaW5lci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVkZW50aWFsc0NvbnRhaW5lci5p
ZGwJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvY3JlZGVudGlh
bG1hbmFnZW1lbnQvQ3JlZGVudGlhbHNDb250YWluZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0y
Niw3ICsyNiw3IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1XRUJfQVVUSE4sCi0gICAgRW5hYmxl
ZEF0UnVudGltZT1XZWJBdXRoZW50aWNhdGlvbiwKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkF1
dGhlbnRpY2F0aW9uLAogICAgIEV4cG9zZWQ9V2luZG93LAogICAgIEltcGxlbWVudGF0aW9uTGFj
a3NWVGFibGUsCiAgICAgU2VjdXJlQ29udGV4dCwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvTmF2aWdhdG9yQ3JlZGVudGlhbHMuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvTmF2aWdh
dG9yQ3JlZGVudGlhbHMuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50L05hdmlnYXRvckNyZWRlbnRpYWxzLmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9V0VCX0FV
VEhOLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViQXV0aGVudGljYXRpb24sCisgICAgRW5hYmxl
ZEJ5U2V0dGluZz1XZWJBdXRoZW50aWNhdGlvbiwKIF0gcGFydGlhbCBpbnRlcmZhY2UgTmF2aWdh
dG9yIHsKICAgICBbU2VjdXJlQ29udGV4dCwgU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRl
IENyZWRlbnRpYWxzQ29udGFpbmVyIGNyZWRlbnRpYWxzOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlNZXNzYWdlRXZlbnQuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlN
ZXNzYWdlRXZlbnQuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50LmlkbAkod29ya2luZyBjb3B5
KQpAQCAtNDAsNyArNDAsNyBAQCBkaWN0aW9uYXJ5IE1lZGlhS2V5TWVzc2FnZUV2ZW50SW5pdCA6
IEV2CiAKIFsKICAgICBDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEsCi0gICAgRW5hYmxlZEF0
UnVudGltZT1FbmNyeXB0ZWRNZWRpYUFQSSwKKyAgICBFbmFibGVkQnlTZXR0aW5nPUVuY3J5cHRl
ZE1lZGlhQVBJLAogICAgIERpc2FibGVkQnlRdWlyaz1oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQ
SVN1cHBvcnQsCiBdIGludGVyZmFjZSBNZWRpYUtleU1lc3NhZ2VFdmVudCA6IEV2ZW50IHsKICAg
ICBjb25zdHJ1Y3RvcihET01TdHJpbmcgdHlwZSwgTWVkaWFLZXlNZXNzYWdlRXZlbnRJbml0IGV2
ZW50SW5pdERpY3QpOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleVNlc3Npb24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmlkbAkocmV2aXNpb24gMjY2MzEyKQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24u
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBACiBbCiAgICAgQWN0aXZlRE9NT2Jq
ZWN0LAogICAgIENvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwKLSAgICBFbmFibGVkQXRSdW50
aW1lPUVuY3J5cHRlZE1lZGlhQVBJLAorICAgIEVuYWJsZWRCeVNldHRpbmc9RW5jcnlwdGVkTWVk
aWFBUEksCiAgICAgRXhwb3J0VG9XcmFwcGVkRnVuY3Rpb24sCiAgICAgRGlzYWJsZWRCeVF1aXJr
PWhhc0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydCwKIF0gaW50ZXJmYWNlIE1lZGlhS2V5
U2Vzc2lvbiA6IEV2ZW50VGFyZ2V0IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5j
cnlwdGVkbWVkaWEvTWVkaWFLZXlTdGF0dXNNYXAuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTdGF0dXNNYXAuaWRsCShyZXZp
c2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5U3RhdHVzTWFwLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgsNyBAQCBlbnVt
IE1lZGlhS2V5U3RhdHVzIHsKIAogWwogICAgIENvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwK
LSAgICBFbmFibGVkQXRSdW50aW1lPUVuY3J5cHRlZE1lZGlhQVBJLAorICAgIEVuYWJsZWRCeVNl
dHRpbmc9RW5jcnlwdGVkTWVkaWFBUEksCiAgICAgRGlzYWJsZWRCeVF1aXJrPWhhc0Jyb2tlbkVu
Y3J5cHRlZE1lZGlhQVBJU3VwcG9ydCwKIF0gaW50ZXJmYWNlIE1lZGlhS2V5U3RhdHVzTWFwIHsK
ICAgICBpdGVyYWJsZTxCdWZmZXJTb3VyY2UsIE1lZGlhS2V5U3RhdHVzPjsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVk
aWFLZXlTeXN0ZW1BY2Nlc3MuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMjgsNyArMjgsNyBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9RU5DUllQVEVE
X01FRElBLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9RW5jcnlwdGVkTWVkaWFBUEksCisgICAgRW5h
YmxlZEJ5U2V0dGluZz1FbmNyeXB0ZWRNZWRpYUFQSSwKICAgICBEaXNhYmxlZEJ5UXVpcms9aGFz
QnJva2VuRW5jcnlwdGVkTWVkaWFBUElTdXBwb3J0LAogICAgIEltcGxlbWVudGF0aW9uTGFja3NW
VGFibGUsCiBdIGludGVyZmFjZSBNZWRpYUtleVN5c3RlbUFjY2VzcyB7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuaWRsCShy
ZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlh
L01lZGlhS2V5cy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAKIAogWwogICAg
IENvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwKLSAgICBFbmFibGVkQXRSdW50aW1lPUVuY3J5
cHRlZE1lZGlhQVBJLAorICAgIEVuYWJsZWRCeVNldHRpbmc9RW5jcnlwdGVkTWVkaWFBUEksCiAg
ICAgRXhwb3J0VG9XcmFwcGVkRnVuY3Rpb24sCiAgICAgRGlzYWJsZWRCeVF1aXJrPWhhc0Jyb2tl
bkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydCwKIF0gaW50ZXJmYWNlIE1lZGlhS2V5cyB7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL05hdmlnYXRvckVNRS5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZp
Z2F0b3JFTUUuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2VuY3J5cHRlZG1lZGlhL05hdmlnYXRvckVNRS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcg
KzI4LDcgQEAKIAogWwogICAgIENvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwKLSAgICBFbmFi
bGVkQXRSdW50aW1lPUVuY3J5cHRlZE1lZGlhQVBJLAorICAgIEVuYWJsZWRCeVNldHRpbmc9RW5j
cnlwdGVkTWVkaWFBUEksCiAgICAgRGlzYWJsZWRCeVF1aXJrPWhhc0Jyb2tlbkVuY3J5cHRlZE1l
ZGlhQVBJU3VwcG9ydCwKIF0gcGFydGlhbCBpbnRlcmZhY2UgTmF2aWdhdG9yIHsKICAgICBbQ2Fs
bFdpdGg9RG9jdW1lbnRdIFByb21pc2U8TWVkaWFLZXlTeXN0ZW1BY2Nlc3M+IHJlcXVlc3RNZWRp
YUtleVN5c3RlbUFjY2VzcyhET01TdHJpbmcga2V5U3lzdGVtLCBzZXF1ZW5jZTxNZWRpYUtleVN5
c3RlbUNvbmZpZ3VyYXRpb24+IHN1cHBvcnRlZENvbmZpZ3VyYXRpb24pOwpJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlNZXNz
YWdlRXZlbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlw
dGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5TWVzc2FnZUV2ZW50LmlkbAkocmV2aXNpb24g
MjY2MzEyKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kv
V2ViS2l0TWVkaWFLZXlNZXNzYWdlRXZlbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsy
NSw3IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1MRUdBQ1lfRU5DUllQVEVEX01FRElBLAotICAg
IEVuYWJsZWRBdFJ1bnRpbWU9TGVnYWN5RW5jcnlwdGVkTWVkaWFBUEksCisgICAgRW5hYmxlZEJ5
U2V0dGluZz1MZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSSwKIF0gaW50ZXJmYWNlIFdlYktpdE1lZGlh
S2V5TWVzc2FnZUV2ZW50IDogRXZlbnQgewogICAgIGNvbnN0cnVjdG9yKERPTVN0cmluZyB0eXBl
LCBvcHRpb25hbCBXZWJLaXRNZWRpYUtleU1lc3NhZ2VFdmVudEluaXQgZXZlbnRJbml0RGljdCk7
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dl
YktpdE1lZGlhS2V5TmVlZGVkRXZlbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5TmVlZGVkRXZlbnQu
aWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleU5lZWRlZEV2ZW50LmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMjUsNyArMjUsNyBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9TEVHQUNZX0VOQ1JZUFRF
RF9NRURJQSwKLSAgICBFbmFibGVkQXRSdW50aW1lPUxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJLAor
ICAgIEVuYWJsZWRCeVNldHRpbmc9TGVnYWN5RW5jcnlwdGVkTWVkaWFBUEksCiBdIGludGVyZmFj
ZSBXZWJLaXRNZWRpYUtleU5lZWRlZEV2ZW50IDogRXZlbnQgewogICAgIGNvbnN0cnVjdG9yKERP
TVN0cmluZyB0eXBlLCBvcHRpb25hbCBXZWJLaXRNZWRpYUtleU5lZWRlZEV2ZW50SW5pdCBldmVu
dEluaXREaWN0KTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlTZXNzaW9uLmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Np
b24uaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC0yNiw3ICsyNiw3IEBACiBbCiAgICAgQWN0aXZlRE9NT2JqZWN0LAogICAgIENvbmRpdGlv
bmFsPUxFR0FDWV9FTkNSWVBURURfTUVESUEsCi0gICAgRW5hYmxlZEF0UnVudGltZT1MZWdhY3lF
bmNyeXB0ZWRNZWRpYUFQSSwKKyAgICBFbmFibGVkQnlTZXR0aW5nPUxlZ2FjeUVuY3J5cHRlZE1l
ZGlhQVBJLAogXSBpbnRlcmZhY2UgV2ViS2l0TWVkaWFLZXlTZXNzaW9uIDogRXZlbnRUYXJnZXQg
ewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBXZWJLaXRNZWRpYUtleUVycm9yIGVycm9yOwogCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRN
ZWRpYUtleXMuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlw
dGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5cy5pZGwJKHJldmlzaW9uIDI2NjMxMikKKysr
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlh
S2V5cy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDcgQEAKICAKIFsKICAgICBDb25k
aXRpb25hbD1MRUdBQ1lfRU5DUllQVEVEX01FRElBLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9TGVn
YWN5RW5jcnlwdGVkTWVkaWFBUEksCisgICAgRW5hYmxlZEJ5U2V0dGluZz1MZWdhY3lFbmNyeXB0
ZWRNZWRpYUFQSSwKIF0gaW50ZXJmYWNlIFdlYktpdE1lZGlhS2V5cyB7CiAgICAgW01heVRocm93
RXhjZXB0aW9uXSBjb25zdHJ1Y3RvcihET01TdHJpbmcga2V5U3lzdGVtKTsKIApJbmRleDogU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWQuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBhZC9HYW1lcGFkLmlkbAkocmV2aXNpb24gMjY2MzEy
KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWQuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0yNCw3ICsyNCw3IEBACiAgKi8KIAogWwotICAgIEVuYWJsZWRBdFJ1bnRpbWU9
R2FtZXBhZHMsCisgICAgRW5hYmxlZEJ5U2V0dGluZz1HYW1lcGFkcywKICAgICBDb25kaXRpb25h
bD1HQU1FUEFELAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKIF0gaW50ZXJmYWNlIEdh
bWVwYWQgewpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWRCdXR0
b24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBhZC9HYW1l
cGFkQnV0dG9uLmlkbAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9nYW1lcGFkL0dhbWVwYWRCdXR0b24uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3ICsyNCw3
IEBACiAgKi8KIAogWwotICAgIEVuYWJsZWRBdFJ1bnRpbWU9R2FtZXBhZHMsCisgICAgRW5hYmxl
ZEJ5U2V0dGluZz1HYW1lcGFkcywKICAgICBDb25kaXRpb25hbD1HQU1FUEFELAogICAgIEltcGxl
bWVudGF0aW9uTGFja3NWVGFibGUKIF0gaW50ZXJmYWNlIEdhbWVwYWRCdXR0b24gewpJbmRleDog
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWRFdmVudC5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWRFdmVudC5pZGwJKHJl
dmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBhZC9HYW1lcGFk
RXZlbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKIFsKICAgICBDb25k
aXRpb25hbD1HQU1FUEFELAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9R2FtZXBhZHMsCisgICAgRW5h
YmxlZEJ5U2V0dGluZz1HYW1lcGFkcywKIF0gaW50ZXJmYWNlIEdhbWVwYWRFdmVudCA6IEV2ZW50
IHsKICAgICBjb25zdHJ1Y3RvcihET01TdHJpbmcgdHlwZSwgb3B0aW9uYWwgR2FtZXBhZEV2ZW50
SW5pdCBldmVudEluaXREaWN0KTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1l
cGFkL05hdmlnYXRvckdhbWVwYWQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZ2FtZXBhZC9OYXZpZ2F0b3JHYW1lcGFkLmlkbAkocmV2aXNpb24gMjY2MzEyKQorKysg
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL05hdmlnYXRvckdhbWVwYWQuaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw2IEBACiBbCiAgICAgQ29uZGl0aW9uYWw9R0FNRVBBRCwK
IF0gcGFydGlhbCBpbnRlcmZhY2UgTmF2aWdhdG9yIHsKLSAgICBbRW5hYmxlZEF0UnVudGltZT1H
YW1lcGFkc10gc2VxdWVuY2U8R2FtZXBhZD4gZ2V0R2FtZXBhZHMoKTsKKyAgICBbRW5hYmxlZEJ5
U2V0dGluZz1HYW1lcGFkc10gc2VxdWVuY2U8R2FtZXBhZD4gZ2V0R2FtZXBhZHMoKTsKIH07CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9CbG9iRXZlbnQuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9CbG9i
RXZlbnQuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhcmVjb3JkZXIvQmxvYkV2ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBA
QCB0eXBlZGVmIGRvdWJsZSBET01IaWdoUmVzVGltZVN0YW1wOwogCiBbCiAgICAgQ29uZGl0aW9u
YWw9TUVESUFfU1RSRUFNLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9TWVkaWFSZWNvcmRlciwKKyAg
ICBFbmFibGVkQnlTZXR0aW5nPU1lZGlhUmVjb3JkZXIsCiAgICAgRXhwb3NlZD1XaW5kb3cKIF0g
IGludGVyZmFjZSBCbG9iRXZlbnQgOiBFdmVudCB7CiAgICAgY29uc3RydWN0b3IoRE9NU3RyaW5n
IHR5cGUsIEJsb2JFdmVudEluaXQgZXZlbnRJbml0RGljdCk7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIuaWRsCShy
ZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIv
TWVkaWFSZWNvcmRlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDcgQEAgZW51bSBS
ZWNvcmRpbmdTdGF0ZSB7ICJpbmFjdGl2ZSIsICJyZWNvcgogWwogICAgIEFjdGl2ZURPTU9iamVj
dCwKICAgICBDb25kaXRpb25hbD1NRURJQV9TVFJFQU0sCi0gICAgRW5hYmxlZEF0UnVudGltZT1N
ZWRpYVJlY29yZGVyLAorICAgIEVuYWJsZWRCeVNldHRpbmc9TWVkaWFSZWNvcmRlciwKICAgICBF
eHBvc2VkPVdpbmRvdwogXSBpbnRlcmZhY2UgTWVkaWFSZWNvcmRlciA6IEV2ZW50VGFyZ2V0IHsK
ICAgICBbQ2FsbFdpdGg9RG9jdW1lbnQsIE1heVRocm93RXhjZXB0aW9uXSBjb25zdHJ1Y3RvcihN
ZWRpYVN0cmVhbSBzdHJlYW0sIG9wdGlvbmFsIE1lZGlhUmVjb3JkZXJPcHRpb25zIG9wdGlvbnMp
OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3Jk
ZXJFcnJvckV2ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlckVycm9yRXZlbnQuaWRsCShyZXZpc2lvbiAyNjYzMTIp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlckVy
cm9yRXZlbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBAIGRpY3Rpb25hcnkg
TWVkaWFSZWNvcmRlckVycm9yRXZlbnRJbml0IDoKIFsKICAgICBDb25kaXRpb25hbD1NRURJQV9T
VFJFQU0sCiAgICAgRXhwb3NlZD1XaW5kb3csCi0gICAgRW5hYmxlZEF0UnVudGltZT1NZWRpYVJl
Y29yZGVyCisgICAgRW5hYmxlZEJ5U2V0dGluZz1NZWRpYVJlY29yZGVyCiBdIGludGVyZmFjZSBN
ZWRpYVJlY29yZGVyRXJyb3JFdmVudCA6IEV2ZW50IHsKICAgICBjb25zdHJ1Y3RvcihET01TdHJp
bmcgdHlwZSwgTWVkaWFSZWNvcmRlckVycm9yRXZlbnRJbml0IGV2ZW50SW5pdERpY3QpOwogCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURl
dmljZXMuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDcg
QEAKIAogICAgIE1lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50cyBnZXRTdXBwb3J0ZWRDb25z
dHJhaW50cygpOwogICAgIFtQcml2YXRlSWRlbnRpZmllciwgUHVibGljSWRlbnRpZmllcl0gUHJv
bWlzZTxNZWRpYVN0cmVhbT4gZ2V0VXNlck1lZGlhKG9wdGlvbmFsIE1lZGlhU3RyZWFtQ29uc3Ry
YWludHMgY29uc3RyYWludHMpOwotICAgIFtFbmFibGVkQXRSdW50aW1lPVNjcmVlbkNhcHR1cmVd
IFByb21pc2U8TWVkaWFTdHJlYW0+IGdldERpc3BsYXlNZWRpYShvcHRpb25hbCBEaXNwbGF5TWVk
aWFTdHJlYW1Db25zdHJhaW50cyBjb25zdHJhaW50cyk7CisgICAgW0VuYWJsZWRCeVNldHRpbmc9
U2NyZWVuQ2FwdHVyZV0gUHJvbWlzZTxNZWRpYVN0cmVhbT4gZ2V0RGlzcGxheU1lZGlhKG9wdGlv
bmFsIERpc3BsYXlNZWRpYVN0cmVhbUNvbnN0cmFpbnRzIGNvbnN0cmFpbnRzKTsKIH07CiAKIFsK
QEAgLTU4LDcgKzU4LDcgQEAKIAogWwogICAgIENvbmRpdGlvbmFsPU1FRElBX1NUUkVBTSwKLSAg
ICBFbmFibGVkQXRSdW50aW1lPVNjcmVlbkNhcHR1cmUKKyAgICBFbmFibGVkQnlTZXR0aW5nPVNj
cmVlbkNhcHR1cmUKIF0gZW51bSBEaXNwbGF5Q2FwdHVyZVN1cmZhY2VUeXBlIHsKICAgICAibW9u
aXRvciIsCiAgICAgIndpbmRvdyIsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAJKHJldmlzaW9uIDI2NjMx
MikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFj
ay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3Miw3ICs0NzIsNyBAQCB2b2lkIE1lZGlhU3RyZWFt
VHJhY2s6OnVwZGF0ZUNhcHR1cmVBY2NvCiAgICAgYXV0byogYWN0aXZlQXVkaW9Tb3VyY2UgPSBS
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24oKS5hdWRpb0NhcHR1cmVGYWN0b3J5
KCkuYWN0aXZlU291cmNlKCk7CiAgICAgaWYgKGFjdGl2ZUF1ZGlvU291cmNlICYmIGlzU291cmNl
Q2FwdHVyaW5nRm9yVHJhY2tJbkRvY3VtZW50KCphY3RpdmVBdWRpb1NvdXJjZSwgZG9jdW1lbnQp
KSB7CiAgICAgICAgIGJvb2wgcGFnZU11dGVkID0gcGFnZS0+bXV0ZWRTdGF0ZSgpICYgTWVkaWFQ
cm9kdWNlcjo6QXVkaW9BbmRWaWRlb0NhcHR1cmVJc011dGVkOwotICAgICAgICBhY3RpdmVBdWRp
b1NvdXJjZS0+c2V0TXV0ZWQocGFnZU11dGVkIHx8IChkb2N1bWVudC5oaWRkZW4oKSAmJiBSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmludGVycnVwdEF1ZGlvT25QYWdl
VmlzaWJpbGl0eUNoYW5nZUVuYWJsZWQoKSkpOworICAgICAgICBhY3RpdmVBdWRpb1NvdXJjZS0+
c2V0TXV0ZWQocGFnZU11dGVkIHx8IChkb2N1bWVudC5oaWRkZW4oKSAmJiBkb2N1bWVudC5zZXR0
aW5ncygpLmludGVycnVwdEF1ZGlvT25QYWdlVmlzaWJpbGl0eUNoYW5nZUVuYWJsZWQoKSkpOwog
ICAgIH0KIAogICAgIGF1dG8qIGFjdGl2ZVZpZGVvU291cmNlID0gUmVhbHRpbWVNZWRpYVNvdXJj
ZUNlbnRlcjo6c2luZ2xldG9uKCkudmlkZW9DYXB0dXJlRmFjdG9yeSgpLmFjdGl2ZVNvdXJjZSgp
OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JNZWRp
YURldmljZXMuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vTmF2aWdhdG9yTWVkaWFEZXZpY2VzLmlkbAkocmV2aXNpb24gMjY2MzEyKQorKysgU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JNZWRpYURldmljZXMuaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1N
RURJQV9TVFJFQU0sCi0gICAgRW5hYmxlZEF0UnVudGltZT1NZWRpYURldmljZXMsCisgICAgRW5h
YmxlZEJ5U2V0dGluZz1NZWRpYURldmljZXMsCiBdIHBhcnRpYWwgaW50ZXJmYWNlIE5hdmlnYXRv
ciB7CiAgICAgW1NhbWVPYmplY3QsIFNlY3VyZUNvbnRleHQsIENvbnRleHRBbGxvd3NNZWRpYURl
dmljZXNdIHJlYWRvbmx5IGF0dHJpYnV0ZSBNZWRpYURldmljZXMgbWVkaWFEZXZpY2VzOwogICAg
IFtDdXN0b20sIEVuYWJsZWRCeVNldHRpbmc9TGVnYWN5R2V0VXNlck1lZGlhXSB1bmRlZmluZWQg
Z2V0VXNlck1lZGlhKG9iamVjdCBjb25zdHJhaW50cywgb2JqZWN0PyBzdWNjZXNzQ2FsbGJhY2ss
IG9iamVjdD8gZXJyb3JDYWxsYmFjayk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1dGhuL0F1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVz
cG9uc2UuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1dGhuL0F1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5pZGwJKHdvcmtpbmcgY29weSkK
QEAgLTI1LDcgKzI1LDcgQEAKIAogWwogICAgIENvbmRpdGlvbmFsPVdFQl9BVVRITiwKLSAgICBF
bmFibGVkQXRSdW50aW1lPVdlYkF1dGhlbnRpY2F0aW9uLAorICAgIEVuYWJsZWRCeVNldHRpbmc9
V2ViQXV0aGVudGljYXRpb24sCiAgICAgRXhwb3NlZD1XaW5kb3csCiAgICAgU2VjdXJlQ29udGV4
dAogXSBpbnRlcmZhY2UgQXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlIDogQXV0aGVudGlj
YXRvclJlc3BvbnNlIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0
aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2Uu
aWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhu
L0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLmlkbAkod29ya2luZyBjb3B5KQpAQCAt
MjUsNyArMjUsNyBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9V0VCX0FVVEhOLAotICAgIEVuYWJs
ZWRBdFJ1bnRpbWU9V2ViQXV0aGVudGljYXRpb24sCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJB
dXRoZW50aWNhdGlvbiwKICAgICBFeHBvc2VkPVdpbmRvdywKICAgICBTZWN1cmVDb250ZXh0CiBd
IGludGVyZmFjZSBBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZSA6IEF1dGhlbnRpY2F0
b3JSZXNwb25zZSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhl
bnRpY2F0b3JSZXNwb25zZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdXRobi9BdXRoZW50aWNhdG9yUmVzcG9uc2UuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisr
KyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JSZXNwb25zZS5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKIFsKICAgICBDb25kaXRpb25hbD1X
RUJfQVVUSE4sCiAgICAgQ3VzdG9tVG9KU09iamVjdCwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdl
YkF1dGhlbnRpY2F0aW9uLAorICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViQXV0aGVudGljYXRpb24s
CiAgICAgRXhwb3NlZD1XaW5kb3csCiAgICAgU2VjdXJlQ29udGV4dCwKIF0gaW50ZXJmYWNlIEF1
dGhlbnRpY2F0b3JSZXNwb25zZSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbC5jcHAJKHJldmlzaW9uIDI2NjMx
MikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlh
bC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDcgKzMzLDcgQEAKICNpbmNsdWRlICJEb2N1bWVu
dC5oIgogI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiUGFnZS5o
IgotI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKKyNpbmNsdWRlICJTZXR0aW5n
cy5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L0Jhc2U2NC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CkBAIC02MSw3ICs2MSw3IEBAIFB1YmxpY0tleUNyZWRlbnRpYWw6OlB1YmxpY0tleUNyZWRlbnRp
YWwKIAogdm9pZCBQdWJsaWNLZXlDcmVkZW50aWFsOjppc1VzZXJWZXJpZnlpbmdQbGF0Zm9ybUF1
dGhlbnRpY2F0b3JBdmFpbGFibGUoRG9jdW1lbnQmIGRvY3VtZW50LCBET01Qcm9taXNlRGVmZXJy
ZWQ8SURMQm9vbGVhbj4mJiBwcm9taXNlKQogewotICAgIGlmICghUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2hhcmVkRmVhdHVyZXMoKS53ZWJBdXRoZW50aWNhdGlvbkxvY2FsQXV0aGVudGljYXRv
ckVuYWJsZWQoKSkgeworICAgIGlmICghZG9jdW1lbnQuc2V0dGluZ3MoKS53ZWJBdXRoZW50aWNh
dGlvbkxvY2FsQXV0aGVudGljYXRvckVuYWJsZWQoKSkgewogICAgICAgICBwcm9taXNlLnJlc29s
dmUoZmFsc2UpOwogICAgICAgICByZXR1cm47CiAgICAgfQpJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsLmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuaWRsCShy
ZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1Ymxp
Y0tleUNyZWRlbnRpYWwuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKIFsK
ICAgICBDb25kaXRpb25hbD1XRUJfQVVUSE4sCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJBdXRo
ZW50aWNhdGlvbiwKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkF1dGhlbnRpY2F0aW9uLAogICAg
IEV4cG9zZWQ9V2luZG93LAogICAgIFNlY3VyZUNvbnRleHQsCiBdIGludGVyZmFjZSBQdWJsaWNL
ZXlDcmVkZW50aWFsIDogQmFzaWNDcmVkZW50aWFsIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1Nj
cmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXMvSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5jcHAuZXJi
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1NjcmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXMv
SW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5jcHAuZXJiCShyZXZpc2lvbiAyNjYzMTIpCisrKyBT
b3VyY2UvV2ViQ29yZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL0ludGVybmFsU2V0dGluZ3NH
ZW5lcmF0ZWQuY3BwLmVyYgkod29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgsNyBAQCBJbnRlcm5h
bFNldHRpbmdzR2VuZXJhdGVkOjpJbnRlcm5hbFNldHRpCiA8JS0gZm9yIEBzZXR0aW5nIGluIEBz
ZXR0aW5ncyBkbyAtJT4KIDwlLSBpZiBAc2V0dGluZy5leGNsdWRlRnJvbUludGVybmFsU2V0dGlu
Z3MgPT0gZmFsc2UgYW5kIEBzZXR0aW5nLmlkbFR5cGUgLSU+CiA8JS0gaWYgQHNldHRpbmcuY29u
ZGl0aW9uYWwgLSU+Ci0jaWYgRU5BQkxFKDwlPSBAc2V0dGluZy5jb25kaXRpb25hbCAlPikKKyNp
ZiA8JT0gQHNldHRpbmcuY29uZGl0aW9uYWwgJT4KIDwlLSBlbmQgLSU+CiAgICAgLCBtXzwlPSBA
c2V0dGluZy5uYW1lICU+KHBhZ2UtPnNldHRpbmdzKCkuPCU9IEBzZXR0aW5nLmdldHRlckZ1bmN0
aW9uTmFtZSAlPigpKQogPCUtIGlmIEBzZXR0aW5nLmNvbmRpdGlvbmFsIC0lPgpAQCAtNTgsNyAr
NTgsNyBAQCB2b2lkIEludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWQ6OnJlc2V0VG9DCiA8JS0gZm9y
IEBzZXR0aW5nIGluIEBzZXR0aW5ncyBkbyAtJT4KIDwlLSBpZiBAc2V0dGluZy5leGNsdWRlRnJv
bUludGVybmFsU2V0dGluZ3MgPT0gZmFsc2UgYW5kIEBzZXR0aW5nLmlkbFR5cGUgLSU+CiA8JS0g
aWYgQHNldHRpbmcuY29uZGl0aW9uYWwgLSU+Ci0jaWYgRU5BQkxFKDwlPSBAc2V0dGluZy5jb25k
aXRpb25hbCAlPikKKyNpZiA8JT0gQHNldHRpbmcuY29uZGl0aW9uYWwgJT4KIDwlLSBlbmQgLSU+
CiAgICAgbV9wYWdlLT5zZXR0aW5ncygpLjwlPSBAc2V0dGluZy5zZXR0ZXJGdW5jdGlvbk5hbWUg
JT4obV88JT0gQHNldHRpbmcubmFtZSAlPik7CiA8JS0gaWYgQHNldHRpbmcuY29uZGl0aW9uYWwg
LSU+CkBAIC03Myw3ICs3Myw3IEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZDo6cmVz
ZXRUb0MKIHZvaWQgSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZDo6PCU9IEBzZXR0aW5nLnNldHRl
ckZ1bmN0aW9uTmFtZSAlPig8JT0gQHNldHRpbmcucGFyYW1ldGVyVHlwZSAlPiA8JT0gQHNldHRp
bmcubmFtZSAlPikKIHsKIDwlLSBpZiBAc2V0dGluZy5jb25kaXRpb25hbCAtJT4KLSNpZiBFTkFC
TEUoPCU9IEBzZXR0aW5nLmNvbmRpdGlvbmFsICU+KQorI2lmIDwlPSBAc2V0dGluZy5jb25kaXRp
b25hbCAlPgogICAgIG1fcGFnZS0+c2V0dGluZ3MoKS48JT0gQHNldHRpbmcuc2V0dGVyRnVuY3Rp
b25OYW1lICU+KDwlPSBAc2V0dGluZy5uYW1lICU+KTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFN
KDwlPSBAc2V0dGluZy5uYW1lICU+KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1NjcmlwdHMvU2V0
dGluZ3NUZW1wbGF0ZXMvSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5oLmVyYgo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL0ludGVybmFsU2V0
dGluZ3NHZW5lcmF0ZWQuaC5lcmIJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3Jl
L1NjcmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXMvSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5oLmVy
Ygkod29ya2luZyBjb3B5KQpAQCAtNTMsNyArNTMsNyBAQCBwcml2YXRlOgogPCUtIGZvciBAc2V0
dGluZyBpbiBAc2V0dGluZ3MgZG8gLSU+CiA8JS0gaWYgQHNldHRpbmcuZXhjbHVkZUZyb21JbnRl
cm5hbFNldHRpbmdzID09IGZhbHNlIGFuZCBAc2V0dGluZy5pZGxUeXBlIC0lPgogPCUtIGlmIEBz
ZXR0aW5nLmNvbmRpdGlvbmFsIC0lPgotI2lmIEVOQUJMRSg8JT0gQHNldHRpbmcuY29uZGl0aW9u
YWwgJT4pCisjaWYgPCU9IEBzZXR0aW5nLmNvbmRpdGlvbmFsICU+CiA8JS0gZW5kIC0lPgogICAg
IDwlPSBAc2V0dGluZy50eXBlICU+IG1fPCU9IEBzZXR0aW5nLm5hbWUgJT47CiA8JS0gaWYgQHNl
dHRpbmcuY29uZGl0aW9uYWwgLSU+CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9TY3JpcHRzL1NldHRp
bmdzVGVtcGxhdGVzL1NldHRpbmdzLmNwcC5lcmIKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvU2NyaXB0cy9TZXR0aW5nc1RlbXBsYXRlcy9TZXR0aW5ncy5jcHAuZXJiCShyZXZpc2lvbiAy
NjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL1NldHRp
bmdzLmNwcC5lcmIJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDcgKzQ2LDcgQEAgU2V0dGluZ3M6OlNl
dHRpbmdzKFBhZ2UqIHBhZ2UpCiA8JS0gZW5kIC0lPgogPCUtIGZvciBAY29uZGl0aW9uYWwgaW4g
QGNvbmRpdGlvbmFscyBkbyAtJT4KIDwlLSBpZiBAY29uZGl0aW9uYWwubm9uQm9vbFNldHRpbmdz
Lmxlbmd0aCAhPSAwIC0lPgotI2lmIEVOQUJMRSg8JT0gQGNvbmRpdGlvbmFsLmNvbmRpdGlvbiAl
PikKKyNpZiA8JT0gQGNvbmRpdGlvbmFsLmNvbmRpdGlvbiAlPgogPCUtIGZvciBAc2V0dGluZyBp
biBAY29uZGl0aW9uYWwubm9uQm9vbFNldHRpbmdzIC0lPgogICAgICwgbV88JT0gQHNldHRpbmcu
bmFtZSAlPig8JT0gQHNldHRpbmcuaW5pdGlhbCAlPikKIDwlLSBlbmQgLSU+CkBAIC01OCw3ICs1
OCw3IEBAIFNldHRpbmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdlKQogPCUtIGVuZCAtJT4KIDwlLSBm
b3IgQGNvbmRpdGlvbmFsIGluIEBjb25kaXRpb25hbHMgZG8gLSU+CiA8JS0gaWYgQGNvbmRpdGlv
bmFsLmJvb2xTZXR0aW5ncy5sZW5ndGggIT0gMCAtJT4KLSNpZiBFTkFCTEUoPCU9IEBjb25kaXRp
b25hbC5jb25kaXRpb24gJT4pCisjaWYgPCU9IEBjb25kaXRpb25hbC5jb25kaXRpb24gJT4KIDwl
LSBmb3IgQHNldHRpbmcgaW4gQGNvbmRpdGlvbmFsLmJvb2xTZXR0aW5ncyAtJT4KICAgICAsIG1f
PCU9IEBzZXR0aW5nLm5hbWUgJT4oPCU9IEBzZXR0aW5nLmluaXRpYWwgJT4pCiA8JS0gZW5kIC0l
PgpAQCAtOTcsNyArOTcsNyBAQCB2b2lkIFNldHRpbmdzOjo8JT0gQHNldHRpbmcuc2V0dGVyRnVu
Y3RpCiA8JS0gZW5kIC0lPgogPCUtIGZvciBAY29uZGl0aW9uYWwgaW4gQGNvbmRpdGlvbmFscyBk
byAtJT4KIDwlLSBpZiBAY29uZGl0aW9uYWwuc2V0dGluZ3NXaXRoQ29tcGxleEdldHRlcnMubGVu
Z3RoICE9IDAgb3IgQGNvbmRpdGlvbmFsLnNldHRpbmdzV2l0aENvbXBsZXhTZXR0ZXJzLmxlbmd0
aCAhPSAwLSU+Ci0jaWYgRU5BQkxFKDwlPSBAY29uZGl0aW9uYWwuY29uZGl0aW9uICU+KQorI2lm
IDwlPSBAY29uZGl0aW9uYWwuY29uZGl0aW9uICU+CiA8JS0gZm9yIEBzZXR0aW5nIGluIEBjb25k
aXRpb25hbC5zZXR0aW5nc1dpdGhDb21wbGV4R2V0dGVycyBkbyAtJT4KIDwlPSBAc2V0dGluZy5w
YXJhbWV0ZXJUeXBlICU+IFNldHRpbmdzOjo8JT0gQHNldHRpbmcuZ2V0dGVyRnVuY3Rpb25OYW1l
ICU+KCkgY29uc3QKIHsKQEAgLTEzMSw3ICsxMzEsNyBAQCB2b2lkIFNldHRpbmdzOjo8JT0gQHNl
dHRpbmcuc2V0dGVyRnVuY3RpCiAgICAgICAgIHJldHVybjsKICAgICBtXzwlPSBAc2V0dGluZy5u
YW1lICU+SW5zcGVjdG9yT3ZlcnJpZGUgPSA8JT0gQHNldHRpbmcubmFtZSAlPkluc3BlY3Rvck92
ZXJyaWRlOwogPCUtIGlmIEBzZXR0aW5nLmNvbmRpdGlvbmFsIC0lPgotI2lmIEVOQUJMRSg8JT0g
QHNldHRpbmcuY29uZGl0aW9uYWwgJT4pCisjaWYgPCU9IEBzZXR0aW5nLmNvbmRpdGlvbmFsICU+
CiA8JS0gZW5kIC0lPgogICAgIDwlPSBAc2V0dGluZy5vbkNoYW5nZSAlPigpOwogPCUtIGlmIEBz
ZXR0aW5nLmNvbmRpdGlvbmFsIC0lPgpJbmRleDogU291cmNlL1dlYkNvcmUvU2NyaXB0cy9TZXR0
aW5nc1RlbXBsYXRlcy9TZXR0aW5ncy5oLmVyYgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL1NldHRpbmdzLmguZXJiCShyZXZpc2lvbiAyNjYz
MTIpCisrKyBTb3VyY2UvV2ViQ29yZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL1NldHRpbmdz
LmguZXJiCSh3b3JraW5nIGNvcHkpCkBAIC01NCw3ICs1NCw3IEBAIHB1YmxpYzoKIDwlLSBlbmQg
LSU+CiAKIDwlLSBmb3IgQGNvbmRpdGlvbmFsIGluIEBjb25kaXRpb25hbHMgZG8gLSU+Ci0jaWYg
RU5BQkxFKDwlPSBAY29uZGl0aW9uYWwuY29uZGl0aW9uICU+KQorI2lmIDwlPSBAY29uZGl0aW9u
YWwuY29uZGl0aW9uICU+CiA8JS0gZm9yIEBzZXR0aW5nIGluIEBjb25kaXRpb25hbC5zZXR0aW5n
cyBkbyAtJT4KICAgICA8JS0gaWYgQHNldHRpbmcuaGFzQ29tcGxleEdldHRlcj8gLSU+CiAgICAg
V0VCQ09SRV9FWFBPUlQgPCU9IEBzZXR0aW5nLnBhcmFtZXRlclR5cGUgJT4gPCU9IEBzZXR0aW5n
LmdldHRlckZ1bmN0aW9uTmFtZSAlPigpIGNvbnN0OwpAQCAtOTEsNyArOTEsNyBAQCBwcml2YXRl
OgogCiA8JS0gZm9yIEBjb25kaXRpb25hbCBpbiBAY29uZGl0aW9uYWxzIGRvIC0lPgogPCUtIGlm
IEBjb25kaXRpb25hbC5ub25Cb29sU2V0dGluZ3MubGVuZ3RoICE9IDAgLSU+Ci0jaWYgRU5BQkxF
KDwlPSBAY29uZGl0aW9uYWwuY29uZGl0aW9uICU+KQorI2lmIDwlPSBAY29uZGl0aW9uYWwuY29u
ZGl0aW9uICU+CiA8JS0gZm9yIEBzZXR0aW5nIGluIEBjb25kaXRpb25hbC5ub25Cb29sU2V0dGlu
Z3MgLSU+CiAgICAgPCU9IEBzZXR0aW5nLnR5cGUgJT4gbV88JT0gQHNldHRpbmcubmFtZSAlPjsK
IDwlLSBlbmQgLSU+CkBAIC0xMDUsNyArMTA1LDcgQEAgcHJpdmF0ZToKIAogPCUtIGZvciBAY29u
ZGl0aW9uYWwgaW4gQGNvbmRpdGlvbmFscyBkbyAtJT4KIDwlLSBpZiBAY29uZGl0aW9uYWwuYm9v
bFNldHRpbmdzLmxlbmd0aCAhPSAwIC0lPgotI2lmIEVOQUJMRSg8JT0gQGNvbmRpdGlvbmFsLmNv
bmRpdGlvbiAlPikKKyNpZiA8JT0gQGNvbmRpdGlvbmFsLmNvbmRpdGlvbiAlPgogPCUtIGZvciBA
c2V0dGluZyBpbiBAY29uZGl0aW9uYWwuYm9vbFNldHRpbmdzIC0lPgogICAgIDwlPSBAc2V0dGlu
Zy50eXBlICU+IG1fPCU9IEBzZXR0aW5nLm5hbWUgJT4gOiAxOwogPCUtIGVuZCAtJT4KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJ
KHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTA3Niw4ICsxMDc2LDggQEAKIAkJNDE2
RTBCM0EyMDlCQzNDQjAwNEE5NUQ5IC8qIEZldGNoSWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2RTBCMzcyMDlCQzNDMjAwNEE5NUQ5
IC8qIEZldGNoSWRlbnRpZmllci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTQxNkUyOUE2MTAyRkE5NjIwMDdGQzE0RSAvKiBXb3JrZXJSZXBvcnRp
bmdQcm94eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDE2RTI5QTUxMDJGQTk2MjAwN0ZDMTRFIC8qIFdvcmtlclJlcG9ydGluZ1Byb3h5LmggKi87IH07
CiAJCTQxNkU2RkU4MUJCRDEyREYwMDBBM0Y2NCAvKiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1
aWx0aW5zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
QjAzRDgwNjFCQjMxMTBEMDBCNzY0RDkgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlu
cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTQx
NkU2RkU4MUJCRDEyREYwMDBBM0Y3NCAvKiBUcmFuc2Zvcm1TdHJlYW1JbnRlcm5hbHNCdWlsdGlu
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUIwM0Q4
MDYxQkIzMTEwRDAwQjc2NEVBIC8qIFRyYW5zZm9ybVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE2RTZG
RTgxQkJEMTJERjAwMEEzRjY1IC8qIEpTRE9NQmluZGluZ0ludGVybmFsc0J1aWx0aW5zLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QjAzRDgwNjFCQjMx
MTBEMDBCNzY0REEgLyogSlNET01CaW5kaW5nSW50ZXJuYWxzQnVpbHRpbnMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0MTZFNkZFODFCQkQxMkRG
MDAwQTNGNzQgLyogVHJhbnNmb3JtU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlCMDNEODA2MUJCMzExMEQwMEI3
NjRFQSAvKiBUcmFuc2Zvcm1TdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxNkU2RkU4MUJCRDEyREYwMDBB
NjAzMyAvKiBTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEM5IC8qIFN0cmVh
bUludGVybmFsc0J1aWx0aW5zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJNDE2RTZGRTgxQkJEMTJERjAwMEE2MDQzIC8qIFJlYWRhYmxlQnl0ZVN0
cmVhbUludGVybmFsc0J1aWx0aW5zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5QjAzRDgwNjFCQjMxMTBEMDBCNzNGNjQgLyogUmVhZGFibGVCeXRlU3Ry
ZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk0MTZFNkZFODFCQkQxMkRGMDAwQTYwNTMgLyogV3JpdGFibGVTdHJl
YW1JbnRlcm5hbHNCdWlsdGlucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEU5IC8qIFdyaXRhYmxlU3RyZWFtSW50
ZXJuYWxzQnVpbHRpbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwpAQCAtMTAwMTksNiArMTAwMTksMTIgQEAKIAkJN0FGOUIyMDkxOENGQjVGMjAwQzY0
QkVGIC8qIEpTVlRUUmVnaW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
VlRUUmVnaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdBRjlCMjBBMThDRkI1
RjMwMEM2NEJFRiAvKiBKU1ZUVFJlZ2lvbkxpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNWVFRSZWdpb25MaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJN0FGOUIyMEIxOENGQjVGMzAwQzY0QkVGIC8qIEpTVlRUUmVnaW9uTGlzdC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1ZUVFJlZ2lvbkxpc3QuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0MwMTFGM0QyNEZBRDM2MDAwNUJFRjEwIC8qIFNldHRp
bmdzLmNwcC5lcmIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gU2V0dGluZ3MuY3BwLmVyYjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJN0MwMTFGM0UyNEZBRDM2MDAwNUJFRjEwIC8qIEludGVybmFsU2V0dGluZ3NHZW5l
cmF0ZWQuY3BwLmVyYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBJbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmNwcC5lcmI7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdDMDExRjNGMjRGQUQzNjAwMDVCRUYxMCAvKiBJ
bnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmlkbC5lcmIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSW50ZXJuYWxTZXR0aW5nc0dl
bmVyYXRlZC5pZGwuZXJiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzAxMUY0MDI0
RkFEMzYwMDA1QkVGMTAgLyogU2V0dGluZ3MuaC5lcmIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU2V0dGluZ3MuaC5lcmI7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdDMDExRjQxMjRGQUQzNjAwMDVCRUYxMCAvKiBJ
bnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmguZXJiICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEludGVybmFsU2V0dGluZ3NHZW5l
cmF0ZWQuaC5lcmI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdDMDExRjQzMjRGQUQz
NjEwMDVCRUYxMCAvKiBHZW5lcmF0ZVNldHRpbmdzLnJiICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQucnVieTsgbmFtZSA9IEdlbmVy
YXRlU2V0dGluZ3MucmI7IHBhdGggPSBTY3JpcHRzL0dlbmVyYXRlU2V0dGluZ3MucmI7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDMDE3QzNEMjQ5NjlGMTMwMERDMEMwMiAvKiBOYXZp
Z2F0b3JQbHVnaW5zLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBOYXZpZ2F0b3JQbHVnaW5zLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJN0MwMjlDNkQyNDkzQzhGODAwMjY4MjA0IC8qIENvbG9yVHlwZXMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQ29sb3JUeXBlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk3QzBDRUYyODFFNEE1NDJDMDA4REVCODAgLyogSlNET01Db25zdHJ1Y3RvckJhc2UuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNET01Db25zdHJ1Y3RvckJhc2UuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTExNTY2LDEwICsxMTU3MiwxMCBAQAogCQk5
QjAzRDgwNjFCQjMxMTBEMDBCNzY0QzkgLyogU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaDsg
cGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaDsg
c291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJOUIwM0Q4MDYxQkIzMTEwRDAw
Qjc2NEQ4IC8qIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gUmVhZGFibGVTdHJlYW1CdWlsdGlucy5oOyBwYXRoID0gRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9SZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9Q
Uk9EVUNUU19ESVI7IH07CiAJCTlCMDNEODA2MUJCMzExMEQwMEI3NjREOSAvKiBSZWFkYWJsZVN0
cmVhbUludGVybmFsc0J1aWx0aW5zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oOyBzb3VyY2VUcmVlID0g
QlVJTFRfUFJPRFVDVFNfRElSOyB9OwotCQk5QjAzRDgwNjFCQjMxMTBEMDBCNzY0RUEgLyogVHJh
bnNmb3JtU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gVHJhbnNmb3JtU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaDsgcGF0aCA9IERlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvVHJhbnNmb3JtU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaDsgc291
cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJOUIwM0Q4MDYxQkIzMTEwRDAwQjc2
NERBIC8qIEpTRE9NQmluZGluZ0ludGVybmFsc0J1aWx0aW5zLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IEpTRE9NQmluZGluZ0ludGVybmFsc0J1aWx0aW5zLmg7IHBhdGggPSBE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NQmluZGluZ0ludGVybmFsc0J1aWx0aW5zLmg7IHNv
dXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTlCMDNEODA2MUJCMzExMEQwMEI3
NjRFOCAvKiBXcml0YWJsZVN0cmVhbUJ1aWx0aW5zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IFdyaXRhYmxlU3RyZWFtQnVpbHRpbnMuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvV3JpdGFibGVTdHJlYW1CdWlsdGlucy5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJP
RFVDVFNfRElSOyB9OwogCQk5QjAzRDgwNjFCQjMxMTBEMDBCNzY0RTkgLyogV3JpdGFibGVTdHJl
YW1JbnRlcm5hbHNCdWlsdGlucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBX
cml0YWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL1dyaXRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaDsgc291cmNlVHJlZSA9IEJV
SUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJOUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEVBIC8qIFRyYW5z
Zm9ybVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IFRyYW5zZm9ybVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmg7IHBhdGggPSBEZXJpdmVk
U291cmNlcy9XZWJDb3JlL1RyYW5zZm9ybVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmg7IHNvdXJj
ZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTlCMDk4QkQ1MUYzRDYwMzMwMDJERDU2
MiAvKiBEYXRhVHJhbnNmZXJJdGVtLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IERhdGFUcmFuc2Zlckl0ZW0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk5QjA5OEJERDFGM0Q2NzNEMDAyREQ1NjIgLyogSlNEYXRhVHJhbnNmZXJJdGVtLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRGF0YVRyYW5zZmVySXRlbS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlCMDk4QkRFMUYzRDY3M0QwMDJERDU2MiAv
KiBKU0RhdGFUcmFuc2Zlckl0ZW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNEYXRhVHJhbnNmZXJJdGVtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xODY0
OCwxMCArMTg2NTQsMTIgQEAKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCiAJ
CQkJRjQ4Mzg5NzkxRTFERDIzQTAwNzZCN0VBIC8qIEVkaXRpbmdIaXN0b3J5ICovLAorCQkJCTdD
MDExRjNDMjRGQUQzNjAwMDVCRUYxMCAvKiBTZXR0aW5nc1RlbXBsYXRlcyAqLywKIAkJCQlBMUUw
ODY2RjI0OEFBQzg1MDBFNDk2RDkgLyogY2hlY2steGNmaWxlbGlzdHMuc2ggKi8sCiAJCQkJMzcx
N0Q3RTUxN0VDQzNBNjAwM0MyNzZEIC8qIGV4dHJhY3QtbG9jYWxpemFibGUtc3RyaW5ncy5wbCAq
LywKIAkJCQlBMUUwODY3MDI0OEFBQzg1MDBFNDk2RDkgLyogZ2VuZXJhdGUtZGVyaXZlZC1zb3Vy
Y2VzLnNoICovLAogCQkJCUExRTA4NjZFMjQ4QUFDODUwMEU0OTZEOSAvKiBnZW5lcmF0ZS11bmlm
aWVkLXNvdXJjZXMuc2ggKi8sCisJCQkJN0MwMTFGNDMyNEZBRDM2MTAwNUJFRjEwIC8qIEdlbmVy
YXRlU2V0dGluZ3MucmIgKi8sCiAJCQkJMzdENDU2RkIxQTlBNTBCNjAwMzMzMEExIC8qIExvY2Fs
aXphYmxlU3RyaW5ncy5wbSAqLywKIAkJCSk7CiAJCQluYW1lID0gU2NyaXB0czsKQEAgLTIxOTI4
LDYgKzIxOTM2LDE5IEBACiAJCQlwYXRoID0gbWFjT1M7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91
cD4iOwogCQl9OworCQk3QzAxMUYzQzI0RkFEMzYwMDA1QkVGMTAgLyogU2V0dGluZ3NUZW1wbGF0
ZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTdDMDEx
RjNFMjRGQUQzNjAwMDVCRUYxMCAvKiBJbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmNwcC5lcmIg
Ki8sCisJCQkJN0MwMTFGNDEyNEZBRDM2MDAwNUJFRjEwIC8qIEludGVybmFsU2V0dGluZ3NHZW5l
cmF0ZWQuaC5lcmIgKi8sCisJCQkJN0MwMTFGM0YyNEZBRDM2MDAwNUJFRjEwIC8qIEludGVybmFs
U2V0dGluZ3NHZW5lcmF0ZWQuaWRsLmVyYiAqLywKKwkJCQk3QzAxMUYzRDI0RkFEMzYwMDA1QkVG
MTAgLyogU2V0dGluZ3MuY3BwLmVyYiAqLywKKwkJCQk3QzAxMUY0MDI0RkFEMzYwMDA1QkVGMTAg
LyogU2V0dGluZ3MuaC5lcmIgKi8sCisJCQkpOworCQkJbmFtZSA9IFNldHRpbmdzVGVtcGxhdGVz
OworCQkJcGF0aCA9IFNjcmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXM7CisJCQlzb3VyY2VUcmVlID0g
Ijxncm91cD4iOworCQl9OwogCQk3QzMzMEEwNDFERjlGOTNCMDBEMzM5NUMgLyogR2VvbG9jYXRp
b24gKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApJbmRleDogU291
cmNlL1dlYkNvcmUvY3NzL0RPTUNTU0N1c3RvbVByb3BlcnR5RGVzY3JpcHRvci5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0RPTUNTU0N1c3RvbVByb3BlcnR5RGVzY3JpcHRv
ci5pZGwJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9ET01DU1NDdXN0
b21Qcm9wZXJ0eURlc2NyaXB0b3IuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBA
CiAKIFsKICAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKLSAgICBFbmFibGVkQXRSdW50aW1lPUNT
U0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXMKKyAgICBFbmFibGVkQnlTZXR0aW5nPUNTU0N1c3Rv
bVByb3BlcnRpZXNBbmRWYWx1ZXMKIF0gZGljdGlvbmFyeSBET01DU1NDdXN0b21Qcm9wZXJ0eURl
c2NyaXB0b3IgewogICAgIHJlcXVpcmVkIERPTVN0cmluZyBuYW1lOwogICAgICAgICAgICAgIERP
TVN0cmluZyBzeW50YXggICAgICAgPSAiKiI7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvRE9N
Q1NTUmVnaXN0ZXJDdXN0b21Qcm9wZXJ0eS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvY3NzL0RPTUNTU1JlZ2lzdGVyQ3VzdG9tUHJvcGVydHkuaWRsCShyZXZpc2lvbiAyNjYzMTIp
CisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvRE9NQ1NTUmVnaXN0ZXJDdXN0b21Qcm9wZXJ0eS5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTI0LDcgKzI0LDcgQEAKICovCiAKIFsKLSAgICBFbmFibGVkQXRS
dW50aW1lPUNTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXMKKyAgICBFbmFibGVkQnlTZXR0aW5n
PUNTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXMKIF0gcGFydGlhbCBpbnRlcmZhY2UgRE9NQ1NT
TmFtZXNwYWNlIHsKICAgICBbQ2FsbFdpdGg9RG9jdW1lbnQsIE1heVRocm93RXhjZXB0aW9uXSBz
dGF0aWMgdW5kZWZpbmVkIHJlZ2lzdGVyUHJvcGVydHkoRE9NQ1NTQ3VzdG9tUHJvcGVydHlEZXNj
cmlwdG9yIGRlc2NyaXB0b3IpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9CZWZvcmVM
b2FkRXZlbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9CZWZvcmVMb2Fk
RXZlbnQuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vQmVmb3Jl
TG9hZEV2ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNyBAQAogICovCiAKIFsK
LSAgICBFbmFibGVkQXRSdW50aW1lPUxlZ2FjeUJlZm9yZUxvYWRFdmVudAorICAgIEVuYWJsZWRC
eVNldHRpbmc9TGVnYWN5QmVmb3JlTG9hZEV2ZW50CiBdIGludGVyZmFjZSBCZWZvcmVMb2FkRXZl
bnQgOiBFdmVudCB7CiAgICAgY29uc3RydWN0b3IoRE9NU3RyaW5nIHR5cGUsIG9wdGlvbmFsIEJl
Zm9yZUxvYWRFdmVudEluaXQgZXZlbnRJbml0RGljdCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2RvbS9DdXN0b21FbGVtZW50UmVnaXN0cnkuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2RvbS9DdXN0b21FbGVtZW50UmVnaXN0cnkuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBT
b3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5LmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMjQsNyArMjQsNyBAQAogKi8KIAogWwotICAgIEVuYWJsZWRBdFJ1bnRpbWU9Q3VzdG9t
RWxlbWVudHMsCisgICAgRW5hYmxlZEJ5U2V0dGluZz1DdXN0b21FbGVtZW50cywKICAgICBHZW5l
cmF0ZUlzUmVhY2hhYmxlPUltcGxTY3JpcHRFeGVjdXRpb25Db250ZXh0LAogICAgIEpTR2VuZXJh
dGVUb05hdGl2ZU9iamVjdCwKIF0gaW50ZXJmYWNlIEN1c3RvbUVsZW1lbnRSZWdpc3RyeSB7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVyLmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVyLmlkbAkocmV2aXNpb24gMjY2MzEyKQorKysg
U291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM1
LDcgKzM1LDcgQEAKICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGVmZmVjdEFsbG93ZWQ7CiAKICAg
ICAvLyBGSVhNRTogaXRlbXMgc2hvdWxkIHVzZSBbU2FtZU9iamVjdF0gb25jZSB0aGF0IGlzIHN1
cHBvcnRlZC4KLSAgICBbRW5hYmxlZEF0UnVudGltZT1EYXRhVHJhbnNmZXJJdGVtcywgQ2FsbFdp
dGg9RG9jdW1lbnRdIHJlYWRvbmx5IGF0dHJpYnV0ZSBEYXRhVHJhbnNmZXJJdGVtTGlzdCBpdGVt
czsKKyAgICBbRW5hYmxlZEJ5U2V0dGluZz1EYXRhVHJhbnNmZXJJdGVtcywgQ2FsbFdpdGg9RG9j
dW1lbnRdIHJlYWRvbmx5IGF0dHJpYnV0ZSBEYXRhVHJhbnNmZXJJdGVtTGlzdCBpdGVtczsKIAog
ICAgIHVuZGVmaW5lZCBzZXREcmFnSW1hZ2UoRWxlbWVudD8gaW1hZ2UsIGxvbmcgeCwgbG9uZyB5
KTsgLy8gRklYTUU6IEVsZW1lbnQgYXJndW1lbnQgaXMgbm90IG51bGxhYmxlIGluIHRoZSBIVE1M
IHN0YW5kYXJkLgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRlbS5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlckl0ZW0uaWRs
CShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRl
bS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAKICAqLwogCiBbCi0gICAgRW5h
YmxlZEF0UnVudGltZT1EYXRhVHJhbnNmZXJJdGVtcywKKyAgICBFbmFibGVkQnlTZXR0aW5nPURh
dGFUcmFuc2Zlckl0ZW1zLAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiBdIGludGVy
ZmFjZSBEYXRhVHJhbnNmZXJJdGVtIHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5n
IGtpbmQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRlbUxpc3QuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXJJdGVtTGlzdC5p
ZGwJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXJJ
dGVtTGlzdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAKICAqLwogCiBbCi0g
ICAgRW5hYmxlZEF0UnVudGltZT1EYXRhVHJhbnNmZXJJdGVtcywKKyAgICBFbmFibGVkQnlTZXR0
aW5nPURhdGFUcmFuc2Zlckl0ZW1zLAogICAgIEpTR2VuZXJhdGVUb05hdGl2ZU9iamVjdCwKICAg
ICBKU0dlbmVyYXRlVG9KU09iamVjdCwKIF0gaW50ZXJmYWNlIERhdGFUcmFuc2Zlckl0ZW1MaXN0
IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkocmV2aXNpb24gMjY2MzEyKQorKysgU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTUwLDcgKzk1
MCw3IEBAIHZvaWQgRG9jdW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChjb25zdCBDaGkKIAogc3RhdGlj
IEFMV0FZU19JTkxJTkUgUmVmPEhUTUxFbGVtZW50PiBjcmVhdGVVcGdyYWRlQ2FuZGlkYXRlRWxl
bWVudChEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUpCiB7Ci0g
ICAgaWYgKCFSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmN1c3RvbUVs
ZW1lbnRzRW5hYmxlZCgpCisgICAgaWYgKCFkb2N1bWVudC5zZXR0aW5ncygpLmN1c3RvbUVsZW1l
bnRzRW5hYmxlZCgpCiAgICAgICAgIHx8IERvY3VtZW50Ojp2YWxpZGF0ZUN1c3RvbUVsZW1lbnRO
YW1lKG5hbWUubG9jYWxOYW1lKCkpICE9IEN1c3RvbUVsZW1lbnROYW1lVmFsaWRhdGlvblN0YXR1
czo6VmFsaWQpCiAgICAgICAgIHJldHVybiBIVE1MVW5rbm93bkVsZW1lbnQ6OmNyZWF0ZShuYW1l
LCBkb2N1bWVudCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbAkocmV2aXNpb24gMjY2
MzEyKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMTI3LDcgKzEyNyw3IEBAIHR5cGVkZWYgKEhUTUxTY3JpcHRFbGVtZW50IG9yIFNWR1Njcmlw
dEUKICAgICBib29sZWFuIHF1ZXJ5Q29tbWFuZFN0YXRlKERPTVN0cmluZyBjb21tYW5kSWQpOwog
ICAgIGJvb2xlYW4gcXVlcnlDb21tYW5kU3VwcG9ydGVkKERPTVN0cmluZyBjb21tYW5kSWQpOwog
ICAgIERPTVN0cmluZyBxdWVyeUNvbW1hbmRWYWx1ZShET01TdHJpbmcgY29tbWFuZElkKTsKLSAg
ICBbRW5hYmxlZEF0UnVudGltZT1VbmRvTWFuYWdlckFQSV0gcmVhZG9ubHkgYXR0cmlidXRlIFVu
ZG9NYW5hZ2VyIHVuZG9NYW5hZ2VyOworICAgIFtFbmFibGVkQnlTZXR0aW5nPVVuZG9NYW5hZ2Vy
QVBJXSByZWFkb25seSBhdHRyaWJ1dGUgVW5kb01hbmFnZXIgdW5kb01hbmFnZXI7CiAKICAgICAv
LyBTcGVjaWFsIGV2ZW50IGhhbmRsZXIgSURMIGF0dHJpYnV0ZXMgdGhhdCBvbmx5IGFwcGx5IHRv
IERvY3VtZW50IG9iamVjdHMuCiAgICAgW0xlbmllbnRUaGlzXSBhdHRyaWJ1dGUgRXZlbnRIYW5k
bGVyIG9ucmVhZHlzdGF0ZWNoYW5nZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5pZGwJKHJldmlz
aW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMTMxLDcgKzEzMSw3IEBACiAgICAgW05vdEVudW1lcmFibGVdIGF0dHJpYnV0ZSBF
dmVudEhhbmRsZXIgb25iZWZvcmVsb2FkOwogCiAgICAgLy8gTm9uIHN0YW5kYXJkIGV2ZW50IGhh
bmRsZXIgKGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9yZWZlcmVuY2Uvd2Via2l0anMvZWxl
bWVudC8xNjM0MjA1LW9ud2Via2l0bmVlZGtleSkuCi0gICAgW05vdEVudW1lcmFibGUsIENvbmRp
dGlvbmFsPUxFR0FDWV9FTkNSWVBURURfTUVESUEsIEVuYWJsZWRBdFJ1bnRpbWU9TGVnYWN5RW5j
cnlwdGVkTWVkaWFBUEldIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb253ZWJraXRuZWVka2V5Owor
ICAgIFtOb3RFbnVtZXJhYmxlLCBDb25kaXRpb25hbD1MRUdBQ1lfRU5DUllQVEVEX01FRElBLCBF
bmFibGVkQnlTZXR0aW5nPUxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJXSBhdHRyaWJ1dGUgRXZlbnRI
YW5kbGVyIG9ud2Via2l0bmVlZGtleTsKIAogICAgIC8vIE5vbiBzdGFuZGFyZCBldmVudCBoYW5k
bGVyIChodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vcmVmZXJlbmNlL3dlYmtpdGpzL2VsZW1l
bnQvMTYzMzk0My1vbndlYmtpdHByZXNlbnRhdGlvbm1vZGVjaGFuZ2VkKS4KICAgICBbTm90RW51
bWVyYWJsZSwgQ29uZGl0aW9uYWw9VklERU9fUFJFU0VOVEFUSU9OX01PREVdIGF0dHJpYnV0ZSBF
dmVudEhhbmRsZXIgb253ZWJraXRwcmVzZW50YXRpb25tb2RlY2hhbmdlZDsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2RvbS9JbnB1dEV2ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9kb20vSW5wdXRFdmVudC5pZGwJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3Jl
L2RvbS9JbnB1dEV2ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQsNyArMjQsNyBAQAogKi8K
IAogWwotICAgIEVuYWJsZWRBdFJ1bnRpbWU9SW5wdXRFdmVudHMsCisgICAgRW5hYmxlZEJ5U2V0
dGluZz1JbnB1dEV2ZW50cywKIF0gaW50ZXJmYWNlIElucHV0RXZlbnQgOiBVSUV2ZW50IHsKICAg
ICBjb25zdHJ1Y3RvcihET01TdHJpbmcgdHlwZSwgb3B0aW9uYWwgSW5wdXRFdmVudEluaXQgZXZl
bnRJbml0RGljdCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAJKHJldmlzaW9uIDI2NjMxMikKKysr
IFNvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjAsMTAgKzYw
LDEwIEBACiAjaW5jbHVkZSAiUmVuZGVyQm94LmgiCiAjaW5jbHVkZSAiUmVuZGVyVGV4dENvbnRy
b2wuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCi0jaW5jbHVkZSAiUnVudGltZUVuYWJsZWRG
ZWF0dXJlcy5oIgogI2luY2x1ZGUgIlNWR0VsZW1lbnQuaCIKICNpbmNsdWRlICJTY29wZWRFdmVu
dFF1ZXVlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RGlzYWxsb3dlZFNjb3BlLmgiCisjaW5jbHVkZSAi
U2V0dGluZ3MuaCIKICNpbmNsdWRlICJTdG9yYWdlRXZlbnQuaCIKICNpbmNsdWRlICJTdHlsZVJl
c29sdmVyLmgiCiAjaW5jbHVkZSAiU3R5bGVTaGVldENvbnRlbnRzLmgiCkBAIC0yNDIyLDcgKzI0
MjIsNyBAQCB2b2lkIE5vZGU6OmRpc3BhdGNoRE9NQWN0aXZhdGVFdmVudChFdmVuCiAKIGJvb2wg
Tm9kZTo6ZGlzcGF0Y2hCZWZvcmVMb2FkRXZlbnQoY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpCiB7
Ci0gICAgaWYgKCFSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmxlZ2Fj
eUJlZm9yZUxvYWRFdmVudEVuYWJsZWQoKSkKKyAgICBpZiAoIWRvY3VtZW50KCkuc2V0dGluZ3Mo
KS5sZWdhY3lCZWZvcmVMb2FkRXZlbnRFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwog
CiAgICAgaWYgKCFkb2N1bWVudCgpLmhhc0xpc3RlbmVyVHlwZShEb2N1bWVudDo6QkVGT1JFTE9B
RF9MSVNURU5FUikpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vU3RhdGljUmFuZ2UuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9TdGF0aWNSYW5nZS5pZGwJKHJldmlzaW9u
IDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9TdGF0aWNSYW5nZS5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTI0LDcgKzI0LDcgQEAKICAqLwogCiBbCi0gICAgRW5hYmxlZEF0UnVudGltZT1J
bnB1dEV2ZW50cywKKyAgICBFbmFibGVkQnlTZXR0aW5nPUlucHV0RXZlbnRzLAogICAgIEltcGxl
bWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRXhwb3NlZD1XaW5kb3csCiBdIGludGVyZmFjZSBT
dGF0aWNSYW5nZSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCShyZXZpc2lvbiAy
NjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTE4MjEsNyArMTgyMSw3IEBAIHZvaWQgRWRpdG9yOjpyZWRvKCkKIAogdm9pZCBFZGl0
b3I6OnJlZ2lzdGVyQ3VzdG9tVW5kb1N0ZXAoUmVmPEN1c3RvbVVuZG9TdGVwPiYmIHVuZG9TdGVw
KQogewotICAgIEFTU0VSVChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygp
LnVuZG9NYW5hZ2VyQVBJRW5hYmxlZCgpKTsKKyAgICBBU1NFUlQobV9kb2N1bWVudC5zZXR0aW5n
cygpLnVuZG9NYW5hZ2VyQVBJRW5hYmxlZCgpKTsKICAgICBpZiAoYXV0byogY2xpZW50ID0gdGhp
cy0+Y2xpZW50KCkpCiAgICAgICAgIGNsaWVudC0+cmVnaXN0ZXJVbmRvU3RlcChXVEZNb3ZlKHVu
ZG9TdGVwKSk7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50
LmNwcAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9y
RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4NCw3ICszODQsNyBAQCB2b2lkIEhUTUxB
bmNob3JFbGVtZW50OjpzZW5kUGluZ3MoY29uc3QgCiAjaWYgVVNFKFNZU1RFTV9QUkVWSUVXKQog
Ym9vbCBIVE1MQW5jaG9yRWxlbWVudDo6aXNTeXN0ZW1QcmV2aWV3TGluaygpCiB7Ci0gICAgaWYg
KCFSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnN5c3RlbVByZXZpZXdF
bmFibGVkKCkpCisgICAgaWYgKCFkb2N1bWVudCgpLnNldHRpbmdzKCkuc3lzdGVtUHJldmlld0Vu
YWJsZWQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgc3RhdGljIE1haW5UaHJlYWRO
ZXZlckRlc3Ryb3llZDxjb25zdCBBdG9tU3RyaW5nPiBzeXN0ZW1QcmV2aWV3UmVsVmFsdWUoImFy
IiwgQXRvbVN0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOwpAQCAtNDEyLDcgKzQxMiw3IEBA
IE9wdGlvbmFsPEFkQ2xpY2tBdHRyaWJ1dGlvbj4gSFRNTEFuY2hvckUKIAogICAgIGF1dG8qIHBh
Z2UgPSBkb2N1bWVudCgpLnBhZ2UoKTsKICAgICBpZiAoIXBhZ2UgfHwgcGFnZS0+c2Vzc2lvbklE
KCkuaXNFcGhlbWVyYWwoKQotICAgICAgICB8fCAhUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5hZENsaWNrQXR0cmlidXRpb25FbmFibGVkKCkKKyAgICAgICAgfHwgIWRv
Y3VtZW50KCkuc2V0dGluZ3MoKS5hZENsaWNrQXR0cmlidXRpb25FbmFibGVkKCkKICAgICAgICAg
fHwgIVVzZXJHZXN0dXJlSW5kaWNhdG9yOjpwcm9jZXNzaW5nVXNlckdlc3R1cmUoKSkKICAgICAg
ICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIApAQCAtNDg2LDcgKzQ4Niw3IEBAIHZvaWQgSFRNTEFu
Y2hvckVsZW1lbnQ6OmhhbmRsZUNsaWNrKEV2ZW4KIAogICAgIFN0cmluZyBkb3dubG9hZEF0dHJp
YnV0ZTsKICNpZiBFTkFCTEUoRE9XTkxPQURfQVRUUklCVVRFKQotICAgIGlmIChSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmRvd25sb2FkQXR0cmlidXRlRW5hYmxlZCgp
KSB7CisgICAgaWYgKGRvY3VtZW50KCkuc2V0dGluZ3MoKS5kb3dubG9hZEF0dHJpYnV0ZUVuYWJs
ZWQoKSkgewogICAgICAgICAvLyBJZ25vcmUgdGhlIGRvd25sb2FkIGF0dHJpYnV0ZSBjb21wbGV0
ZWx5IGlmIHRoZSBocmVmIFVSTCBpcyBjcm9zcyBvcmlnaW4uCiAgICAgICAgIGJvb2wgaXNTYW1l
T3JpZ2luID0gY29tcGxldGVkVVJMLnByb3RvY29sSXNEYXRhKCkgfHwgZG9jdW1lbnQoKS5zZWN1
cml0eU9yaWdpbigpLmNhblJlcXVlc3QoY29tcGxldGVkVVJMKTsKICAgICAgICAgaWYgKGlzU2Ft
ZU9yaWdpbikKQEAgLTQ5OCw3ICs0OTgsNyBAQCB2b2lkIEhUTUxBbmNob3JFbGVtZW50OjpoYW5k
bGVDbGljayhFdmVuCiAKICAgICBTeXN0ZW1QcmV2aWV3SW5mbyBzeXN0ZW1QcmV2aWV3SW5mbzsK
ICNpZiBVU0UoU1lTVEVNX1BSRVZJRVcpCi0gICAgc3lzdGVtUHJldmlld0luZm8uaXNQcmV2aWV3
ID0gaXNTeXN0ZW1QcmV2aWV3TGluaygpICYmIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJl
ZEZlYXR1cmVzKCkuc3lzdGVtUHJldmlld0VuYWJsZWQoKTsKKyAgICBzeXN0ZW1QcmV2aWV3SW5m
by5pc1ByZXZpZXcgPSBpc1N5c3RlbVByZXZpZXdMaW5rKCkgJiYgZG9jdW1lbnQoKS5zZXR0aW5n
cygpLnN5c3RlbVByZXZpZXdFbmFibGVkKCk7CiAKICAgICBpZiAoc3lzdGVtUHJldmlld0luZm8u
aXNQcmV2aWV3KSB7CiAgICAgICAgIHN5c3RlbVByZXZpZXdJbmZvLmVsZW1lbnQuZWxlbWVudElk
ZW50aWZpZXIgPSBkb2N1bWVudCgpLmlkZW50aWZpZXJGb3JFbGVtZW50KCp0aGlzKTsKQEAgLTUx
NSw3ICs1MTUsNyBAQCB2b2lkIEhUTUxBbmNob3JFbGVtZW50OjpoYW5kbGVDbGljayhFdmVuCiAg
ICAgT3B0aW9uYWw8TmV3RnJhbWVPcGVuZXJQb2xpY3k+IG5ld0ZyYW1lT3BlbmVyUG9saWN5Owog
ICAgIGlmIChoYXNSZWwoUmVsYXRpb246Ok9wZW5lcikpCiAgICAgICAgIG5ld0ZyYW1lT3BlbmVy
UG9saWN5ID0gTmV3RnJhbWVPcGVuZXJQb2xpY3k6OkFsbG93OwotICAgIGVsc2UgaWYgKGhhc1Jl
bChSZWxhdGlvbjo6Tm9PcGVuZXIpIHx8IChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRG
ZWF0dXJlcygpLmJsYW5rQW5jaG9yVGFyZ2V0SW1wbGllc05vT3BlbmVyRW5hYmxlZCgpICYmIGVx
dWFsSWdub3JpbmdBU0NJSUNhc2UoZWZmZWN0aXZlVGFyZ2V0LCAiX2JsYW5rIikpKQorICAgIGVs
c2UgaWYgKGhhc1JlbChSZWxhdGlvbjo6Tm9PcGVuZXIpIHx8IChkb2N1bWVudCgpLnNldHRpbmdz
KCkuYmxhbmtBbmNob3JUYXJnZXRJbXBsaWVzTm9PcGVuZXJFbmFibGVkKCkgJiYgZXF1YWxJZ25v
cmluZ0FTQ0lJQ2FzZShlZmZlY3RpdmVUYXJnZXQsICJfYmxhbmsiKSkpCiAgICAgICAgIG5ld0Zy
YW1lT3BlbmVyUG9saWN5ID0gTmV3RnJhbWVPcGVuZXJQb2xpY3k6OlN1cHByZXNzOwogCiAgICAg
YXV0byBhZENsaWNrQXR0cmlidXRpb24gPSBwYXJzZUFkQ2xpY2tBdHRyaWJ1dGlvbigpOwpAQCAt
NjMxLDcgKzYzMSw3IEBAIFN0cmluZyBIVE1MQW5jaG9yRWxlbWVudDo6cmVmZXJyZXJQb2xpY3kK
IAogUmVmZXJyZXJQb2xpY3kgSFRNTEFuY2hvckVsZW1lbnQ6OnJlZmVycmVyUG9saWN5KCkgY29u
c3QKIHsKLSAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5y
ZWZlcnJlclBvbGljeUF0dHJpYnV0ZUVuYWJsZWQoKSkKKyAgICBpZiAoZG9jdW1lbnQoKS5zZXR0
aW5ncygpLnJlZmVycmVyUG9saWN5QXR0cmlidXRlRW5hYmxlZCgpKQogICAgICAgICByZXR1cm4g
cGFyc2VSZWZlcnJlclBvbGljeShhdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKHJlZmVy
cmVycG9saWN5QXR0ciksIFJlZmVycmVyUG9saWN5U291cmNlOjpSZWZlcnJlclBvbGljeUF0dHJp
YnV0ZSkudmFsdWVPcihSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmcpOwogICAgIHJldHVybiBS
ZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmc7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxBbmNob3JFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxBbmNob3JFbGVtZW50LmlkbAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTE5LDExICsx
OSwxMSBAQAogICovCiAKIGludGVyZmFjZSBIVE1MQW5jaG9yRWxlbWVudCA6IEhUTUxFbGVtZW50
IHsKLSAgICBbQ0VSZWFjdGlvbnM9Tm90TmVlZGVkLCBFbmFibGVkQXRSdW50aW1lPUFkQ2xpY2tB
dHRyaWJ1dGlvbiwgUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBhZGNhbXBhaWduaWQ7Ci0g
ICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRlZCwgRW5hYmxlZEF0UnVudGltZT1BZENsaWNrQXR0cmli
dXRpb24sIFJlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgYWRkZXN0aW5hdGlvbjsKKyAgICBb
Q0VSZWFjdGlvbnM9Tm90TmVlZGVkLCBFbmFibGVkQnlTZXR0aW5nPUFkQ2xpY2tBdHRyaWJ1dGlv
biwgUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBhZGNhbXBhaWduaWQ7CisgICAgW0NFUmVh
Y3Rpb25zPU5vdE5lZWRlZCwgRW5hYmxlZEJ5U2V0dGluZz1BZENsaWNrQXR0cmlidXRpb24sIFJl
ZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgYWRkZXN0aW5hdGlvbjsKICAgICBbQ0VSZWFjdGlv
bnM9Tm90TmVlZGVkLCBSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGNoYXJzZXQ7CiAgICAg
W0NFUmVhY3Rpb25zPU5vdE5lZWRlZCwgUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBjb29y
ZHM7Ci0gICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRlZCwgQ29uZGl0aW9uYWw9RE9XTkxPQURfQVRU
UklCVVRFLCBFbmFibGVkQXRSdW50aW1lPURvd25sb2FkQXR0cmlidXRlLCBSZWZsZWN0XSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIGRvd25sb2FkOworICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWQsIENv
bmRpdGlvbmFsPURPV05MT0FEX0FUVFJJQlVURSwgRW5hYmxlZEJ5U2V0dGluZz1Eb3dubG9hZEF0
dHJpYnV0ZSwgUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBkb3dubG9hZDsKICAgICBbQ0VS
ZWFjdGlvbnM9Tm90TmVlZGVkLCBSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGhyZWZsYW5n
OwogICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWQsIFJlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJp
bmcgbmFtZTsKICAgICBbQ0VSZWFjdGlvbnM9Tm90TmVlZGVkLCBSZWZsZWN0XSBhdHRyaWJ1dGUg
VVNWU3RyaW5nIHBpbmc7CkBAIC0zNyw3ICszNyw3IEBAIGludGVyZmFjZSBIVE1MQW5jaG9yRWxl
bWVudCA6IEhUTUxFbGVtZW4KIAogICAgIFtQdXRGb3J3YXJkcz12YWx1ZV0gcmVhZG9ubHkgYXR0
cmlidXRlIERPTVRva2VuTGlzdCByZWxMaXN0OwogCi0gICAgW0VuYWJsZWRBdFJ1bnRpbWU9UmVm
ZXJyZXJQb2xpY3lBdHRyaWJ1dGUsIEltcGxlbWVudGVkQXM9cmVmZXJyZXJQb2xpY3lGb3JCaW5k
aW5ncywgQ0VSZWFjdGlvbnM9Tm90TmVlZGVkXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlZmVycmVy
UG9saWN5OworICAgIFtFbmFibGVkQnlTZXR0aW5nPVJlZmVycmVyUG9saWN5QXR0cmlidXRlLCBJ
bXBsZW1lbnRlZEFzPXJlZmVycmVyUG9saWN5Rm9yQmluZGluZ3MsIENFUmVhY3Rpb25zPU5vdE5l
ZWRlZF0gYXR0cmlidXRlIERPTVN0cmluZyByZWZlcnJlclBvbGljeTsKIH07CiAKIEhUTUxBbmNo
b3JFbGVtZW50IGltcGxlbWVudHMgSFRNTEh5cGVybGlua0VsZW1lbnRVdGlsczsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFyZWFFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxBcmVhRWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjMxMikKKysr
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFyZWFFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMjcsNyArMjcsNyBAQCBpbnRlcmZhY2UgSFRNTEFyZWFFbGVtZW50IDogSFRNTEVsZW1lbnQg
CiAgICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRlZCwgUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmlu
ZyBzaGFwZTsKICAgICBbQ0VSZWFjdGlvbnM9Tm90TmVlZGVkLCBSZWZsZWN0XSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIHRhcmdldDsKIAotICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWQsIENvbmRpdGlv
bmFsPURPV05MT0FEX0FUVFJJQlVURSwgRW5hYmxlZEF0UnVudGltZT1Eb3dubG9hZEF0dHJpYnV0
ZSwgUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBkb3dubG9hZDsKKyAgICBbQ0VSZWFjdGlv
bnM9Tm90TmVlZGVkLCBDb25kaXRpb25hbD1ET1dOTE9BRF9BVFRSSUJVVEUsIEVuYWJsZWRCeVNl
dHRpbmc9RG93bmxvYWRBdHRyaWJ1dGUsIFJlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgZG93
bmxvYWQ7CiAKICAgICBbUHV0Rm9yd2FyZHM9dmFsdWVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01U
b2tlbkxpc3QgcmVsTGlzdDsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCdXR0
b25FbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCdXR0
b25FbGVtZW50LmlkbAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MQnV0dG9uRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM3LDcgKzM3LDcgQEAgaW50
ZXJmYWNlIEhUTUxCdXR0b25FbGVtZW50IDogSFRNTEVsZW1lbgogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBWYWxpZGl0eVN0YXRlIHZhbGlkaXR5OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01T
dHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2U7CiAgICAgYm9vbGVhbiBjaGVja1ZhbGlkaXR5KCk7Ci0g
ICAgW0VuYWJsZWRBdFJ1bnRpbWU9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0gYm9vbGVhbiBy
ZXBvcnRWYWxpZGl0eSgpOworICAgIFtFbmFibGVkQnlTZXR0aW5nPUludGVyYWN0aXZlRm9ybVZh
bGlkYXRpb25dIGJvb2xlYW4gcmVwb3J0VmFsaWRpdHkoKTsKICAgICB1bmRlZmluZWQgc2V0Q3Vz
dG9tVmFsaWRpdHkoRE9NU3RyaW5nIGVycm9yKTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBO
b2RlTGlzdCBsYWJlbHM7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGaWVsZFNldEVs
ZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZpZWxkU2V0
RWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEZpZWxkU2V0RWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDYgQEAgaW50
ZXJmYWNlIEhUTUxGaWVsZFNldEVsZW1lbnQgOiBIVE1MRWxlbQogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBWYWxpZGl0eVN0YXRlICAgdmFsaWRpdHk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERP
TVN0cmluZyAgICAgICB2YWxpZGF0aW9uTWVzc2FnZTsKICAgICBib29sZWFuICBjaGVja1ZhbGlk
aXR5KCk7Ci0gICAgW0VuYWJsZWRBdFJ1bnRpbWU9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0g
Ym9vbGVhbiByZXBvcnRWYWxpZGl0eSgpOworICAgIFtFbmFibGVkQnlTZXR0aW5nPUludGVyYWN0
aXZlRm9ybVZhbGlkYXRpb25dIGJvb2xlYW4gcmVwb3J0VmFsaWRpdHkoKTsKICAgICB1bmRlZmlu
ZWQgc2V0Q3VzdG9tVmFsaWRpdHkoRE9NU3RyaW5nIGVycm9yKTsKIH07CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQx
LDUgKzQxLDUgQEAKICAgICBbSW1wbGVtZW50ZWRBcz1zdWJtaXRGcm9tSmF2YVNjcmlwdF0gdW5k
ZWZpbmVkIHN1Ym1pdCgpOwogICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWRdIHVuZGVmaW5lZCBy
ZXNldCgpOwogICAgIGJvb2xlYW4gY2hlY2tWYWxpZGl0eSgpOwotICAgIFtFbmFibGVkQXRSdW50
aW1lPUludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25dIGJvb2xlYW4gcmVwb3J0VmFsaWRpdHkoKTsK
KyAgICBbRW5hYmxlZEJ5U2V0dGluZz1JbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uXSBib29sZWFu
IHJlcG9ydFZhbGlkaXR5KCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZy
YW1lRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZy
YW1lRWxlbWVudC5jcHAJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTElGcmFtZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw4ICszMCw4IEBACiAj
aW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJSZW5k
ZXJJRnJhbWUuaCIKLSNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCiAjaW5jbHVk
ZSAiU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyLmgiCisjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNp
bmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC0xMzAsNyArMTMwLDcgQEAgU3RyaW5nIEhUTUxJRnJhbWVFbGVtZW50OjpyZWZlcnJlclBvbGlj
eQogCiBSZWZlcnJlclBvbGljeSBIVE1MSUZyYW1lRWxlbWVudDo6cmVmZXJyZXJQb2xpY3koKSBj
b25zdAogewotICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygp
LnJlZmVycmVyUG9saWN5QXR0cmlidXRlRW5hYmxlZCgpKQorICAgIGlmIChkb2N1bWVudCgpLnNl
dHRpbmdzKCkucmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGVFbmFibGVkKCkpCiAgICAgICAgIHJldHVy
biBwYXJzZVJlZmVycmVyUG9saWN5KGF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24ocmVm
ZXJyZXJwb2xpY3lBdHRyKSwgUmVmZXJyZXJQb2xpY3lTb3VyY2U6OlJlZmVycmVyUG9saWN5QXR0
cmlidXRlKS52YWx1ZU9yKFJlZmVycmVyUG9saWN5OjpFbXB0eVN0cmluZyk7CiAgICAgcmV0dXJu
IFJlZmVycmVyUG9saWN5OjpFbXB0eVN0cmluZzsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTElGcmFtZUVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTElGcmFtZUVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDIsNSAr
NDIsNSBAQCBpbnRlcmZhY2UgSFRNTElGcmFtZUVsZW1lbnQgOiBIVE1MRWxlbWVuCiAKICAgICBb
Q2hlY2tTZWN1cml0eUZvck5vZGUsIE1heVRocm93RXhjZXB0aW9uXSBEb2N1bWVudCBnZXRTVkdE
b2N1bWVudCgpOwogCi0gICAgW0VuYWJsZWRBdFJ1bnRpbWU9UmVmZXJyZXJQb2xpY3lBdHRyaWJ1
dGUsIEltcGxlbWVudGVkQXM9cmVmZXJyZXJQb2xpY3lGb3JCaW5kaW5ncywgQ0VSZWFjdGlvbnM9
Tm90TmVlZGVkXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlZmVycmVyUG9saWN5OworICAgIFtFbmFi
bGVkQnlTZXR0aW5nPVJlZmVycmVyUG9saWN5QXR0cmlidXRlLCBJbXBsZW1lbnRlZEFzPXJlZmVy
cmVyUG9saWN5Rm9yQmluZGluZ3MsIENFUmVhY3Rpb25zPU5vdE5lZWRlZF0gYXR0cmlidXRlIERP
TVN0cmluZyByZWZlcnJlclBvbGljeTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxJbWFnZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEltYWdlRWxlbWVudC5jcHAJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEltYWdlRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1MSw3ICsyNTEsNyBA
QCB2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQoCiB7CiAgICAgSFRNTEVs
ZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQobmFtZSwgb2xkVmFsdWUsIG5ld1ZhbHVlLCByZWFzb24p
OwogCi0gICAgaWYgKG5hbWUgPT0gcmVmZXJyZXJwb2xpY3lBdHRyICYmIFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkucmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGVFbmFibGVk
KCkpIHsKKyAgICBpZiAobmFtZSA9PSByZWZlcnJlcnBvbGljeUF0dHIgJiYgZG9jdW1lbnQoKS5z
ZXR0aW5ncygpLnJlZmVycmVyUG9saWN5QXR0cmlidXRlRW5hYmxlZCgpKSB7CiAgICAgICAgIGF1
dG8gb2xkUmVmZXJyZXJQb2xpY3kgPSBwYXJzZVJlZmVycmVyUG9saWN5KG9sZFZhbHVlLCBSZWZl
cnJlclBvbGljeVNvdXJjZTo6UmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGUpLnZhbHVlT3IoUmVmZXJy
ZXJQb2xpY3k6OkVtcHR5U3RyaW5nKTsKICAgICAgICAgYXV0byBuZXdSZWZlcnJlclBvbGljeSA9
IHBhcnNlUmVmZXJyZXJQb2xpY3kobmV3VmFsdWUsIFJlZmVycmVyUG9saWN5U291cmNlOjpSZWZl
cnJlclBvbGljeUF0dHJpYnV0ZSkudmFsdWVPcihSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmcp
OwogICAgICAgICBpZiAob2xkUmVmZXJyZXJQb2xpY3kgIT0gbmV3UmVmZXJyZXJQb2xpY3kpCkBA
IC04ODIsNyArODgyLDcgQEAgYm9vbCBIVE1MSW1hZ2VFbGVtZW50Ojp3aWxsUmVzcG9uZFRvTW91
cwogI2lmIFVTRShTWVNURU1fUFJFVklFVykKIGJvb2wgSFRNTEltYWdlRWxlbWVudDo6aXNTeXN0
ZW1QcmV2aWV3SW1hZ2UoKSBjb25zdAogewotICAgIGlmICghUnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2hhcmVkRmVhdHVyZXMoKS5zeXN0ZW1QcmV2aWV3RW5hYmxlZCgpKQorICAgIGlmICghZG9j
dW1lbnQoKS5zZXR0aW5ncygpLnN5c3RlbVByZXZpZXdFbmFibGVkKCkpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKIAogICAgIGF1dG8qIHBhcmVudCA9IHBhcmVudEVsZW1lbnQoKTsKQEAgLTk3MSw3
ICs5NzEsNyBAQCBTdHJpbmcgSFRNTEltYWdlRWxlbWVudDo6cmVmZXJyZXJQb2xpY3lGCiAKIFJl
ZmVycmVyUG9saWN5IEhUTUxJbWFnZUVsZW1lbnQ6OnJlZmVycmVyUG9saWN5KCkgY29uc3QKIHsK
LSAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5yZWZlcnJl
clBvbGljeUF0dHJpYnV0ZUVuYWJsZWQoKSkKKyAgICBpZiAoZG9jdW1lbnQoKS5zZXR0aW5ncygp
LnJlZmVycmVyUG9saWN5QXR0cmlidXRlRW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gcGFyc2VS
ZWZlcnJlclBvbGljeShhdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKHJlZmVycmVycG9s
aWN5QXR0ciksIFJlZmVycmVyUG9saWN5U291cmNlOjpSZWZlcnJlclBvbGljeUF0dHJpYnV0ZSku
dmFsdWVPcihSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmcpOwogICAgIHJldHVybiBSZWZlcnJl
clBvbGljeTo6RW1wdHlTdHJpbmc7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJ
bWFnZUVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElt
YWdlRWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEltYWdlRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDggKzQ0LDggQEAKIAog
ICAgIFtDb25kaXRpb25hbD1BVFRBQ0hNRU5UX0VMRU1FTlQsIEVuYWJsZWRBdFJ1bnRpbWU9QXR0
YWNobWVudEVsZW1lbnRdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgYXR0YWNobWVudElk
ZW50aWZpZXI7CiAKLSAgICBbRW5hYmxlZEF0UnVudGltZT1SZWZlcnJlclBvbGljeUF0dHJpYnV0
ZSwgSW1wbGVtZW50ZWRBcz1yZWZlcnJlclBvbGljeUZvckJpbmRpbmdzLCBDRVJlYWN0aW9ucz1O
b3ROZWVkZWRdIGF0dHJpYnV0ZSBET01TdHJpbmcgcmVmZXJyZXJQb2xpY3k7Ci0gICAgW0NFUmVh
Y3Rpb25zLCBFbmFibGVkQXRSdW50aW1lPUxhenlJbWFnZUxvYWRpbmcsIEltcGxlbWVudGVkQXM9
bG9hZGluZ0ZvckJpbmRpbmdzXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGxvYWRpbmc7CisgICAgW0Vu
YWJsZWRCeVNldHRpbmc9UmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGUsIEltcGxlbWVudGVkQXM9cmVm
ZXJyZXJQb2xpY3lGb3JCaW5kaW5ncywgQ0VSZWFjdGlvbnM9Tm90TmVlZGVkXSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIHJlZmVycmVyUG9saWN5OworICAgIFtDRVJlYWN0aW9ucywgRW5hYmxlZEJ5U2V0
dGluZz1MYXp5SW1hZ2VMb2FkaW5nLCBJbXBsZW1lbnRlZEFzPWxvYWRpbmdGb3JCaW5kaW5nc10g
YXR0cmlidXRlIERPTVN0cmluZyBsb2FkaW5nOwogCiAgICAgLy8gRXh0ZW5zaW9ucwogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGNvbXBsZXRlOwpJbmRleDogU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC03MSw3ICs3
MSw3IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFZhbGlkaXR5U3RhdGUgdmFsaWRpdHk7CiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZTsKICAgICBi
b29sZWFuIGNoZWNrVmFsaWRpdHkoKTsKLSAgICBbRW5hYmxlZEF0UnVudGltZT1JbnRlcmFjdGl2
ZUZvcm1WYWxpZGF0aW9uXSBib29sZWFuIHJlcG9ydFZhbGlkaXR5KCk7CisgICAgW0VuYWJsZWRC
eVNldHRpbmc9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0gYm9vbGVhbiByZXBvcnRWYWxpZGl0
eSgpOwogICAgIHVuZGVmaW5lZCBzZXRDdXN0b21WYWxpZGl0eShET01TdHJpbmcgZXJyb3IpOwog
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5vZGVMaXN0IGxhYmVsczsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEtleWdlbkVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEtleWdlbkVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxLZXlnZW5FbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpA
QCAtNDMsNyArNDMsNyBAQCBpbnRlcmZhY2UgSFRNTEtleWdlbkVsZW1lbnQgOiBIVE1MRWxlbWVu
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFZhbGlkaXR5U3RhdGUgdmFsaWRpdHk7CiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZTsKICAgICBib29sZWFu
IGNoZWNrVmFsaWRpdHkoKTsKLSAgICBbRW5hYmxlZEF0UnVudGltZT1JbnRlcmFjdGl2ZUZvcm1W
YWxpZGF0aW9uXSBib29sZWFuIHJlcG9ydFZhbGlkaXR5KCk7CisgICAgW0VuYWJsZWRCeVNldHRp
bmc9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0gYm9vbGVhbiByZXBvcnRWYWxpZGl0eSgpOwog
ICAgIHVuZGVmaW5lZCBzZXRDdXN0b21WYWxpZGl0eShET01TdHJpbmcgZXJyb3IpOwogCiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIE5vZGVMaXN0IGxhYmVsczsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTExpbmtFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxMaW5rRWxlbWVudC5jcHAJKHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTIsNyArNTIs
NiBAQAogI2luY2x1ZGUgIk1vdXNlRXZlbnQuaCIKICNpbmNsdWRlICJQYXJzZWRDb250ZW50VHlw
ZS5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCi0jaW5jbHVkZSAiUnVudGltZUVuYWJsZWRG
ZWF0dXJlcy5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2V0dGlu
Z3MuaCIKICNpbmNsdWRlICJTdHlsZUluaGVyaXRlZERhdGEuaCIKQEAgLTI0MSw5ICsyNDAsNyBA
QCBTdHJpbmcgSFRNTExpbmtFbGVtZW50OjphcygpIGNvbnN0CiAgICAgICAgIHx8IGVxdWFsTGV0
dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGFzLCAiaW1hZ2UiKQogICAgICAgICB8fCBlcXVhbExldHRl
cnNJZ25vcmluZ0FTQ0lJQ2FzZShhcywgInNjcmlwdCIpCiAgICAgICAgIHx8IGVxdWFsTGV0dGVy
c0lnbm9yaW5nQVNDSUlDYXNlKGFzLCAic3R5bGUiKQotICAgICAgICB8fCAoUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5tZWRpYVByZWxvYWRpbmdFbmFibGVkKCkKLSAg
ICAgICAgICAgICYmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShhcywgInZpZGVvIikK
LSAgICAgICAgICAgICAgICB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShhcywgImF1
ZGlvIikpKQorICAgICAgICB8fCAoZG9jdW1lbnQoKS5zZXR0aW5ncygpLm1lZGlhUHJlbG9hZGlu
Z0VuYWJsZWQoKSAmJiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoYXMsICJ2aWRlbyIp
IHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGFzLCAiYXVkaW8iKSkpCiAgICAgICAg
IHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGFzLCAidHJhY2siKQogICAgICAgICB8
fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShhcywgImZvbnQiKSkKICAgICAgICAgcmV0
dXJuIGFzLmNvbnZlcnRUb0FTQ0lJTG93ZXJjYXNlKCk7CkBAIC02NzgsNyArNjc1LDcgQEAgU3Ry
aW5nIEhUTUxMaW5rRWxlbWVudDo6cmVmZXJyZXJQb2xpY3lGbwogCiBSZWZlcnJlclBvbGljeSBI
VE1MTGlua0VsZW1lbnQ6OnJlZmVycmVyUG9saWN5KCkgY29uc3QKIHsKLSAgICBpZiAoUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5yZWZlcnJlclBvbGljeUF0dHJpYnV0
ZUVuYWJsZWQoKSkKKyAgICBpZiAoZG9jdW1lbnQoKS5zZXR0aW5ncygpLnJlZmVycmVyUG9saWN5
QXR0cmlidXRlRW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gcGFyc2VSZWZlcnJlclBvbGljeShh
dHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKHJlZmVycmVycG9saWN5QXR0ciksIFJlZmVy
cmVyUG9saWN5U291cmNlOjpSZWZlcnJlclBvbGljeUF0dHJpYnV0ZSkudmFsdWVPcihSZWZlcnJl
clBvbGljeTo6RW1wdHlTdHJpbmcpOwogICAgIHJldHVybiBSZWZlcnJlclBvbGljeTo6RW1wdHlT
dHJpbmc7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuaWRsCShy
ZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTM1LDggKzM1LDggQEAKICAgICBbQ0VSZWFjdGlvbnM9Tm90
TmVlZGVkLCBSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHR5cGU7CiAgICAgW0NFUmVhY3Rp
b25zPU5vdE5lZWRlZF0gYXR0cmlidXRlIERPTVN0cmluZyBhczsKICAgICBbQ0VSZWFjdGlvbnM9
Tm90TmVlZGVkXSBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBjcm9zc09yaWdpbjsKLSAgICBbQ0VSZWFj
dGlvbnM9Tm90TmVlZGVkLCBSZWZsZWN0LCBFbmFibGVkQXRSdW50aW1lPUxpbmtQcmVsb2FkUmVz
cG9uc2l2ZUltYWdlc10gYXR0cmlidXRlIERPTVN0cmluZyBpbWFnZVNyY3NldDsKLSAgICBbQ0VS
ZWFjdGlvbnM9Tm90TmVlZGVkLCBSZWZsZWN0LCBFbmFibGVkQXRSdW50aW1lPUxpbmtQcmVsb2Fk
UmVzcG9uc2l2ZUltYWdlc10gYXR0cmlidXRlIERPTVN0cmluZyBpbWFnZVNpemVzOworICAgIFtD
RVJlYWN0aW9ucz1Ob3ROZWVkZWQsIFJlZmxlY3QsIEVuYWJsZWRCeVNldHRpbmc9TGlua1ByZWxv
YWRSZXNwb25zaXZlSW1hZ2VzXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGltYWdlU3Jjc2V0OworICAg
IFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWQsIFJlZmxlY3QsIEVuYWJsZWRCeVNldHRpbmc9TGlua1By
ZWxvYWRSZXNwb25zaXZlSW1hZ2VzXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGltYWdlU2l6ZXM7CiAK
ICAgICAvLyBET00gTGV2ZWwgMiBTdHlsZQogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTdHlsZVNo
ZWV0IHNoZWV0OwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3Bw
CShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDUxLDcgKzI0NTEsNyBAQCB2b2lkIEhUTUxNZWRp
YUVsZW1lbnQ6OnVwZGF0ZVNob3VsZENvbnRpCiB7CiAgICAgaWYgKCFtX3BsYXllcikKICAgICAg
ICAgcmV0dXJuOwotICAgIGJvb2wgc2hvdWxkQ29udGludWUgPSBoYXNFdmVudExpc3RlbmVycygi
d2Via2l0bmVlZGtleSIpIHx8IChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJl
cygpLmVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZCgpICYmICFkb2N1bWVudCgpLnF1aXJrcygpLmhh
c0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydFF1aXJrKCkpOworICAgIGJvb2wgc2hvdWxk
Q29udGludWUgPSBoYXNFdmVudExpc3RlbmVycygid2Via2l0bmVlZGtleSIpIHx8IChkb2N1bWVu
dCgpLnNldHRpbmdzKCkuZW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKCkgJiYgIWRvY3VtZW50KCku
cXVpcmtzKCkuaGFzQnJva2VuRW5jcnlwdGVkTWVkaWFBUElTdXBwb3J0UXVpcmsoKSk7CiAgICAg
bV9wbGF5ZXItPnNldFNob3VsZENvbnRpbnVlQWZ0ZXJLZXlOZWVkZWQoc2hvdWxkQ29udGludWUp
OwogfQogI2VuZGlmCkBAIC0yNDYzLDE0ICsyNDYzLDE0IEBAIFJlZlB0cjxBcnJheUJ1ZmZlcj4g
SFRNTE1lZGlhRWxlbWVudDo6bWUKIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXll
cktleU5lZWRlZChVaW50OEFycmF5KiBpbml0RGF0YSkKIHsKLSAgICBpZiAoIVJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkubGVnYWN5RW5jcnlwdGVkTWVkaWFBUElFbmFi
bGVkKCkpCisgICAgaWYgKCFkb2N1bWVudCgpLnNldHRpbmdzKCkubGVnYWN5RW5jcnlwdGVkTWVk
aWFBUElFbmFibGVkKCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmICghaGFzRXZlbnRMaXN0
ZW5lcnMoIndlYmtpdG5lZWRrZXkiKQogI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCiAgICAg
ICAgIC8vIE9ubHkgZmlyZSBhbiBlcnJvciBpZiBFTkNSWVBURURfTUVESUEgaXMgbm90IGVuYWJs
ZWQsIHRvIGdpdmUgY2xpZW50cyBvZiB0aGUKICAgICAgICAgLy8gImVuY3J5cHRlZCIgZXZlbnQg
YSBjaGFuY2UgdG8gaGFuZGxlIGl0IHdpdGhvdXQgcmVzdWx0aW5nIGluIGEgc3ludGhldGljIGVy
cm9yLgotICAgICAgICAmJiAoIVJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVz
KCkuZW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKCkgfHwgZG9jdW1lbnQoKS5xdWlya3MoKS5oYXNC
cm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnRRdWlyaygpKQorICAgICAgICAmJiAoIWRvY3Vt
ZW50KCkuc2V0dGluZ3MoKS5lbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQoKSB8fCBkb2N1bWVudCgp
LnF1aXJrcygpLmhhc0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydFF1aXJrKCkpCiAjZW5k
aWYKICAgICAgICAgKSB7CiAgICAgICAgIG1fZXJyb3IgPSBNZWRpYUVycm9yOjpjcmVhdGUoTWVk
aWFFcnJvcjo6TUVESUFfRVJSX0VOQ1JZUFRFRCk7CkBAIC0yNDk4LDcgKzI0OTgsNyBAQCBTdHJp
bmcgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJNZWRpCiAKIHZvaWQgSFRNTE1lZGlhRWxl
bWVudDo6d2Via2l0U2V0TWVkaWFLZXlzKFdlYktpdE1lZGlhS2V5cyogbWVkaWFLZXlzKQogewot
ICAgIGlmICghUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5sZWdhY3lF
bmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQoKSkKKyAgICBpZiAoIWRvY3VtZW50KCkuc2V0dGluZ3Mo
KS5sZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgaWYgKG1fd2ViS2l0TWVkaWFLZXlzID09IG1lZGlhS2V5cykKQEAgLTI1MTMsNyArMjUxMyw3
IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6d2Via2l0U2V0TWVkaWFLZXkKIAogdm9pZCBIVE1M
TWVkaWFFbGVtZW50OjprZXlBZGRlZCgpCiB7Ci0gICAgaWYgKCFSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzaGFyZWRGZWF0dXJlcygpLmxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZCgpKQor
ICAgIGlmICghZG9jdW1lbnQoKS5zZXR0aW5ncygpLmxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJRW5h
YmxlZCgpKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAobV9wbGF5ZXIpCkBAIC0yNjA0LDcg
KzI2MDQsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNldE1lZGlhS2V5cyhNZWRpCiAKIHZv
aWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJJbml0aWFsaXphdGlvbkRhdGFFbmNvdW50
ZXJlZChjb25zdCBTdHJpbmcmIGluaXREYXRhVHlwZSwgUmVmUHRyPEFycmF5QnVmZmVyPiYmIGlu
aXREYXRhKQogewotICAgIGlmICghUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVy
ZXMoKS5lbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQoKSB8fCBkb2N1bWVudCgpLnF1aXJrcygpLmhh
c0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydFF1aXJrKCkpCisgICAgaWYgKCFkb2N1bWVu
dCgpLnNldHRpbmdzKCkuZW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKCkgfHwgZG9jdW1lbnQoKS5x
dWlya3MoKS5oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnRRdWlyaygpKQogICAgICAg
ICByZXR1cm47CiAKICAgICAvLyBodHRwczovL3czYy5naXRodWIuaW8vZW5jcnlwdGVkLW1lZGlh
LyNpbml0ZGF0YS1lbmNvdW50ZXJlZApJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0xMDIsMTIgKzEwMiwxMiBAQCB0
eXBlZGVmICgKICAgICBbQ29uZGl0aW9uYWw9TUVESUFfU1RBVElTVElDU10gcmVhZG9ubHkgYXR0
cmlidXRlIHVuc2lnbmVkIGxvbmcgd2Via2l0QXVkaW9EZWNvZGVkQnl0ZUNvdW50OwogICAgIFtD
b25kaXRpb25hbD1NRURJQV9TVEFUSVNUSUNTXSByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQg
bG9uZyB3ZWJraXRWaWRlb0RlY29kZWRCeXRlQ291bnQ7CiAKLSAgICBbQ29uZGl0aW9uYWw9TEVH
QUNZX0VOQ1JZUFRFRF9NRURJQSwgRW5hYmxlZEF0UnVudGltZT1MZWdhY3lFbmNyeXB0ZWRNZWRp
YUFQSV0gcmVhZG9ubHkgYXR0cmlidXRlIFdlYktpdE1lZGlhS2V5cyB3ZWJraXRLZXlzOwotICAg
IFtDb25kaXRpb25hbD1MRUdBQ1lfRU5DUllQVEVEX01FRElBLCBFbmFibGVkQXRSdW50aW1lPUxl
Z2FjeUVuY3J5cHRlZE1lZGlhQVBJXSB1bmRlZmluZWQgd2Via2l0U2V0TWVkaWFLZXlzKFdlYktp
dE1lZGlhS2V5cz8gbWVkaWFLZXlzKTsKLSAgICBbQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElB
LCBFbmFibGVkQXRSdW50aW1lPUVuY3J5cHRlZE1lZGlhQVBJLCBEaXNhYmxlZEJ5UXVpcms9aGFz
QnJva2VuRW5jcnlwdGVkTWVkaWFBUElTdXBwb3J0XSByZWFkb25seSBhdHRyaWJ1dGUgTWVkaWFL
ZXlzIG1lZGlhS2V5czsKLSAgICBbQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBLCBFbmFibGVk
QXRSdW50aW1lPUVuY3J5cHRlZE1lZGlhQVBJLCBEaXNhYmxlZEJ5UXVpcms9aGFzQnJva2VuRW5j
cnlwdGVkTWVkaWFBUElTdXBwb3J0XSBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uZW5jcnlwdGVk
OwotICAgIFtDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEsIEVuYWJsZWRBdFJ1bnRpbWU9RW5j
cnlwdGVkTWVkaWFBUEksIERpc2FibGVkQnlRdWlyaz1oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQ
SVN1cHBvcnRdIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb253YWl0aW5nZm9ya2V5OwotICAgIFtD
b25kaXRpb25hbD1FTkNSWVBURURfTUVESUEsIEVuYWJsZWRBdFJ1bnRpbWU9RW5jcnlwdGVkTWVk
aWFBUEksIERpc2FibGVkQnlRdWlyaz1oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnRd
IFByb21pc2U8dW5kZWZpbmVkPiBzZXRNZWRpYUtleXMoTWVkaWFLZXlzPyBtZWRpYUtleXMpOwor
ICAgIFtDb25kaXRpb25hbD1MRUdBQ1lfRU5DUllQVEVEX01FRElBLCBFbmFibGVkQnlTZXR0aW5n
PUxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJXSByZWFkb25seSBhdHRyaWJ1dGUgV2ViS2l0TWVkaWFL
ZXlzIHdlYmtpdEtleXM7CisgICAgW0NvbmRpdGlvbmFsPUxFR0FDWV9FTkNSWVBURURfTUVESUEs
IEVuYWJsZWRCeVNldHRpbmc9TGVnYWN5RW5jcnlwdGVkTWVkaWFBUEldIHVuZGVmaW5lZCB3ZWJr
aXRTZXRNZWRpYUtleXMoV2ViS2l0TWVkaWFLZXlzPyBtZWRpYUtleXMpOworICAgIFtDb25kaXRp
b25hbD1FTkNSWVBURURfTUVESUEsIEVuYWJsZWRCeVNldHRpbmc9RW5jcnlwdGVkTWVkaWFBUEks
IERpc2FibGVkQnlRdWlyaz1oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnRdIHJlYWRv
bmx5IGF0dHJpYnV0ZSBNZWRpYUtleXMgbWVkaWFLZXlzOworICAgIFtDb25kaXRpb25hbD1FTkNS
WVBURURfTUVESUEsIEVuYWJsZWRCeVNldHRpbmc9RW5jcnlwdGVkTWVkaWFBUEksIERpc2FibGVk
QnlRdWlyaz1oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnRdIGF0dHJpYnV0ZSBFdmVu
dEhhbmRsZXIgb25lbmNyeXB0ZWQ7CisgICAgW0NvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwg
RW5hYmxlZEJ5U2V0dGluZz1FbmNyeXB0ZWRNZWRpYUFQSSwgRGlzYWJsZWRCeVF1aXJrPWhhc0Jy
b2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydF0gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbndh
aXRpbmdmb3JrZXk7CisgICAgW0NvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwgRW5hYmxlZEJ5
U2V0dGluZz1FbmNyeXB0ZWRNZWRpYUFQSSwgRGlzYWJsZWRCeVF1aXJrPWhhc0Jyb2tlbkVuY3J5
cHRlZE1lZGlhQVBJU3VwcG9ydF0gUHJvbWlzZTx1bmRlZmluZWQ+IHNldE1lZGlhS2V5cyhNZWRp
YUtleXM/IG1lZGlhS2V5cyk7CiAKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIFRleHRUcmFjayBh
ZGRUZXh0VHJhY2soRE9NU3RyaW5nIGtpbmQsIG9wdGlvbmFsIERPTVN0cmluZyBsYWJlbCA9ICIi
LCBvcHRpb25hbCBET01TdHJpbmcgbGFuZ3VhZ2UgPSAiIik7CiAgICAgW0ltcGxlbWVudGVkQXM9
ZW5zdXJlQXVkaW9UcmFja3NdIHJlYWRvbmx5IGF0dHJpYnV0ZSBBdWRpb1RyYWNrTGlzdCBhdWRp
b1RyYWNrczsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1ldGFFbGVtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZXRhRWxlbWVudC5jcHAJKHJl
dmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1ldGFFbGVtZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsNiBAQAogI2luY2x1ZGUgIkRvY3VtZW50Lmgi
CiAjaW5jbHVkZSAiSFRNTEhlYWRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCi0j
aW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxs
b2NJbmxpbmVzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTg5LDcgKzg4LDcgQEAgdm9p
ZCBIVE1MTWV0YUVsZW1lbnQ6OnByb2Nlc3MoKQogCiAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9y
aW5nQVNDSUlDYXNlKG5hbWUoKSwgInZpZXdwb3J0IikpCiAgICAgICAgIGRvY3VtZW50KCkucHJv
Y2Vzc1ZpZXdwb3J0KGNvbnRlbnRWYWx1ZSwgVmlld3BvcnRBcmd1bWVudHM6OlZpZXdwb3J0TWV0
YSk7Ci0gICAgZWxzZSBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMo
KS5kaXNhYmxlZEFkYXB0YXRpb25zTWV0YVRhZ0VuYWJsZWQoKSAmJiBlcXVhbExldHRlcnNJZ25v
cmluZ0FTQ0lJQ2FzZShuYW1lKCksICJkaXNhYmxlZC1hZGFwdGF0aW9ucyIpKQorICAgIGVsc2Ug
aWYgKGRvY3VtZW50KCkuc2V0dGluZ3MoKS5kaXNhYmxlZEFkYXB0YXRpb25zTWV0YVRhZ0VuYWJs
ZWQoKSAmJiBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShuYW1lKCksICJkaXNhYmxlZC1h
ZGFwdGF0aW9ucyIpKQogICAgICAgICBkb2N1bWVudCgpLnByb2Nlc3NEaXNhYmxlZEFkYXB0YXRp
b25zKGNvbnRlbnRWYWx1ZSk7CiAjaWYgRU5BQkxFKERBUktfTU9ERV9DU1MpCiAgICAgZWxzZSBp
ZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UobmFtZSgpLCAiY29sb3Itc2NoZW1lIikg
fHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UobmFtZSgpLCAic3VwcG9ydGVkLWNvbG9y
LXNjaGVtZXMiKSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQu
aWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RF
bGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDIsNyArNDIsNyBAQAogICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBWYWxpZGl0eVN0YXRlIHZhbGlkaXR5OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBET01TdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2U7CiAgICAgYm9vbGVhbiBjaGVja1ZhbGlkaXR5
KCk7Ci0gICAgW0VuYWJsZWRBdFJ1bnRpbWU9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0gYm9v
bGVhbiByZXBvcnRWYWxpZGl0eSgpOworICAgIFtFbmFibGVkQnlTZXR0aW5nPUludGVyYWN0aXZl
Rm9ybVZhbGlkYXRpb25dIGJvb2xlYW4gcmVwb3J0VmFsaWRpdHkoKTsKICAgICB1bmRlZmluZWQg
c2V0Q3VzdG9tVmFsaWRpdHkoRE9NU3RyaW5nIGVycm9yKTsKIAogICAgIFtDaGVja1NlY3VyaXR5
Rm9yTm9kZV0gcmVhZG9ubHkgYXR0cmlidXRlIERvY3VtZW50IGNvbnRlbnREb2N1bWVudDsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE91dHB1dEVsZW1lbnQuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE91dHB1dEVsZW1lbnQuaWRsCShyZXZpc2lvbiAy
NjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPdXRwdXRFbGVtZW50LmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBAQCBpbnRlcmZhY2UgSFRNTE91dHB1dEVsZW1lbnQg
OiBIVE1MRWxlbWVuCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFZhbGlkaXR5U3RhdGUgdmFsaWRp
dHk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZTsK
ICAgICBib29sZWFuIGNoZWNrVmFsaWRpdHkoKTsKLSAgICBbRW5hYmxlZEF0UnVudGltZT1JbnRl
cmFjdGl2ZUZvcm1WYWxpZGF0aW9uXSBib29sZWFuIHJlcG9ydFZhbGlkaXR5KCk7CisgICAgW0Vu
YWJsZWRCeVNldHRpbmc9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0gYm9vbGVhbiByZXBvcnRW
YWxpZGl0eSgpOwogICAgIHVuZGVmaW5lZCBzZXRDdXN0b21WYWxpZGl0eShET01TdHJpbmcgZXJy
b3IpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5vZGVMaXN0IGxhYmVsczsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBpY3R1cmVFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQaWN0dXJlRWxlbWVudC5jcHAJKHJldmlzaW9uIDI2NjMx
MikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBpY3R1cmVFbGVtZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUgIkhUTUxJbWFnZUVsZW1lbnQuaCIK
ICNpbmNsdWRlICJJbWFnZUxvYWRlci5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKLSNpbmNsdWRl
ICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCisjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNs
dWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC02
Nyw3ICs2Nyw3IEBAIHZvaWQgSFRNTFBpY3R1cmVFbGVtZW50Ojpzb3VyY2VzQ2hhbmdlZCgKICNp
ZiBVU0UoU1lTVEVNX1BSRVZJRVcpCiBib29sIEhUTUxQaWN0dXJlRWxlbWVudDo6aXNTeXN0ZW1Q
cmV2aWV3SW1hZ2UoKQogewotICAgIGlmICghUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS5zeXN0ZW1QcmV2aWV3RW5hYmxlZCgpKQorICAgIGlmICghZG9jdW1lbnQoKS5z
ZXR0aW5ncygpLnN5c3RlbVByZXZpZXdFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
IAogICAgIGF1dG8qIHBhcmVudCA9IHBhcmVudEVsZW1lbnQoKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFNjcmlwdEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFNjcmlwdEVsZW1lbnQuY3BwCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxTY3JpcHRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjgsNyArMjgsNyBAQAogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJIVE1MTmFt
ZXMuaCIKICNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCi0jaW5jbHVkZSAiUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5oIgorI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiVGV4dC5o
IgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CiAjaW5jbHVkZSA8d3RmL1JlZi5o
PgpAQCAtMTk3LDcgKzE5Nyw3IEBAIFN0cmluZyBIVE1MU2NyaXB0RWxlbWVudDo6cmVmZXJyZXJQ
b2xpY3kKIAogUmVmZXJyZXJQb2xpY3kgSFRNTFNjcmlwdEVsZW1lbnQ6OnJlZmVycmVyUG9saWN5
KCkgY29uc3QKIHsKLSAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVy
ZXMoKS5yZWZlcnJlclBvbGljeUF0dHJpYnV0ZUVuYWJsZWQoKSkKKyAgICBpZiAoZG9jdW1lbnQo
KS5zZXR0aW5ncygpLnJlZmVycmVyUG9saWN5QXR0cmlidXRlRW5hYmxlZCgpKQogICAgICAgICBy
ZXR1cm4gcGFyc2VSZWZlcnJlclBvbGljeShhdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9u
KHJlZmVycmVycG9saWN5QXR0ciksIFJlZmVycmVyUG9saWN5U291cmNlOjpSZWZlcnJlclBvbGlj
eUF0dHJpYnV0ZSkudmFsdWVPcihSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmcpOwogICAgIHJl
dHVybiBSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmc7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxTY3JpcHRFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxTY3JpcHRFbGVtZW50LmlkbAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MU2NyaXB0RWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMx
LDUgKzMxLDUgQEAgaW50ZXJmYWNlIEhUTUxTY3JpcHRFbGVtZW50IDogSFRNTEVsZW1lbgogICAg
IFtSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5vbmNlOwogICAgIFtDRVJlYWN0aW9ucz1O
b3ROZWVkZWQsIFJlZmxlY3RdIGF0dHJpYnV0ZSBib29sZWFuIG5vTW9kdWxlOwogICAgIFtDRVJl
YWN0aW9ucz1Ob3ROZWVkZWQsIFJlZmxlY3QsIEVuYWJsZWRCeVNldHRpbmc9U3VicmVzb3VyY2VJ
bnRlZ3JpdHldIGF0dHJpYnV0ZSBET01TdHJpbmcgaW50ZWdyaXR5OwotICAgIFtFbmFibGVkQXRS
dW50aW1lPVJlZmVycmVyUG9saWN5QXR0cmlidXRlLCBJbXBsZW1lbnRlZEFzPXJlZmVycmVyUG9s
aWN5Rm9yQmluZGluZ3MsIENFUmVhY3Rpb25zPU5vdE5lZWRlZF0gYXR0cmlidXRlIERPTVN0cmlu
ZyByZWZlcnJlclBvbGljeTsKKyAgICBbRW5hYmxlZEJ5U2V0dGluZz1SZWZlcnJlclBvbGljeUF0
dHJpYnV0ZSwgSW1wbGVtZW50ZWRBcz1yZWZlcnJlclBvbGljeUZvckJpbmRpbmdzLCBDRVJlYWN0
aW9ucz1Ob3ROZWVkZWRdIGF0dHJpYnV0ZSBET01TdHJpbmcgcmVmZXJyZXJQb2xpY3k7CiB9OwpJ
bmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5pZGwJKHJldmlzaW9u
IDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC01MCw3ICs1MCw3IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFZh
bGlkaXR5U3RhdGUgdmFsaWRpdHk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB2
YWxpZGF0aW9uTWVzc2FnZTsKICAgICBib29sZWFuIGNoZWNrVmFsaWRpdHkoKTsKLSAgICBbRW5h
YmxlZEF0UnVudGltZT1JbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uXSBib29sZWFuIHJlcG9ydFZh
bGlkaXR5KCk7CisgICAgW0VuYWJsZWRCeVNldHRpbmc9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlv
bl0gYm9vbGVhbiByZXBvcnRWYWxpZGl0eSgpOwogICAgIHVuZGVmaW5lZCBzZXRDdXN0b21WYWxp
ZGl0eShET01TdHJpbmcgZXJyb3IpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5vZGVMaXN0
IGxhYmVsczsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50
LmlkbAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFy
ZWFFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDMsNyArNDMsNyBAQCBpbnRlcmZhY2Ug
SFRNTFRleHRBcmVhRWxlbWVudCA6IEhUTUxFbGVtCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFZh
bGlkaXR5U3RhdGUgdmFsaWRpdHk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB2
YWxpZGF0aW9uTWVzc2FnZTsKICAgICBib29sZWFuIGNoZWNrVmFsaWRpdHkoKTsKLSAgICBbRW5h
YmxlZEF0UnVudGltZT1JbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uXSBib29sZWFuIHJlcG9ydFZh
bGlkaXR5KCk7CisgICAgW0VuYWJsZWRCeVNldHRpbmc9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlv
bl0gYm9vbGVhbiByZXBvcnRWYWxpZGl0eSgpOwogICAgIHVuZGVmaW5lZCBzZXRDdXN0b21WYWxp
ZGl0eShET01TdHJpbmcgZXJyb3IpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5vZGVMaXN0
IGxhYmVsczsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvTGlua1JlbEF0dHJpYnV0ZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9MaW5rUmVsQXR0cmlidXRlLmNwcAko
cmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9MaW5rUmVsQXR0cmlidXRl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzEsOSArNzEsOSBAQCBMaW5rUmVsQXR0cmlidXRlOjpM
aW5rUmVsQXR0cmlidXRlKERvY3VtCiAgICAgICAgIGlzRE5TUHJlZmV0Y2ggPSB0cnVlOwogICAg
IGVsc2UgaWYgKGRvY3VtZW50LnNldHRpbmdzKCkubGlua1ByZWNvbm5lY3RFbmFibGVkKCkgJiYg
ZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UocmVsLCAicHJlY29ubmVjdCIpKQogICAgICAg
ICBpc0xpbmtQcmVjb25uZWN0ID0gdHJ1ZTsKLSAgICBlbHNlIGlmIChSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmxpbmtQcmVsb2FkRW5hYmxlZCgpICYmIGVxdWFsTGV0
dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHJlbCwgInByZWxvYWQiKSkKKyAgICBlbHNlIGlmIChkb2N1
bWVudC5zZXR0aW5ncygpLmxpbmtQcmVsb2FkRW5hYmxlZCgpICYmIGVxdWFsTGV0dGVyc0lnbm9y
aW5nQVNDSUlDYXNlKHJlbCwgInByZWxvYWQiKSkKICAgICAgICAgaXNMaW5rUHJlbG9hZCA9IHRy
dWU7Ci0gICAgZWxzZSBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMo
KS5saW5rUHJlZmV0Y2hFbmFibGVkKCkgJiYgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uo
cmVsLCAicHJlZmV0Y2giKSkKKyAgICBlbHNlIGlmIChkb2N1bWVudC5zZXR0aW5ncygpLmxpbmtQ
cmVmZXRjaEVuYWJsZWQoKSAmJiBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShyZWwsICJw
cmVmZXRjaCIpKQogICAgICAgICBpc0xpbmtQcmVmZXRjaCA9IHRydWU7CiAgICAgZWxzZSBpZiAo
ZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UocmVsLCAiYWx0ZXJuYXRlIHN0eWxlc2hlZXQi
KSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShyZWwsICJzdHlsZXNoZWV0IGFsdGVy
bmF0ZSIpKSB7CiAgICAgICAgIGlzU3R5bGVTaGVldCA9IHRydWU7CkBAIC0xMTksMTAgKzExOSwx
MCBAQCBib29sIExpbmtSZWxBdHRyaWJ1dGU6OmlzU3VwcG9ydGVkKERvY3VtCiAgICAgaWYgKGRv
Y3VtZW50LnNldHRpbmdzKCkubGlua1ByZWNvbm5lY3RFbmFibGVkKCkgJiYgZXF1YWxJZ25vcmlu
Z0FTQ0lJQ2FzZShhdHRyaWJ1dGUsICJwcmVjb25uZWN0IikpCiAgICAgICAgIHJldHVybiB0cnVl
OwogCi0gICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkubGlu
a1ByZWxvYWRFbmFibGVkKCkgJiYgZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShhdHRyaWJ1dGUsICJw
cmVsb2FkIikpCisgICAgaWYgKGRvY3VtZW50LnNldHRpbmdzKCkubGlua1ByZWxvYWRFbmFibGVk
KCkgJiYgZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShhdHRyaWJ1dGUsICJwcmVsb2FkIikpCiAgICAg
ICAgIHJldHVybiB0cnVlOwogCi0gICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJl
ZEZlYXR1cmVzKCkubGlua1ByZWZldGNoRW5hYmxlZCgpICYmIGVxdWFsSWdub3JpbmdBU0NJSUNh
c2UoYXR0cmlidXRlLCAicHJlZmV0Y2giKSkKKyAgICBpZiAoZG9jdW1lbnQuc2V0dGluZ3MoKS5s
aW5rUHJlZmV0Y2hFbmFibGVkKCkgJiYgZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShhdHRyaWJ1dGUs
ICJwcmVmZXRjaCIpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIHJldHVybiBmYWxzZTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbmNyeXB0ZWRFdmVudC5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVuY3J5cHRlZEV2ZW50LmlkbAkocmV2
aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVuY3J5cHRlZEV2ZW50
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzMsNyArMzMsNyBAQCBkaWN0aW9uYXJ5IE1lZGlhRW5j
cnlwdGVkRXZlbnRJbml0IDogRXZlCiAKIFsKICAgICBDb25kaXRpb25hbD1FTkNSWVBURURfTUVE
SUEsCi0gICAgRW5hYmxlZEF0UnVudGltZT1FbmNyeXB0ZWRNZWRpYUFQSSwKKyAgICBFbmFibGVk
QnlTZXR0aW5nPUVuY3J5cHRlZE1lZGlhQVBJLAogICAgIERpc2FibGVkQnlRdWlyaz1oYXNCcm9r
ZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnQsCiBdIGludGVyZmFjZSBNZWRpYUVuY3J5cHRlZEV2
ZW50IDogRXZlbnQgewogICAgIGNvbnN0cnVjdG9yKERPTVN0cmluZyB0eXBlLCBvcHRpb25hbCBN
ZWRpYUVuY3J5cHRlZEV2ZW50SW5pdCBldmVudEluaXREaWN0KTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2h0bWwvV2ViS2l0TWVkaWFLZXlFcnJvci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvaHRtbC9XZWJLaXRNZWRpYUtleUVycm9yLmlkbAkocmV2aXNpb24gMjY2MzEyKQorKysg
U291cmNlL1dlYkNvcmUvaHRtbC9XZWJLaXRNZWRpYUtleUVycm9yLmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMjYsNyArMjYsNyBAQAogWwogICAgIENvbmRpdGlvbmFsPUxFR0FDWV9FTkNSWVBURURf
TUVESUEsCiAgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKLSAgICBFbmFibGVkQXRSdW50
aW1lPUxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJLAorICAgIEVuYWJsZWRCeVNldHRpbmc9TGVnYWN5
RW5jcnlwdGVkTWVkaWFBUEksCiBdIGludGVyZmFjZSBXZWJLaXRNZWRpYUtleUVycm9yIHsKICAg
ICBjb25zdCB1bnNpZ25lZCBzaG9ydCBNRURJQV9LRVlFUlJfVU5LTk9XTiA9IDE7CiAgICAgY29u
c3QgdW5zaWduZWQgc2hvcnQgTUVESUFfS0VZRVJSX0NMSUVOVCA9IDI7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5jcHAJKHJldmlz
aW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nh
bm5lci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDcgKzQyLDYgQEAKICNpbmNsdWRlICJNZWRp
YVF1ZXJ5RXZhbHVhdG9yLmgiCiAjaW5jbHVkZSAiTWVkaWFRdWVyeVBhcnNlci5oIgogI2luY2x1
ZGUgIlJlbmRlclZpZXcuaCIKLSNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCiAj
aW5jbHVkZSAiU2VjdXJpdHlQb2xpY3kuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1
ZGUgIlNpemVzQXR0cmlidXRlUGFyc2VyLmgiCkBAIC0xMDUsOCArMTA0LDkgQEAgU3RyaW5nIFRv
a2VuUHJlbG9hZFNjYW5uZXI6OmluaXRpYXRvckZvcgogCiBjbGFzcyBUb2tlblByZWxvYWRTY2Fu
bmVyOjpTdGFydFRhZ1NjYW5uZXIgewogcHVibGljOgotICAgIGV4cGxpY2l0IFN0YXJ0VGFnU2Nh
bm5lcihUYWdJZCB0YWdJZCwgZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3IgPSAxLjApCi0gICAgICAg
IDogbV90YWdJZCh0YWdJZCkKKyAgICBleHBsaWNpdCBTdGFydFRhZ1NjYW5uZXIoRG9jdW1lbnQm
IGRvY3VtZW50LCBUYWdJZCB0YWdJZCwgZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3IgPSAxLjApCisg
ICAgICAgIDogbV9kb2N1bWVudChkb2N1bWVudCkKKyAgICAgICAgLCBtX3RhZ0lkKHRhZ0lkKQog
ICAgICAgICAsIG1fbGlua0lzU3R5bGVTaGVldChmYWxzZSkKICAgICAgICAgLCBtX2xpbmtJc1By
ZWxvYWQoZmFsc2UpCiAgICAgICAgICwgbV9tZXRhSXNWaWV3cG9ydChmYWxzZSkKQEAgLTExNiw3
ICsxMTYsNyBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIHZvaWQgcHJvY2Vzc0F0dHJp
YnV0ZXMoY29uc3QgSFRNTFRva2VuOjpBdHRyaWJ1dGVMaXN0JiBhdHRyaWJ1dGVzLCBEb2N1bWVu
dCYgZG9jdW1lbnQsIFZlY3Rvcjxib29sPiYgcGljdHVyZVN0YXRlKQorICAgIHZvaWQgcHJvY2Vz
c0F0dHJpYnV0ZXMoY29uc3QgSFRNTFRva2VuOjpBdHRyaWJ1dGVMaXN0JiBhdHRyaWJ1dGVzLCBW
ZWN0b3I8Ym9vbD4mIHBpY3R1cmVTdGF0ZSkKICAgICB7CiAgICAgICAgIEFTU0VSVChpc01haW5U
aHJlYWQoKSk7CiAgICAgICAgIGlmIChtX3RhZ0lkID49IFRhZ0lkOjpVbmtub3duKQpAQCAtMTI1
LDEyICsxMjUsMTIgQEAgcHVibGljOgogICAgICAgICBmb3IgKGF1dG8mIGF0dHJpYnV0ZSA6IGF0
dHJpYnV0ZXMpIHsKICAgICAgICAgICAgIEF0b21TdHJpbmcgYXR0cmlidXRlTmFtZShhdHRyaWJ1
dGUubmFtZSk7CiAgICAgICAgICAgICBTdHJpbmcgYXR0cmlidXRlVmFsdWUgPSBTdHJpbmdJbXBs
OjpjcmVhdGU4Qml0SWZQb3NzaWJsZShhdHRyaWJ1dGUudmFsdWUpOwotICAgICAgICAgICAgcHJv
Y2Vzc0F0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lLCBhdHRyaWJ1dGVWYWx1ZSwgZG9jdW1lbnQsIHBp
Y3R1cmVTdGF0ZSk7CisgICAgICAgICAgICBwcm9jZXNzQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUs
IGF0dHJpYnV0ZVZhbHVlLCBwaWN0dXJlU3RhdGUpOwogICAgICAgICB9CiAgICAgICAgIAogICAg
ICAgICBpZiAobV90YWdJZCA9PSBUYWdJZDo6U291cmNlICYmICFwaWN0dXJlU3RhdGUuaXNFbXB0
eSgpICYmICFwaWN0dXJlU3RhdGUubGFzdCgpICYmIG1fbWVkaWFNYXRjaGVkICYmIG1fdHlwZU1h
dGNoZWQgJiYgIW1fc3JjU2V0QXR0cmlidXRlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgCi0g
ICAgICAgICAgICBhdXRvIHNvdXJjZVNpemUgPSBTaXplc0F0dHJpYnV0ZVBhcnNlcihtX3NpemVz
QXR0cmlidXRlLCBkb2N1bWVudCkubGVuZ3RoKCk7CisgICAgICAgICAgICBhdXRvIHNvdXJjZVNp
emUgPSBTaXplc0F0dHJpYnV0ZVBhcnNlcihtX3NpemVzQXR0cmlidXRlLCBtX2RvY3VtZW50KS5s
ZW5ndGgoKTsKICAgICAgICAgICAgIEltYWdlQ2FuZGlkYXRlIGltYWdlQ2FuZGlkYXRlID0gYmVz
dEZpdFNvdXJjZUZvckltYWdlQXR0cmlidXRlcyhtX2RldmljZVNjYWxlRmFjdG9yLCBtX3VybFRv
TG9hZCwgbV9zcmNTZXRBdHRyaWJ1dGUsIHNvdXJjZVNpemUpOwogICAgICAgICAgICAgaWYgKCFp
bWFnZUNhbmRpZGF0ZS5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICBwaWN0dXJlU3RhdGUu
bGFzdCgpID0gdHJ1ZTsKQEAgLTE0MCwxNiArMTQwLDE2IEBAIHB1YmxpYzoKICAgICAgICAgCiAg
ICAgICAgIC8vIFJlc29sdmUgYmV0d2VlbiBzcmMgYW5kIHNyY1NldCBpZiB3ZSBoYXZlIHRoZW0g
YW5kIHRoZSB0YWcgaXMgaW1nLgogICAgICAgICBpZiAobV90YWdJZCA9PSBUYWdJZDo6SW1nICYm
ICFtX3NyY1NldEF0dHJpYnV0ZS5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAgIGF1dG8gc291cmNl
U2l6ZSA9IFNpemVzQXR0cmlidXRlUGFyc2VyKG1fc2l6ZXNBdHRyaWJ1dGUsIGRvY3VtZW50KS5s
ZW5ndGgoKTsKKyAgICAgICAgICAgIGF1dG8gc291cmNlU2l6ZSA9IFNpemVzQXR0cmlidXRlUGFy
c2VyKG1fc2l6ZXNBdHRyaWJ1dGUsIG1fZG9jdW1lbnQpLmxlbmd0aCgpOwogICAgICAgICAgICAg
SW1hZ2VDYW5kaWRhdGUgaW1hZ2VDYW5kaWRhdGUgPSBiZXN0Rml0U291cmNlRm9ySW1hZ2VBdHRy
aWJ1dGVzKG1fZGV2aWNlU2NhbGVGYWN0b3IsIG1fdXJsVG9Mb2FkLCBtX3NyY1NldEF0dHJpYnV0
ZSwgc291cmNlU2l6ZSk7CiAgICAgICAgICAgICBzZXRVcmxUb0xvYWQoaW1hZ2VDYW5kaWRhdGUu
c3RyaW5nLnRvU3RyaW5nKCksIHRydWUpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKG1fbWV0
YUlzVmlld3BvcnQgJiYgIW1fbWV0YUNvbnRlbnQuaXNOdWxsKCkpCi0gICAgICAgICAgICBkb2N1
bWVudC5wcm9jZXNzVmlld3BvcnQobV9tZXRhQ29udGVudCwgVmlld3BvcnRBcmd1bWVudHM6OlZp
ZXdwb3J0TWV0YSk7CisgICAgICAgICAgICBtX2RvY3VtZW50LnByb2Nlc3NWaWV3cG9ydChtX21l
dGFDb250ZW50LCBWaWV3cG9ydEFyZ3VtZW50czo6Vmlld3BvcnRNZXRhKTsKIAogICAgICAgICBp
ZiAobV9tZXRhSXNEaXNhYmxlZEFkYXB0YXRpb25zICYmICFtX21ldGFDb250ZW50LmlzTnVsbCgp
KQotICAgICAgICAgICAgZG9jdW1lbnQucHJvY2Vzc0Rpc2FibGVkQWRhcHRhdGlvbnMobV9tZXRh
Q29udGVudCk7CisgICAgICAgICAgICBtX2RvY3VtZW50LnByb2Nlc3NEaXNhYmxlZEFkYXB0YXRp
b25zKG1fbWV0YUNvbnRlbnQpOwogICAgIH0KIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxQcmVsb2Fk
UmVxdWVzdD4gY3JlYXRlUHJlbG9hZFJlcXVlc3QoY29uc3QgVVJMJiBwcmVkaWN0ZWRCYXNlVVJM
KQpAQCAtMTYxLDcgKzE2MSw3IEBAIHB1YmxpYzoKICAgICAgICAgaWYgKCF0eXBlKQogICAgICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICAgICAgaWYgKCFMaW5rTG9hZGVyOjppc1N1cHBv
cnRlZFR5cGUodHlwZS52YWx1ZSgpLCBtX3R5cGVBdHRyaWJ1dGUpKQorICAgICAgICBpZiAoIUxp
bmtMb2FkZXI6OmlzU3VwcG9ydGVkVHlwZSh0eXBlLnZhbHVlKCksIG1fdHlwZUF0dHJpYnV0ZSwg
bV9kb2N1bWVudCkpCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgICAgICAvLyBE
byBub3QgcHJlbG9hZCBpZiBsYXp5bG9hZCBpcyBwb3NzaWJsZSBidXQgbWV0YWRhdGEgZmV0Y2gg
aXMgZGlzYWJsZWQuCkBAIC0xOTcsNyArMTk3LDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIG1f
Y2hhcnNldCA9IGF0dHJpYnV0ZVZhbHVlOwogICAgIH0KIAotICAgIHZvaWQgcHJvY2Vzc0F0dHJp
YnV0ZShjb25zdCBBdG9tU3RyaW5nJiBhdHRyaWJ1dGVOYW1lLCBjb25zdCBTdHJpbmcmIGF0dHJp
YnV0ZVZhbHVlLCBEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFZlY3Rvcjxib29sPiYgcGljdHVy
ZVN0YXRlKQorICAgIHZvaWQgcHJvY2Vzc0F0dHJpYnV0ZShjb25zdCBBdG9tU3RyaW5nJiBhdHRy
aWJ1dGVOYW1lLCBjb25zdCBTdHJpbmcmIGF0dHJpYnV0ZVZhbHVlLCBjb25zdCBWZWN0b3I8Ym9v
bD4mIHBpY3R1cmVTdGF0ZSkKICAgICB7CiAgICAgICAgIGJvb2wgaW5QaWN0dXJlID0gIXBpY3R1
cmVTdGF0ZS5pc0VtcHR5KCk7CiAgICAgICAgIGJvb2wgYWxyZWFkeU1hdGNoZWRTb3VyY2UgPSBp
blBpY3R1cmUgJiYgcGljdHVyZVN0YXRlLmxhc3QoKTsKQEAgLTIxNCw3ICsyMTQsNyBAQCBwcml2
YXRlOgogICAgICAgICAgICAgICAgIG1fc2l6ZXNBdHRyaWJ1dGUgPSBhdHRyaWJ1dGVWYWx1ZTsK
ICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmxhenlJbWFnZUxvYWRpbmdF
bmFibGVkKCkpIHsKKyAgICAgICAgICAgIGlmIChtX2RvY3VtZW50LnNldHRpbmdzKCkubGF6eUlt
YWdlTG9hZGluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgIGlmIChtYXRjaChhdHRyaWJ1
dGVOYW1lLCBsb2FkaW5nQXR0cikgJiYgbV9sYXp5bG9hZEF0dHJpYnV0ZS5pc051bGwoKSkgewog
ICAgICAgICAgICAgICAgICAgICBtX2xhenlsb2FkQXR0cmlidXRlID0gYXR0cmlidXRlVmFsdWU7
CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMjM1LDEwICsyMzUsMTAgQEAgcHJpdmF0
ZToKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmIChtYXRjaChhdHRyaWJ1dGVOYW1lLCBt
ZWRpYUF0dHIpICYmIG1fbWVkaWFBdHRyaWJ1dGUuaXNOdWxsKCkpIHsKICAgICAgICAgICAgICAg
ICBtX21lZGlhQXR0cmlidXRlID0gYXR0cmlidXRlVmFsdWU7Ci0gICAgICAgICAgICAgICAgYXV0
byBtZWRpYVNldCA9IE1lZGlhUXVlcnlTZXQ6OmNyZWF0ZShhdHRyaWJ1dGVWYWx1ZSwgTWVkaWFR
dWVyeVBhcnNlckNvbnRleHQoZG9jdW1lbnQpKTsKLSAgICAgICAgICAgICAgICBhdXRvIGRvY3Vt
ZW50RWxlbWVudCA9IG1ha2VSZWZQdHIoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KCkpOworICAg
ICAgICAgICAgICAgIGF1dG8gbWVkaWFTZXQgPSBNZWRpYVF1ZXJ5U2V0OjpjcmVhdGUoYXR0cmli
dXRlVmFsdWUsIE1lZGlhUXVlcnlQYXJzZXJDb250ZXh0KG1fZG9jdW1lbnQpKTsKKyAgICAgICAg
ICAgICAgICBhdXRvIGRvY3VtZW50RWxlbWVudCA9IG1ha2VSZWZQdHIobV9kb2N1bWVudC5kb2N1
bWVudEVsZW1lbnQoKSk7CiAgICAgICAgICAgICAgICAgTE9HKE1lZGlhUXVlcmllcywgIkhUTUxQ
cmVsb2FkU2Nhbm5lciAlcCBwcm9jZXNzQXR0cmlidXRlIGV2YWx1YXRpbmcgbWVkaWEgcXVlcmll
cyIsIHRoaXMpOwotICAgICAgICAgICAgICAgIG1fbWVkaWFNYXRjaGVkID0gTWVkaWFRdWVyeUV2
YWx1YXRvciB7IGRvY3VtZW50LnByaW50aW5nKCkgPyAicHJpbnQiIDogInNjcmVlbiIsIGRvY3Vt
ZW50LCBkb2N1bWVudEVsZW1lbnQgPyBkb2N1bWVudEVsZW1lbnQtPmNvbXB1dGVkU3R5bGUoKSA6
IG51bGxwdHIgfS5ldmFsdWF0ZShtZWRpYVNldC5nZXQoKSk7CisgICAgICAgICAgICAgICAgbV9t
ZWRpYU1hdGNoZWQgPSBNZWRpYVF1ZXJ5RXZhbHVhdG9yIHsgbV9kb2N1bWVudC5wcmludGluZygp
ID8gInByaW50IiA6ICJzY3JlZW4iLCBtX2RvY3VtZW50LCBkb2N1bWVudEVsZW1lbnQgPyBkb2N1
bWVudEVsZW1lbnQtPmNvbXB1dGVkU3R5bGUoKSA6IG51bGxwdHIgfS5ldmFsdWF0ZShtZWRpYVNl
dC5nZXQoKSk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAobWF0Y2goYXR0cmlidXRl
TmFtZSwgdHlwZUF0dHIpICYmIG1fdHlwZUF0dHJpYnV0ZS5pc051bGwoKSkgewogICAgICAgICAg
ICAgICAgIC8vIHdoZW4gbXVsdGlwbGUgdHlwZSBhdHRyaWJ1dGVzIHByZXNlbnQ6IGZpcnN0IHZh
bHVlIHdpbnMsIGlnbm9yZSBzdWJzZXF1ZW50ICh0byBtYXRjaCBJbWFnZUVsZW1lbnQgcGFyc2Vy
IGFuZCBCbGluayBiZWhhdmlvdXJzKQpAQCAtMjY5LDcgKzI2OSw3IEBAIHByaXZhdGU6CiAgICAg
ICAgICAgICBpZiAobWF0Y2goYXR0cmlidXRlTmFtZSwgaHJlZkF0dHIpKQogICAgICAgICAgICAg
ICAgIHNldFVybFRvTG9hZChhdHRyaWJ1dGVWYWx1ZSk7CiAgICAgICAgICAgICBlbHNlIGlmICht
YXRjaChhdHRyaWJ1dGVOYW1lLCByZWxBdHRyKSkgewotICAgICAgICAgICAgICAgIExpbmtSZWxB
dHRyaWJ1dGUgcGFyc2VkQXR0cmlidXRlIHsgZG9jdW1lbnQsIGF0dHJpYnV0ZVZhbHVlIH07Cisg
ICAgICAgICAgICAgICAgTGlua1JlbEF0dHJpYnV0ZSBwYXJzZWRBdHRyaWJ1dGUgeyBtX2RvY3Vt
ZW50LCBhdHRyaWJ1dGVWYWx1ZSB9OwogICAgICAgICAgICAgICAgIG1fbGlua0lzU3R5bGVTaGVl
dCA9IHJlbEF0dHJpYnV0ZUlzU3R5bGVTaGVldChwYXJzZWRBdHRyaWJ1dGUpOwogICAgICAgICAg
ICAgICAgIG1fbGlua0lzUHJlbG9hZCA9IHBhcnNlZEF0dHJpYnV0ZS5pc0xpbmtQcmVsb2FkOwog
ICAgICAgICAgICAgfSBlbHNlIGlmIChtYXRjaChhdHRyaWJ1dGVOYW1lLCBtZWRpYUF0dHIpKQpA
QCAtMjk4LDcgKzI5OCw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgbV9tZXRhQ29udGVu
dCA9IGF0dHJpYnV0ZVZhbHVlOwogICAgICAgICAgICAgZWxzZSBpZiAobWF0Y2goYXR0cmlidXRl
TmFtZSwgbmFtZUF0dHIpKQogICAgICAgICAgICAgICAgIG1fbWV0YUlzVmlld3BvcnQgPSBlcXVh
bExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShhdHRyaWJ1dGVWYWx1ZSwgInZpZXdwb3J0Iik7Ci0g
ICAgICAgICAgICBlbHNlIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJl
cygpLmRpc2FibGVkQWRhcHRhdGlvbnNNZXRhVGFnRW5hYmxlZCgpICYmIG1hdGNoKGF0dHJpYnV0
ZU5hbWUsIG5hbWVBdHRyKSkKKyAgICAgICAgICAgIGVsc2UgaWYgKG1fZG9jdW1lbnQuc2V0dGlu
Z3MoKS5kaXNhYmxlZEFkYXB0YXRpb25zTWV0YVRhZ0VuYWJsZWQoKSAmJiBtYXRjaChhdHRyaWJ1
dGVOYW1lLCBuYW1lQXR0cikpCiAgICAgICAgICAgICAgICAgbV9tZXRhSXNEaXNhYmxlZEFkYXB0
YXRpb25zID0gZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoYXR0cmlidXRlVmFsdWUsICJk
aXNhYmxlZC1hZGFwdGF0aW9ucyIpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2Ug
VGFnSWQ6OkJhc2U6CkBAIC0zNDYsNyArMzQ2LDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIGlm
IChtX2xpbmtJc1N0eWxlU2hlZXQpCiAgICAgICAgICAgICAgICAgcmV0dXJuIENhY2hlZFJlc291
cmNlOjpUeXBlOjpDU1NTdHlsZVNoZWV0OwogICAgICAgICAgICAgaWYgKG1fbGlua0lzUHJlbG9h
ZCkKLSAgICAgICAgICAgICAgICByZXR1cm4gTGlua0xvYWRlcjo6cmVzb3VyY2VUeXBlRnJvbUFz
QXR0cmlidXRlKG1fYXNBdHRyaWJ1dGUpOworICAgICAgICAgICAgICAgIHJldHVybiBMaW5rTG9h
ZGVyOjpyZXNvdXJjZVR5cGVGcm9tQXNBdHRyaWJ1dGUobV9hc0F0dHJpYnV0ZSwgbV9kb2N1bWVu
dCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBUYWdJZDo6TWV0YToKICAgICAg
ICAgY2FzZSBUYWdJZDo6VW5rbm93bjoKQEAgLTM4MCw2ICszODAsNyBAQCBwcml2YXRlOgogICAg
ICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKKyAgICBEb2N1bWVudCYgbV9kb2N1bWVudDsKICAg
ICBUYWdJZCBtX3RhZ0lkOwogICAgIFN0cmluZyBtX3VybFRvTG9hZDsKICAgICBTdHJpbmcgbV9z
cmNTZXRBdHRyaWJ1dGU7CkBAIC00NjIsOCArNDYzLDggQEAgdm9pZCBUb2tlblByZWxvYWRTY2Fu
bmVyOjpzY2FuKGNvbnN0IEhUTQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKLSAg
ICAgICAgU3RhcnRUYWdTY2FubmVyIHNjYW5uZXIodGFnSWQsIG1fZGV2aWNlU2NhbGVGYWN0b3Ip
OwotICAgICAgICBzY2FubmVyLnByb2Nlc3NBdHRyaWJ1dGVzKHRva2VuLmF0dHJpYnV0ZXMoKSwg
ZG9jdW1lbnQsIG1fcGljdHVyZVNvdXJjZVN0YXRlKTsKKyAgICAgICAgU3RhcnRUYWdTY2FubmVy
IHNjYW5uZXIoZG9jdW1lbnQsIHRhZ0lkLCBtX2RldmljZVNjYWxlRmFjdG9yKTsKKyAgICAgICAg
c2Nhbm5lci5wcm9jZXNzQXR0cmlidXRlcyh0b2tlbi5hdHRyaWJ1dGVzKCksIG1fcGljdHVyZVNv
dXJjZVN0YXRlKTsKICAgICAgICAgaWYgKGF1dG8gcmVxdWVzdCA9IHNjYW5uZXIuY3JlYXRlUHJl
bG9hZFJlcXVlc3QobV9wcmVkaWN0ZWRCYXNlRWxlbWVudFVSTCkpCiAgICAgICAgICAgICByZXF1
ZXN0cy5hcHBlbmQoV1RGTW92ZShyZXF1ZXN0KSk7CiAgICAgICAgIHJldHVybjsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcAkocmV2aXNpb24gMjY2MzEyKQorKysgU291
cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjA4
LDcgKzIwOCw3IEBAIHZvaWQgSW1hZ2VMb2FkZXI6OnVwZGF0ZUZyb21FbGVtZW50KFJlbGUKICAg
ICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGlmIChtX2xhenlJbWFnZUxvYWRTdGF0ZSA9PSBM
YXp5SW1hZ2VMb2FkU3RhdGU6Ok5vbmUgJiYgaXNJbWFnZUVsZW1lbnQpIHsKICAgICAgICAgICAg
ICAgICBhdXRvJiBpbWFnZUVsZW1lbnQgPSBkb3duY2FzdDxIVE1MSW1hZ2VFbGVtZW50PihlbGVt
ZW50KCkpOwotICAgICAgICAgICAgICAgIGlmIChpbWFnZUVsZW1lbnQuaXNMYXp5TG9hZGFibGUo
KSAmJiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmxhenlJbWFnZUxv
YWRpbmdFbmFibGVkKCkpIHsKKyAgICAgICAgICAgICAgICBpZiAoaW1hZ2VFbGVtZW50LmlzTGF6
eUxvYWRhYmxlKCkgJiYgZG9jdW1lbnQuc2V0dGluZ3MoKS5sYXp5SW1hZ2VMb2FkaW5nRW5hYmxl
ZCgpKSB7CiAgICAgICAgICAgICAgICAgICAgIG1fbGF6eUltYWdlTG9hZFN0YXRlID0gTGF6eUlt
YWdlTG9hZFN0YXRlOjpEZWZlcnJlZDsKICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC5zZXRJ
Z25vcmVGb3JSZXF1ZXN0Q291bnQodHJ1ZSk7CiAgICAgICAgICAgICAgICAgfQpJbmRleDogU291
cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmNwcAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNl
L1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTcsNyAr
MTE3LDcgQEAgdm9pZCBMaW5rTG9hZGVyOjpsb2FkTGlua3NGcm9tSGVhZGVyKGNvbgogICAgIH0K
IH0KIAotT3B0aW9uYWw8Q2FjaGVkUmVzb3VyY2U6OlR5cGU+IExpbmtMb2FkZXI6OnJlc291cmNl
VHlwZUZyb21Bc0F0dHJpYnV0ZShjb25zdCBTdHJpbmcmIGFzKQorT3B0aW9uYWw8Q2FjaGVkUmVz
b3VyY2U6OlR5cGU+IExpbmtMb2FkZXI6OnJlc291cmNlVHlwZUZyb21Bc0F0dHJpYnV0ZShjb25z
dCBTdHJpbmcmIGFzLCBEb2N1bWVudCYgZG9jdW1lbnQpCiB7CiAgICAgaWYgKGVxdWFsTGV0dGVy
c0lnbm9yaW5nQVNDSUlDYXNlKGFzLCAiZmV0Y2giKSkKICAgICAgICAgcmV0dXJuIENhY2hlZFJl
c291cmNlOjpUeXBlOjpSYXdSZXNvdXJjZTsKQEAgLTEyNyw3ICsxMjcsNyBAQCBPcHRpb25hbDxD
YWNoZWRSZXNvdXJjZTo6VHlwZT4gTGlua0xvYWRlCiAgICAgICAgIHJldHVybiBDYWNoZWRSZXNv
dXJjZTo6VHlwZTo6U2NyaXB0OwogICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2Fz
ZShhcywgInN0eWxlIikpCiAgICAgICAgIHJldHVybiBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6Q1NT
U3R5bGVTaGVldDsKLSAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVy
ZXMoKS5tZWRpYVByZWxvYWRpbmdFbmFibGVkKCkgJiYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVND
SUlDYXNlKGFzLCAidmlkZW8iKSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShhcywg
ImF1ZGlvIikpKQorICAgIGlmIChkb2N1bWVudC5zZXR0aW5ncygpLm1lZGlhUHJlbG9hZGluZ0Vu
YWJsZWQoKSAmJiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoYXMsICJ2aWRlbyIpIHx8
IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGFzLCAiYXVkaW8iKSkpCiAgICAgICAgIHJl
dHVybiBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TWVkaWFSZXNvdXJjZTsKICAgICBpZiAoZXF1YWxM
ZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoYXMsICJmb250IikpCiAgICAgICAgIHJldHVybiBDYWNo
ZWRSZXNvdXJjZTo6VHlwZTo6Rm9udFJlc291cmNlOwpAQCAtMTM2LDcgKzEzNiw3IEBAIE9wdGlv
bmFsPENhY2hlZFJlc291cmNlOjpUeXBlPiBMaW5rTG9hZGUKICAgICByZXR1cm4gV1RGOjpudWxs
b3B0OwogfQogCi1zdGF0aWMgc3RkOjp1bmlxdWVfcHRyPExpbmtQcmVsb2FkUmVzb3VyY2VDbGll
bnQ+IGNyZWF0ZUxpbmtQcmVsb2FkUmVzb3VyY2VDbGllbnQoQ2FjaGVkUmVzb3VyY2UmIHJlc291
cmNlLCBMaW5rTG9hZGVyJiBsb2FkZXIpCitzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPExpbmtQcmVs
b2FkUmVzb3VyY2VDbGllbnQ+IGNyZWF0ZUxpbmtQcmVsb2FkUmVzb3VyY2VDbGllbnQoQ2FjaGVk
UmVzb3VyY2UmIHJlc291cmNlLCBMaW5rTG9hZGVyJiBsb2FkZXIsIERvY3VtZW50JiBkb2N1bWVu
dCkKIHsKICAgICBzd2l0Y2ggKHJlc291cmNlLnR5cGUoKSkgewogICAgIGNhc2UgQ2FjaGVkUmVz
b3VyY2U6OlR5cGU6OkltYWdlUmVzb3VyY2U6CkBAIC0xNTAsNyArMTUwLDcgQEAgc3RhdGljIHN0
ZDo6dW5pcXVlX3B0cjxMaW5rUHJlbG9hZFJlc291cgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6
OlR5cGU6OlRleHRUcmFja1Jlc291cmNlOgogICAgICAgICByZXR1cm4gbWFrZVVuaXF1ZTxMaW5r
UHJlbG9hZERlZmF1bHRSZXNvdXJjZUNsaWVudD4obG9hZGVyLCBkb3duY2FzdDxDYWNoZWRUZXh0
VHJhY2s+KHJlc291cmNlKSk7CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TWVkaWFS
ZXNvdXJjZToKLSAgICAgICAgQVNTRVJUKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZl
YXR1cmVzKCkubWVkaWFQcmVsb2FkaW5nRW5hYmxlZCgpKTsKKyAgICAgICAgQVNTRVJUX1VOVVNF
RChkb2N1bWVudCwgZG9jdW1lbnQuc2V0dGluZ3MoKS5tZWRpYVByZWxvYWRpbmdFbmFibGVkKCkp
OwogICAgICAgICBGQUxMVEhST1VHSDsKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpS
YXdSZXNvdXJjZToKICAgICAgICAgcmV0dXJuIG1ha2VVbmlxdWU8TGlua1ByZWxvYWRSYXdSZXNv
dXJjZUNsaWVudD4obG9hZGVyLCBkb3duY2FzdDxDYWNoZWRSYXdSZXNvdXJjZT4ocmVzb3VyY2Up
KTsKQEAgLTE3NSw3ICsxNzUsNyBAQCBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPExpbmtQcmVsb2Fk
UmVzb3VyCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLWJvb2wgTGlua0xvYWRlcjo6aXNTdXBw
b3J0ZWRUeXBlKENhY2hlZFJlc291cmNlOjpUeXBlIHJlc291cmNlVHlwZSwgY29uc3QgU3RyaW5n
JiBtaW1lVHlwZSkKK2Jvb2wgTGlua0xvYWRlcjo6aXNTdXBwb3J0ZWRUeXBlKENhY2hlZFJlc291
cmNlOjpUeXBlIHJlc291cmNlVHlwZSwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgRG9jdW1lbnQm
IGRvY3VtZW50KQogewogICAgIGlmIChtaW1lVHlwZS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVy
biB0cnVlOwpAQCAtMTg5LDcgKzE4OSw3IEBAIGJvb2wgTGlua0xvYWRlcjo6aXNTdXBwb3J0ZWRU
eXBlKENhY2hlZFIKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpGb250UmVzb3VyY2U6
CiAgICAgICAgIHJldHVybiBNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZEZvbnRNSU1FVHlw
ZShtaW1lVHlwZSk7CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TWVkaWFSZXNvdXJj
ZToKLSAgICAgICAgaWYgKCFSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygp
Lm1lZGlhUHJlbG9hZGluZ0VuYWJsZWQoKSkKKyAgICAgICAgaWYgKCFkb2N1bWVudC5zZXR0aW5n
cygpLm1lZGlhUHJlbG9hZGluZ0VuYWJsZWQoKSkKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwogICAgICAgICByZXR1cm4gTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRNZWRp
YU1JTUVUeXBlKG1pbWVUeXBlKTsKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpUZXh0
VHJhY2tSZXNvdXJjZToKQEAgLTIzMSwxNCArMjMxLDE0IEBAIHN0ZDo6dW5pcXVlX3B0cjxMaW5r
UHJlbG9hZFJlc291cmNlQ2xpZW4KICAgICBpZiAoIWRvY3VtZW50LmxvYWRlcigpIHx8ICFwYXJh
bXMucmVsQXR0cmlidXRlLmlzTGlua1ByZWxvYWQpCiAgICAgICAgIHJldHVybiBudWxscHRyOwog
Ci0gICAgQVNTRVJUKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkubGlu
a1ByZWxvYWRFbmFibGVkKCkpOwotICAgIGF1dG8gdHlwZSA9IExpbmtMb2FkZXI6OnJlc291cmNl
VHlwZUZyb21Bc0F0dHJpYnV0ZShwYXJhbXMuYXMpOworICAgIEFTU0VSVChkb2N1bWVudC5zZXR0
aW5ncygpLmxpbmtQcmVsb2FkRW5hYmxlZCgpKTsKKyAgICBhdXRvIHR5cGUgPSBMaW5rTG9hZGVy
OjpyZXNvdXJjZVR5cGVGcm9tQXNBdHRyaWJ1dGUocGFyYW1zLmFzLCBkb2N1bWVudCk7CiAgICAg
aWYgKCF0eXBlKSB7CiAgICAgICAgIGRvY3VtZW50LmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VT
b3VyY2U6Ok90aGVyLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiPGxpbmsgcmVsPXByZWxvYWQ+IG11
c3QgaGF2ZSBhIHZhbGlkIGBhc2AgdmFsdWUiX3MpOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsK
ICAgICB9CiAgICAgVVJMIHVybDsKLSAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5saW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVkKCkgJiYgdHlw
ZSA9PSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6SW1hZ2VSZXNvdXJjZSAmJiAhcGFyYW1zLmltYWdl
U3JjU2V0LmlzRW1wdHkoKSkgeworICAgIGlmIChkb2N1bWVudC5zZXR0aW5ncygpLmxpbmtQcmVs
b2FkUmVzcG9uc2l2ZUltYWdlc0VuYWJsZWQoKSAmJiB0eXBlID09IENhY2hlZFJlc291cmNlOjpU
eXBlOjpJbWFnZVJlc291cmNlICYmICFwYXJhbXMuaW1hZ2VTcmNTZXQuaXNFbXB0eSgpKSB7CiAg
ICAgICAgIGF1dG8gc291cmNlU2l6ZSA9IFNpemVzQXR0cmlidXRlUGFyc2VyKHBhcmFtcy5pbWFn
ZVNpemVzLCBkb2N1bWVudCkubGVuZ3RoKCk7CiAgICAgICAgIGF1dG8gY2FuZGlkYXRlID0gYmVz
dEZpdFNvdXJjZUZvckltYWdlQXR0cmlidXRlcyhkb2N1bWVudC5kZXZpY2VTY2FsZUZhY3Rvcigp
LCBwYXJhbXMuaHJlZi5zdHJpbmcoKSwgcGFyYW1zLmltYWdlU3JjU2V0LCBzb3VyY2VTaXplKTsK
ICAgICAgICAgdXJsID0gZG9jdW1lbnQuY29tcGxldGVVUkwoVVJMKHsgfSwgY2FuZGlkYXRlLnN0
cmluZy50b1N0cmluZygpKS5zdHJpbmcoKSk7CkBAIC0yNTQsNyArMjU0LDcgQEAgc3RkOjp1bmlx
dWVfcHRyPExpbmtQcmVsb2FkUmVzb3VyY2VDbGllbgogICAgIH0KICAgICBpZiAoIU1lZGlhUXVl
cnlFdmFsdWF0b3I6Om1lZGlhQXR0cmlidXRlTWF0Y2hlcyhkb2N1bWVudCwgcGFyYW1zLm1lZGlh
KSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgaWYgKCFpc1N1cHBvcnRlZFR5cGUodHlw
ZS52YWx1ZSgpLCBwYXJhbXMubWltZVR5cGUpKQorICAgIGlmICghaXNTdXBwb3J0ZWRUeXBlKHR5
cGUudmFsdWUoKSwgcGFyYW1zLm1pbWVUeXBlLCBkb2N1bWVudCkpCiAgICAgICAgIHJldHVybiBu
dWxscHRyOwogCiAgICAgYXV0byBvcHRpb25zID0gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmRlZmF1
bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKTsKQEAgLTI3MSw3ICsyNzEsNyBAQCBzdGQ6OnVuaXF1
ZV9wdHI8TGlua1ByZWxvYWRSZXNvdXJjZUNsaWVuCiAgICAgICAgIHJldHVybiBudWxscHRyOwog
CiAgICAgaWYgKGNhY2hlZExpbmtSZXNvdXJjZSAmJiBsb2FkZXIpCi0gICAgICAgIHJldHVybiBj
cmVhdGVMaW5rUHJlbG9hZFJlc291cmNlQ2xpZW50KCpjYWNoZWRMaW5rUmVzb3VyY2UsICpsb2Fk
ZXIpOworICAgICAgICByZXR1cm4gY3JlYXRlTGlua1ByZWxvYWRSZXNvdXJjZUNsaWVudCgqY2Fj
aGVkTGlua1Jlc291cmNlLCAqbG9hZGVyLCBkb2N1bWVudCk7CiAgICAgcmV0dXJuIG51bGxwdHI7
CiB9CiAKQEAgLTI4MCw3ICsyODAsNyBAQCB2b2lkIExpbmtMb2FkZXI6OnByZWZldGNoSWZOZWVk
ZWQoY29uc3QgCiAgICAgaWYgKCFwYXJhbXMuaHJlZi5pc1ZhbGlkKCkgfHwgIWRvY3VtZW50LmZy
YW1lKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIEFTU0VSVChSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzaGFyZWRGZWF0dXJlcygpLmxpbmtQcmVmZXRjaEVuYWJsZWQoKSk7CisgICAgQVNTRVJU
KGRvY3VtZW50LnNldHRpbmdzKCkubGlua1ByZWZldGNoRW5hYmxlZCgpKTsKICAgICBPcHRpb25h
bDxSZXNvdXJjZUxvYWRQcmlvcml0eT4gcHJpb3JpdHk7CiAgICAgQ2FjaGVkUmVzb3VyY2U6OlR5
cGUgdHlwZSA9IENhY2hlZFJlc291cmNlOjpUeXBlOjpMaW5rUHJlZmV0Y2g7CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIuaAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dl
YkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNjMsMTEgKzYzLDEx
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5MaW5rTG9hZGVyKCk7CiAKICAgICB2b2lkIGxvYWRM
aW5rKGNvbnN0IExpbmtMb2FkUGFyYW1ldGVycyYsIERvY3VtZW50Jik7Ci0gICAgc3RhdGljIE9w
dGlvbmFsPENhY2hlZFJlc291cmNlOjpUeXBlPiByZXNvdXJjZVR5cGVGcm9tQXNBdHRyaWJ1dGUo
Y29uc3QgU3RyaW5nJiBhcyk7CisgICAgc3RhdGljIE9wdGlvbmFsPENhY2hlZFJlc291cmNlOjpU
eXBlPiByZXNvdXJjZVR5cGVGcm9tQXNBdHRyaWJ1dGUoY29uc3QgU3RyaW5nJiwgRG9jdW1lbnQm
KTsKIAogICAgIGVudW0gY2xhc3MgTWVkaWFBdHRyaWJ1dGVDaGVjayB7IE1lZGlhQXR0cmlidXRl
RW1wdHksIE1lZGlhQXR0cmlidXRlTm90RW1wdHksIFNraXBNZWRpYUF0dHJpYnV0ZUNoZWNrIH07
CiAgICAgc3RhdGljIHZvaWQgbG9hZExpbmtzRnJvbUhlYWRlcihjb25zdCBTdHJpbmcmIGhlYWRl
clZhbHVlLCBjb25zdCBVUkwmIGJhc2VVUkwsIERvY3VtZW50JiwgTWVkaWFBdHRyaWJ1dGVDaGVj
ayk7Ci0gICAgc3RhdGljIGJvb2wgaXNTdXBwb3J0ZWRUeXBlKENhY2hlZFJlc291cmNlOjpUeXBl
LCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlKTsKKyAgICBzdGF0aWMgYm9vbCBpc1N1cHBvcnRlZFR5
cGUoQ2FjaGVkUmVzb3VyY2U6OlR5cGUsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIERvY3VtZW50
Jik7CiAKICAgICB2b2lkIHRyaWdnZXJFdmVudHMoY29uc3QgQ2FjaGVkUmVzb3VyY2UmKTsKICAg
ICB2b2lkIGNhbmNlbExvYWQoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwJKHJl
dmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAkod29y
a2luZyBjb3B5KQpAQCAtNTcsNyArNTcsNyBAQCB0eXBlZGVmIFVTVlN0cmluZyBDU1NPTVN0cmlu
ZzsKICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7CiAgICAgW0RvTm90Q2hlY2tTZWN1cml0
eSwgUHV0Rm9yd2FyZHM9aHJlZiwgVW5mb3JnZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBMb2Nh
dGlvbiBsb2NhdGlvbjsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgSGlzdG9yeSBoaXN0b3J5Owot
ICAgIFtFbmFibGVkQXRSdW50aW1lPUN1c3RvbUVsZW1lbnRzLCBJbXBsZW1lbnRlZEFzPWVuc3Vy
ZUN1c3RvbUVsZW1lbnRSZWdpc3RyeV0gcmVhZG9ubHkgYXR0cmlidXRlIEN1c3RvbUVsZW1lbnRS
ZWdpc3RyeSBjdXN0b21FbGVtZW50czsKKyAgICBbRW5hYmxlZEJ5U2V0dGluZz1DdXN0b21FbGVt
ZW50cywgSW1wbGVtZW50ZWRBcz1lbnN1cmVDdXN0b21FbGVtZW50UmVnaXN0cnldIHJlYWRvbmx5
IGF0dHJpYnV0ZSBDdXN0b21FbGVtZW50UmVnaXN0cnkgY3VzdG9tRWxlbWVudHM7CiAgICAgW1Jl
cGxhY2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgQmFyUHJvcCBsb2NhdGlvbmJhcjsKICAgICBb
UmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBCYXJQcm9wIG1lbnViYXI7CiAgICAgW1Jl
cGxhY2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgQmFyUHJvcCBwZXJzb25hbGJhcjsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXIuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXIuaWRsCShyZXZpc2lv
biAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNyBAQAogWwogICAgIEFjdGl2ZURPTU9iamVj
dCwKICAgICBDb25kaXRpb25hbD1JTlRFUlNFQ1RJT05fT0JTRVJWRVIsCi0gICAgRW5hYmxlZEF0
UnVudGltZT1JbnRlcnNlY3Rpb25PYnNlcnZlcgorICAgIEVuYWJsZWRCeVNldHRpbmc9SW50ZXJz
ZWN0aW9uT2JzZXJ2ZXIKIF0gaW50ZXJmYWNlIEludGVyc2VjdGlvbk9ic2VydmVyIHsKICAgICBb
Q2FsbFdpdGg9RG9jdW1lbnQsIE1heVRocm93RXhjZXB0aW9uXSBjb25zdHJ1Y3RvcihJbnRlcnNl
Y3Rpb25PYnNlcnZlckNhbGxiYWNrIGNhbGxiYWNrLCBvcHRpb25hbCBJbnRlcnNlY3Rpb25PYnNl
cnZlckluaXQgb3B0aW9ucyk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0
aW9uT2JzZXJ2ZXJFbnRyeS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9J
bnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5LmlkbAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNl
L1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5LmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMzAsNyArMzAsNyBAQCB0eXBlZGVmIGRvdWJsZSBET01IaWdoUmVzVGltZVN0YW1wOwog
WwogICAgIENvbmRpdGlvbmFsPUlOVEVSU0VDVElPTl9PQlNFUlZFUiwKICAgICBJbXBsZW1lbnRh
dGlvbkxhY2tzVlRhYmxlLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9SW50ZXJzZWN0aW9uT2JzZXJ2
ZXIsCisgICAgRW5hYmxlZEJ5U2V0dGluZz1JbnRlcnNlY3Rpb25PYnNlcnZlciwKICAgICBKU0N1
c3RvbU1hcmtGdW5jdGlvbiwKIF0gaW50ZXJmYWNlIEludGVyc2VjdGlvbk9ic2VydmVyRW50cnkg
ewogICAgIGNvbnN0cnVjdG9yKEludGVyc2VjdGlvbk9ic2VydmVyRW50cnlJbml0IGludGVyc2Vj
dGlvbk9ic2VydmVyRW50cnlJbml0KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdh
dG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAJ
KHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTI0LDE2ICsxMjQsMTYgQEAgc3RhdGljIE9wdGlvbmFsPFVSTD4g
c2hhcmVhYmxlVVJMRm9yU2hhcgogICAgIHJldHVybiB1cmw7CiB9CiAKLWJvb2wgTmF2aWdhdG9y
OjpjYW5TaGFyZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBjb25zdCBTaGFyZURh
dGEmIGRhdGEpCitib29sIE5hdmlnYXRvcjo6Y2FuU2hhcmUoRG9jdW1lbnQmIGRvY3VtZW50LCBj
b25zdCBTaGFyZURhdGEmIGRhdGEpCiB7CiAgICAgYXV0byogZnJhbWUgPSB0aGlzLT5mcmFtZSgp
OwogICAgIGlmICghZnJhbWUgfHwgIWZyYW1lLT5wYWdlKCkpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAogICAgIGJvb2wgaGFzU2hhcmVhYmxlVGl0bGVPclRleHQgPSAhZGF0YS50aXRsZS5pc051
bGwoKSB8fCAhZGF0YS50ZXh0LmlzTnVsbCgpOwotICAgIGJvb2wgaGFzU2hhcmVhYmxlVVJMID0g
ISFzaGFyZWFibGVVUkxGb3JTaGFyZURhdGEoY29udGV4dCwgZGF0YSk7CisgICAgYm9vbCBoYXNT
aGFyZWFibGVVUkwgPSAhIXNoYXJlYWJsZVVSTEZvclNoYXJlRGF0YShkb2N1bWVudCwgZGF0YSk7
CiAjaWYgRU5BQkxFKEZJTEVfU0hBUkUpCi0gICAgYm9vbCBoYXNTaGFyZWFibGVGaWxlcyA9IFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkud2ViU2hhcmVGaWxlQVBJRW5h
YmxlZCgpICYmICFkYXRhLmZpbGVzLmlzRW1wdHkoKTsKKyAgICBib29sIGhhc1NoYXJlYWJsZUZp
bGVzID0gZG9jdW1lbnQuc2V0dGluZ3MoKS53ZWJTaGFyZUZpbGVBUElFbmFibGVkKCkgJiYgIWRh
dGEuZmlsZXMuaXNFbXB0eSgpOwogI2Vsc2UKICAgICBib29sIGhhc1NoYXJlYWJsZUZpbGVzID0g
ZmFsc2U7CiAjZW5kaWYKQEAgLTE0MSw5ICsxNDEsOSBAQCBib29sIE5hdmlnYXRvcjo6Y2FuU2hh
cmUoU2NyaXB0RXhlY3V0aW9uCiAgICAgcmV0dXJuIGhhc1NoYXJlYWJsZVRpdGxlT3JUZXh0IHx8
IGhhc1NoYXJlYWJsZVVSTCB8fCBoYXNTaGFyZWFibGVGaWxlczsKIH0KIAotdm9pZCBOYXZpZ2F0
b3I6OnNoYXJlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IFNoYXJlRGF0
YSYgZGF0YSwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQordm9pZCBOYXZpZ2F0b3I6
OnNoYXJlKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU2hhcmVEYXRhJiBkYXRhLCBSZWY8RGVm
ZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCiB7Ci0gICAgaWYgKCFjYW5TaGFyZShjb250ZXh0LCBk
YXRhKSkgeworICAgIGlmICghY2FuU2hhcmUoZG9jdW1lbnQsIGRhdGEpKSB7CiAgICAgICAgIHBy
b21pc2UtPnJlamVjdChUeXBlRXJyb3IpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTU1
LDIxICsxNTUsMjEgQEAgdm9pZCBOYXZpZ2F0b3I6OnNoYXJlKFNjcmlwdEV4ZWN1dGlvbkNvbgog
ICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgT3B0aW9uYWw8VVJMPiB1cmwgPSBzaGFyZWFi
bGVVUkxGb3JTaGFyZURhdGEoY29udGV4dCwgZGF0YSk7CisgICAgT3B0aW9uYWw8VVJMPiB1cmwg
PSBzaGFyZWFibGVVUkxGb3JTaGFyZURhdGEoZG9jdW1lbnQsIGRhdGEpOwogICAgIFNoYXJlRGF0
YVdpdGhQYXJzZWRVUkwgc2hhcmVEYXRhID0gewogICAgICAgICBkYXRhLAogICAgICAgICB1cmws
CiAgICAgICAgIHsgfSwKICAgICB9OwogI2lmIEVOQUJMRShGSUxFX1NIQVJFKQotICAgIGlmIChS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLndlYlNoYXJlRmlsZUFQSUVu
YWJsZWQoKSAmJiAhZGF0YS5maWxlcy5pc0VtcHR5KCkpIHsKKyAgICBpZiAoZG9jdW1lbnQuc2V0
dGluZ3MoKS53ZWJTaGFyZUZpbGVBUElFbmFibGVkKCkgJiYgIWRhdGEuZmlsZXMuaXNFbXB0eSgp
KSB7CiAgICAgICAgIGlmIChtX2xvYWRlcikKICAgICAgICAgICAgIG1fbG9hZGVyLT5jYW5jZWwo
KTsKICAgICAgICAgCiAgICAgICAgIG1fbG9hZGVyID0gU2hhcmVEYXRhUmVhZGVyOjpjcmVhdGUo
W3RoaXMsIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXSAoRXhjZXB0aW9uT3I8U2hhcmVEYXRh
V2l0aFBhcnNlZFVSTCY+IHJlYWREYXRhKSBtdXRhYmxlIHsKICAgICAgICAgICAgIHNob3dTaGFy
ZURhdGEocmVhZERhdGEsIFdURk1vdmUocHJvbWlzZSkpOwogICAgICAgICB9KTsKLSAgICAgICAg
bV9sb2FkZXItPnN0YXJ0KGZyYW1lKCktPmRvY3VtZW50KCksIFdURk1vdmUoc2hhcmVEYXRhKSk7
CisgICAgICAgIG1fbG9hZGVyLT5zdGFydCgmZG9jdW1lbnQsIFdURk1vdmUoc2hhcmVEYXRhKSk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvTmF2aWdhdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0
b3IuaAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3Iu
aAkod29ya2luZyBjb3B5KQpAQCAtNDksOCArNDksOCBAQCBwdWJsaWM6CiAgICAgU3RyaW5nIHBs
YXRmb3JtKCkgY29uc3QgZmluYWw7CiAgICAgdm9pZCB1c2VyQWdlbnRDaGFuZ2VkKCk7CiAgICAg
Ym9vbCBvbkxpbmUoKSBjb25zdCBmaW5hbDsKLSAgICBib29sIGNhblNoYXJlKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmLCBjb25zdCBTaGFyZURhdGEmKTsKLSAgICB2b2lkIHNoYXJlKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmLCBjb25zdCBTaGFyZURhdGEmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYm
KTsKKyAgICBib29sIGNhblNoYXJlKERvY3VtZW50JiwgY29uc3QgU2hhcmVEYXRhJik7CisgICAg
dm9pZCBzaGFyZShEb2N1bWVudCYsIGNvbnN0IFNoYXJlRGF0YSYsIFJlZjxEZWZlcnJlZFByb21p
c2U+JiYpOwogICAgIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgYm9vbCBzdGFuZGFs
b25lKCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclNoYXJlLmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclNoYXJlLmlkbAko
cmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JTaGFyZS5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDggKzI2LDggQEAKIAogWwogICAgIE5vSW50ZXJmYWNl
T2JqZWN0LAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViU2hhcmUKKyAgICBFbmFibGVkQnlTZXR0
aW5nPVdlYlNoYXJlCiBdIGludGVyZmFjZSBOYXZpZ2F0b3JTaGFyZSB7Ci0gICAgW0NhbGxXaXRo
PVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIFNlY3VyZUNvbnRleHRdIGJvb2xlYW4gY2FuU2hhcmUo
b3B0aW9uYWwgU2hhcmVEYXRhIHNoYXJlRGF0YSk7Ci0gICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQsIFNlY3VyZUNvbnRleHRdIFByb21pc2U8dW5kZWZpbmVkPiBzaGFyZShvcHRp
b25hbCBTaGFyZURhdGEgc2hhcmVEYXRhKTsKKyAgICBbQ2FsbFdpdGg9RG9jdW1lbnQsIFNlY3Vy
ZUNvbnRleHRdIGJvb2xlYW4gY2FuU2hhcmUob3B0aW9uYWwgU2hhcmVEYXRhIHNoYXJlRGF0YSk7
CisgICAgW0NhbGxXaXRoPURvY3VtZW50LCBTZWN1cmVDb250ZXh0XSBQcm9taXNlPHVuZGVmaW5l
ZD4gc2hhcmUob3B0aW9uYWwgU2hhcmVEYXRhIHNoYXJlRGF0YSk7CiB9OwpJbmRleDogU291cmNl
L1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCShyZXZpc2lvbiAy
NjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00MSw5ICs0MSw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6UnVudGltZUVuYWJsZWRGZWF0dXJlcygpCiB7Ci0jaWYg
RU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgUExBVEZPUk0oQ09DT0EpCi0gICAgbV9pc01lZGlhRGV2
aWNlc0VuYWJsZWQgPSBmYWxzZTsKLSNlbmRpZgogI2lmIFBMQVRGT1JNKFdBVENIT1MpCiAgICAg
bV9pc1dlYlNvY2tldEVuYWJsZWQgPSBmYWxzZTsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNv
cmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgJKHJldmlzaW9uIDI2NjMxMikKKysr
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCSh3b3JraW5nIGNv
cHkpCkBAIC00NCwxOCArNDQsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzKTsKIHB1YmxpYzoKLSAgICB2b2lkIHNldEJsYW5rQW5jaG9yVGFyZ2V0SW1wbGll
c05vT3BlbmVyRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2JsYW5rQW5jaG9yVGFyZ2V0SW1w
bGllc05vT3BlbmVyRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotICAgIGJvb2wgYmxhbmtBbmNob3JU
YXJnZXRJbXBsaWVzTm9PcGVuZXJFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9ibGFua0FuY2hv
clRhcmdldEltcGxpZXNOb09wZW5lckVuYWJsZWQ7IH0KLQotICAgIHZvaWQgc2V0TGlua1ByZWxv
YWRFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNMaW5rUHJlbG9hZEVuYWJsZWQgPSBpc0Vu
YWJsZWQ7IH0KLSAgICBib29sIGxpbmtQcmVsb2FkRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1f
aXNMaW5rUHJlbG9hZEVuYWJsZWQ7IH0KLQotICAgIHZvaWQgc2V0TGlua1ByZWZldGNoRW5hYmxl
ZChib29sIGlzRW5hYmxlZCkgeyBtX2lzTGlua1ByZWZldGNoRW5hYmxlZCA9IGlzRW5hYmxlZDsg
fQotICAgIGJvb2wgbGlua1ByZWZldGNoRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNMaW5r
UHJlZmV0Y2hFbmFibGVkOyB9Ci0KLSAgICB2b2lkIHNldE1lZGlhUHJlbG9hZGluZ0VuYWJsZWQo
Ym9vbCBpc0VuYWJsZWQpIHsgbV9pc01lZGlhUHJlbG9hZGluZ0VuYWJsZWQgPSBpc0VuYWJsZWQ7
IH0KLSAgICBib29sIG1lZGlhUHJlbG9hZGluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lz
TWVkaWFQcmVsb2FkaW5nRW5hYmxlZDsgfQotCiAgICAgdm9pZCBzZXRSZXNvdXJjZVRpbWluZ0Vu
YWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1Jlc291cmNlVGltaW5nRW5hYmxlZCA9IGlzRW5h
YmxlZDsgfQogICAgIGJvb2wgcmVzb3VyY2VUaW1pbmdFbmFibGVkKCkgY29uc3QgeyByZXR1cm4g
bV9pc1Jlc291cmNlVGltaW5nRW5hYmxlZDsgfQogCkBAIC03MCwzOSArNTgsMTggQEAgcHVibGlj
OgogICAgIHZvaWQgc2V0U2hhZG93RE9NRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzU2hh
ZG93RE9NRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogICAgIGJvb2wgc2hhZG93RE9NRW5hYmxlZCgp
IGNvbnN0IHsgcmV0dXJuIG1faXNTaGFkb3dET01FbmFibGVkOyB9CiAKLSAgICB2b2lkIHNldElu
cHV0RXZlbnRzRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lucHV0RXZlbnRzRW5hYmxlZCA9
IGlzRW5hYmxlZDsgfQotICAgIGJvb2wgaW5wdXRFdmVudHNFbmFibGVkKCkgY29uc3QgeyByZXR1
cm4gbV9pbnB1dEV2ZW50c0VuYWJsZWQ7IH0KLQotICAgIHZvaWQgc2V0SW50ZXJhY3RpdmVGb3Jt
VmFsaWRhdGlvbkVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc0ludGVyYWN0aXZlRm9ybVZh
bGlkYXRpb25FbmFibGVkID0gaXNFbmFibGVkOyB9Ci0gICAgYm9vbCBpbnRlcmFjdGl2ZUZvcm1W
YWxpZGF0aW9uRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNJbnRlcmFjdGl2ZUZvcm1WYWxp
ZGF0aW9uRW5hYmxlZDsgfQotCi0gICAgdm9pZCBzZXRDdXN0b21FbGVtZW50c0VuYWJsZWQoYm9v
bCBhcmVFbmFibGVkKSB7IG1fYXJlQ3VzdG9tRWxlbWVudHNFbmFibGVkID0gYXJlRW5hYmxlZDsg
fQotICAgIGJvb2wgY3VzdG9tRWxlbWVudHNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9hcmVD
dXN0b21FbGVtZW50c0VuYWJsZWQ7IH0KLQogICAgIHZvaWQgc2V0TWVudUl0ZW1FbGVtZW50RW5h
YmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzTWVudUl0ZW1FbGVtZW50RW5hYmxlZCA9IGlzRW5h
YmxlZDsgfQogICAgIGJvb2wgbWVudUl0ZW1FbGVtZW50RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJu
IG1faXNNZW51SXRlbUVsZW1lbnRFbmFibGVkOyB9CiAKICAgICB2b2lkIHNldERpcmVjdG9yeVVw
bG9hZEVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc0RpcmVjdG9yeVVwbG9hZEVuYWJsZWQg
PSBpc0VuYWJsZWQ7IH0KICAgICBib29sIGRpcmVjdG9yeVVwbG9hZEVuYWJsZWQoKSBjb25zdCB7
IHJldHVybiBtX2lzRGlyZWN0b3J5VXBsb2FkRW5hYmxlZDsgfQogCi0gICAgdm9pZCBzZXREYXRh
VHJhbnNmZXJJdGVtc0VuYWJsZWQoYm9vbCBhcmVFbmFibGVkKSB7IG1fYXJlRGF0YVRyYW5zZmVy
SXRlbXNFbmFibGVkID0gYXJlRW5hYmxlZDsgfQotICAgIGJvb2wgZGF0YVRyYW5zZmVySXRlbXNF
bmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9hcmVEYXRhVHJhbnNmZXJJdGVtc0VuYWJsZWQ7IH0K
LQogICAgIHZvaWQgc2V0Q3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVkKGJvb2wgaXNFbmFibGVk
KSB7IG1faXNDdXN0b21QYXN0ZWJvYXJkRGF0YUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBi
b29sIGN1c3RvbVBhc3RlYm9hcmREYXRhRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNDdXN0
b21QYXN0ZWJvYXJkRGF0YUVuYWJsZWQ7IH0KIAotICAgIHZvaWQgc2V0V2ViU2hhcmVFbmFibGVk
KGJvb2wgaXNFbmFibGVkKSB7IG1faXNXZWJTaGFyZUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAg
ICBib29sIHdlYlNoYXJlRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNXZWJTaGFyZUVuYWJs
ZWQ7IH0KLQogICAgIHZvaWQgc2V0TW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQoYm9vbCBhcmVF
bmFibGVkKSB7IG1fYXJlTW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQgPSBhcmVFbmFibGVkOyB9
CiAgICAgYm9vbCBtb2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1f
YXJlTW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQ7IH0KIAotICAgIHZvaWQgc2V0V2ViQXV0aGVu
dGljYXRpb25FbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNXZWJBdXRoZW50aWNhdGlvbkVu
YWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAgICBib29sIHdlYkF1dGhlbnRpY2F0aW9uRW5hYmxlZCgp
IGNvbnN0IHsgcmV0dXJuIG1faXNXZWJBdXRoZW50aWNhdGlvbkVuYWJsZWQ7IH0KLQotICAgIHZv
aWQgc2V0V2ViQXV0aGVudGljYXRpb25Mb2NhbEF1dGhlbnRpY2F0b3JFbmFibGVkKGJvb2wgaXNF
bmFibGVkKSB7IG1faXNXZWJBdXRoZW50aWNhdGlvbkxvY2FsQXV0aGVudGljYXRvckVuYWJsZWQg
PSBpc0VuYWJsZWQ7IH0KLSAgICBib29sIHdlYkF1dGhlbnRpY2F0aW9uTG9jYWxBdXRoZW50aWNh
dG9yRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNXZWJBdXRoZW50aWNhdGlvbkxvY2FsQXV0
aGVudGljYXRvckVuYWJsZWQ7IH0KLQogICAgIHZvaWQgc2V0SXNTZWN1cmVDb250ZXh0QXR0cmli
dXRlRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVu
YWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIGlzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVu
YWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVuYWJsZWQ7
IH0KIApAQCAtMTcwLDIxICsxMzcsMTIgQEAgcHVibGljOgogICAgIHZvaWQgc2V0RXhwZXJpbWVu
dGFsUGx1Z0luU2FuZGJveFByb2ZpbGVzRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2V4cGVy
aW1lbnRhbFBsdWdJblNhbmRib3hQcm9maWxlc0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBi
b29sIGV4cGVyaW1lbnRhbFBsdWdJblNhbmRib3hQcm9maWxlc0VuYWJsZWQoKSBjb25zdCB7IHJl
dHVybiBtX2V4cGVyaW1lbnRhbFBsdWdJblNhbmRib3hQcm9maWxlc0VuYWJsZWQ7IH0KIAotICAg
IHZvaWQgc2V0RGlzYWJsZWRBZGFwdGF0aW9uc01ldGFUYWdFbmFibGVkKGJvb2wgaXNFbmFibGVk
KSB7IG1fZGlzYWJsZWRBZGFwdGF0aW9uc01ldGFUYWdFbmFibGVkID0gaXNFbmFibGVkOyB9Ci0g
ICAgYm9vbCBkaXNhYmxlZEFkYXB0YXRpb25zTWV0YVRhZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVy
biBtX2Rpc2FibGVkQWRhcHRhdGlvbnNNZXRhVGFnRW5hYmxlZDsgfQotCiAgICAgdm9pZCBzZXRB
dHRyU3R5bGVFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fYXR0clN0eWxlRW5hYmxlZCA9IGlz
RW5hYmxlZDsgfQogICAgIGJvb2wgYXR0clN0eWxlRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1f
YXR0clN0eWxlRW5hYmxlZDsgfQogCiAgICAgdm9pZCBzZXRXZWJBUElTdGF0aXN0aWNzRW5hYmxl
ZChib29sIGlzRW5hYmxlZCkgeyBtX3dlYkFQSVN0YXRpc3RpY3NFbmFibGVkID0gaXNFbmFibGVk
OyB9CiAgICAgYm9vbCB3ZWJBUElTdGF0aXN0aWNzRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1f
d2ViQVBJU3RhdGlzdGljc0VuYWJsZWQ7IH0KIAotICAgIHZvaWQgc2V0Q1NTQ3VzdG9tUHJvcGVy
dGllc0FuZFZhbHVlc0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9DU1NDdXN0b21Qcm9wZXJ0
aWVzQW5kVmFsdWVzRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotICAgIGJvb2wgY3NzQ3VzdG9tUHJv
cGVydGllc0FuZFZhbHVlc0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX0NTU0N1c3RvbVByb3Bl
cnRpZXNBbmRWYWx1ZXNFbmFibGVkOyB9Ci0KLSAgICB2b2lkIHNldFN5bnRoZXRpY0VkaXRpbmdD
b21tYW5kc0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9zeW50aGV0aWNFZGl0aW5nQ29tbWFu
ZHNFbmFibGVkID0gaXNFbmFibGVkOyB9Ci0gICAgYm9vbCBzeW50aGV0aWNFZGl0aW5nQ29tbWFu
ZHNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9zeW50aGV0aWNFZGl0aW5nQ29tbWFuZHNFbmFi
bGVkOyB9Ci0KICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKICAgICB2b2lk
IHNldExheW91dEZvcm1hdHRpbmdDb250ZXh0RW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2xh
eW91dEZvcm1hdHRpbmdDb250ZXh0RW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogICAgIGJvb2wgbGF5
b3V0Rm9ybWF0dGluZ0NvbnRleHRFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9sYXlvdXRGb3Jt
YXR0aW5nQ29udGV4dEVuYWJsZWQ7IH0KQEAgLTIyOCwxNyArMTg2LDYgQEAgcHVibGljOgogICAg
IGJvb2wgdXNlckdlc3R1cmVQcm9taXNlUHJvcGFnYXRpb25FbmFibGVkKCkgY29uc3QgeyByZXR1
cm4gbV91c2VyR2VzdHVyZVByb21pc2VQcm9wYWdhdGlvbkVuYWJsZWQ7IH0KICAgICB2b2lkIHNl
dFVzZXJHZXN0dXJlUHJvbWlzZVByb3BhZ2F0aW9uRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBt
X3VzZXJHZXN0dXJlUHJvbWlzZVByb3BhZ2F0aW9uRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogCi0j
aWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLSAgICBib29sIG1lZGlhUmVjb3JkZXJFbmFibGVkKCkg
Y29uc3QgeyByZXR1cm4gbV9pc01lZGlhUmVjb3JkZXJFbmFibGVkOyB9Ci0gICAgdm9pZCBzZXRN
ZWRpYVJlY29yZGVyRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzTWVkaWFSZWNvcmRlckVu
YWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAgICBib29sIG1lZGlhRGV2aWNlc0VuYWJsZWQoKSBjb25z
dCB7IHJldHVybiBtX2lzTWVkaWFEZXZpY2VzRW5hYmxlZDsgfQotICAgIHZvaWQgc2V0TWVkaWFE
ZXZpY2VzRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzTWVkaWFEZXZpY2VzRW5hYmxlZCA9
IGlzRW5hYmxlZDsgfQotICAgIGJvb2wgbWVkaWFTdHJlYW1FbmFibGVkKCkgY29uc3QgeyByZXR1
cm4gbV9pc01lZGlhU3RyZWFtRW5hYmxlZDsgfQotICAgIHZvaWQgc2V0TWVkaWFTdHJlYW1FbmFi
bGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNNZWRpYVN0cmVhbUVuYWJsZWQgPSBpc0VuYWJsZWQ7
IH0KLSAgICBib29sIHNjcmVlbkNhcHR1cmVFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1Nj
cmVlbkNhcHR1cmVFbmFibGVkOyB9Ci0gICAgdm9pZCBzZXRTY3JlZW5DYXB0dXJlRW5hYmxlZChi
b29sIGlzRW5hYmxlZCkgeyBtX2lzU2NyZWVuQ2FwdHVyZUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0K
LSNlbmRpZgotCiAjaWYgRU5BQkxFKFdFQl9SVEMpCiAgICAgYm9vbCB3ZWJSVENEVE1GRW5hYmxl
ZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNXZWJSVENEVE1GRW5hYmxlZDsgfQogICAgIHZvaWQgc2V0
V2ViUlRDRFRNRkVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1dlYlJUQ0RUTUZFbmFibGVk
ID0gaXNFbmFibGVkOyB9CkBAIC0yNjgsMTEgKzIxNSw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNl
dERhdGFMaXN0RWxlbWVudEVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc0RhdGFMaXN0RWxl
bWVudEVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKEdBTUVQQUQp
Ci0gICAgdm9pZCBzZXRHYW1lcGFkc0VuYWJsZWQoYm9vbCBhcmVFbmFibGVkKSB7IG1fYXJlR2Ft
ZXBhZHNFbmFibGVkID0gYXJlRW5hYmxlZDsgfQotICAgIGJvb2wgZ2FtZXBhZHNFbmFibGVkKCkg
Y29uc3QgeyByZXR1cm4gbV9hcmVHYW1lcGFkc0VuYWJsZWQ7IH0KLSNlbmRpZgotCiAjaWYgRU5B
QkxFKFdFQkdMMikKICAgICB2b2lkIHNldFdlYkdMMkVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsg
bV9pc1dlYkdMMkVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIHdlYkdMMkVuYWJsZWQo
KSBjb25zdCB7IHJldHVybiBtX2lzV2ViR0wyRW5hYmxlZDsgfQpAQCAtMjk1LDUwICsyMzcsMTcg
QEAgcHVibGljOgogICAgIHZvaWQgc2V0VHJhbnNmb3JtU3RyZWFtQVBJRW5hYmxlZChib29sIGlz
RW5hYmxlZCkgeyBtX2lzVHJhbnNmb3JtU3RyZWFtQVBJRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQog
ICAgIGJvb2wgdHJhbnNmb3JtU3RyZWFtQVBJRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNU
cmFuc2Zvcm1TdHJlYW1BUElFbmFibGVkOyB9CiAKLSNpZiBFTkFCTEUoRE9XTkxPQURfQVRUUklC
VVRFKQotICAgIHZvaWQgc2V0RG93bmxvYWRBdHRyaWJ1dGVFbmFibGVkKGJvb2wgaXNFbmFibGVk
KSB7IG1faXNEb3dubG9hZEF0dHJpYnV0ZUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAgICBib29s
IGRvd25sb2FkQXR0cmlidXRlRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNEb3dubG9hZEF0
dHJpYnV0ZUVuYWJsZWQ7IH0KLSNlbmRpZgotCi0jaWYgRU5BQkxFKElOVEVSU0VDVElPTl9PQlNF
UlZFUikKLSAgICB2b2lkIHNldEludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZChib29sIGlzRW5h
YmxlZCkgeyBtX2ludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotICAg
IGJvb2wgaW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pbnRl
cnNlY3Rpb25PYnNlcnZlckVuYWJsZWQ7IH0KLSNlbmRpZgotCi0gICAgdm9pZCBzZXRVbmRvTWFu
YWdlckFQSUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV91bmRvTWFuYWdlckFQSUVuYWJsZWQg
PSBpc0VuYWJsZWQ7IH0KLSAgICBib29sIHVuZG9NYW5hZ2VyQVBJRW5hYmxlZCgpIGNvbnN0IHsg
cmV0dXJuIG1fdW5kb01hbmFnZXJBUElFbmFibGVkOyB9Ci0KLSNpZiBFTkFCTEUoRU5DUllQVEVE
X01FRElBKQotICAgIHZvaWQgc2V0RW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKGJvb2wgaXNFbmFi
bGVkKSB7IG1fZW5jcnlwdGVkTWVkaWFBUElFbmFibGVkID0gaXNFbmFibGVkOyB9Ci0gICAgYm9v
bCBlbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2VuY3J5cHRlZE1l
ZGlhQVBJRW5hYmxlZDsgfQotI2VuZGlmCi0KLSNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9N
RURJQSkKLSAgICB2b2lkIHNldExlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZChib29sIGlz
RW5hYmxlZCkgeyBtX2xlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZCA9IGlzRW5hYmxlZDsg
fQotICAgIGJvb2wgbGVnYWN5RW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKCkgY29uc3QgeyByZXR1
cm4gbV9sZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQ7IH0KLSNlbmRpZgotCiAjaWYgRU5B
QkxFKFNFUlZJQ0VfV09SS0VSKQogICAgIGJvb2wgc2VydmljZVdvcmtlckVuYWJsZWQoKSBjb25z
dCB7IHJldHVybiBtX3NlcnZpY2VXb3JrZXJFbmFibGVkOyB9CiAgICAgdm9pZCBzZXRTZXJ2aWNl
V29ya2VyRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX3NlcnZpY2VXb3JrZXJFbmFibGVkID0g
aXNFbmFibGVkOyB9CiAjZW5kaWYKIAotI2lmIFVTRShTWVNURU1fUFJFVklFVykKLSAgICB2b2lk
IHNldFN5c3RlbVByZXZpZXdFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fc3lzdGVtUHJldmll
d0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAgICBib29sIHN5c3RlbVByZXZpZXdFbmFibGVkKCkg
Y29uc3QgeyByZXR1cm4gbV9zeXN0ZW1QcmV2aWV3RW5hYmxlZDsgfQotI2VuZGlmCi0KICAgICB2
b2lkIHNldENTU0xvZ2ljYWxFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fQ1NTTG9naWNhbEVu
YWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIGNzc0xvZ2ljYWxFbmFibGVkKCkgY29uc3Qg
eyByZXR1cm4gbV9DU1NMb2dpY2FsRW5hYmxlZDsgfQogCi0gICAgdm9pZCBzZXRMZWdhY3lCZWZv
cmVMb2FkRXZlbnRFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fbGVnYWN5QmVmb3JlTG9hZEV2
ZW50RW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotICAgIGJvb2wgbGVnYWN5QmVmb3JlTG9hZEV2ZW50
RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVnYWN5QmVmb3JlTG9hZEV2ZW50RW5hYmxlZDsg
fQotCiAgICAgdm9pZCBzZXRMaW5lSGVpZ2h0VW5pdHNFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7
IG1fbGluZUhlaWdodFVuaXRzRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogICAgIGJvb2wgbGluZUhl
aWdodFVuaXRzRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fbGluZUhlaWdodFVuaXRzRW5hYmxl
ZDsgfQogCi0gICAgYm9vbCBhZENsaWNrQXR0cmlidXRpb25FbmFibGVkKCkgY29uc3QgeyByZXR1
cm4gbV9hZENsaWNrQXR0cmlidXRpb25FbmFibGVkOyB9Ci0gICAgdm9pZCBzZXRBZENsaWNrQXR0
cmlidXRpb25FbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fYWRDbGlja0F0dHJpYnV0aW9uRW5h
YmxlZCA9IGlzRW5hYmxlZDsgfQogICAgIGJvb2wgYWRDbGlja0F0dHJpYnV0aW9uRGVidWdNb2Rl
RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fYWRDbGlja0F0dHJpYnV0aW9uRGVidWdNb2RlRW5h
YmxlZDsgfQogICAgIHZvaWQgc2V0QWRDbGlja0F0dHJpYnV0aW9uRGVidWdNb2RlRW5hYmxlZChi
b29sIGlzRW5hYmxlZCkgeyBtX2FkQ2xpY2tBdHRyaWJ1dGlvbkRlYnVnTW9kZUVuYWJsZWQgPSBp
c0VuYWJsZWQ7IH0KIApAQCAtMzQ5LDIxICsyNTgsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRU
b3VjaEV2ZW50c0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV90b3VjaEV2ZW50c0VuYWJsZWQg
PSBpc0VuYWJsZWQ7IH0KICNlbmRpZgogCi0gICAgYm9vbCByZWZlcnJlclBvbGljeUF0dHJpYnV0
ZUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3JlZmVycmVyUG9saWN5QXR0cmlidXRlRW5hYmxl
ZDsgfQotICAgIHZvaWQgc2V0UmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGVFbmFibGVkKGJvb2wgaXNF
bmFibGVkKSB7IG1fcmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGVFbmFibGVkID0gaXNFbmFibGVkOyB9
Ci0KICAgICBib29sIHBhZ2VBdFJ1bGVTdXBwb3J0RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1f
cGFnZUF0UnVsZVN1cHBvcnRFbmFibGVkOyB9CiAgICAgdm9pZCBzZXRQYWdlQXRSdWxlU3VwcG9y
dEVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9wYWdlQXRSdWxlU3VwcG9ydEVuYWJsZWQgPSBp
c0VuYWJsZWQ7IH0KIAotICAgIGJvb2wgaW50ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5Q2hh
bmdlRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faW50ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmls
aXR5Q2hhbmdlRW5hYmxlZDsgfQotICAgIHZvaWQgc2V0SW50ZXJydXB0QXVkaW9PblBhZ2VWaXNp
YmlsaXR5Q2hhbmdlRW5hYmxlZChib29sIGVuYWJsZWQpIHsgbV9pbnRlcnJ1cHRBdWRpb09uUGFn
ZVZpc2liaWxpdHlDaGFuZ2VFbmFibGVkID0gZW5hYmxlZDsgfQotCi0gICAgYm9vbCBsaW5rUHJl
bG9hZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9saW5rUHJlbG9h
ZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVkOyB9Ci0gICAgdm9pZCBzZXRMaW5rUHJlbG9hZFJlc3Bv
bnNpdmVJbWFnZXNFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fbGlua1ByZWxvYWRSZXNwb25z
aXZlSW1hZ2VzRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotCi0gICAgdm9pZCBzZXRMYXp5SW1hZ2VM
b2FkaW5nRW5hYmxlZChib29sIGFyZUVuYWJsZWQpIHsgbV9sYXp5SW1hZ2VMb2FkaW5nRW5hYmxl
ZCA9IGFyZUVuYWJsZWQ7IH0KLSAgICBib29sIGxhenlJbWFnZUxvYWRpbmdFbmFibGVkKCkgY29u
c3QgeyByZXR1cm4gbV9sYXp5SW1hZ2VMb2FkaW5nRW5hYmxlZDsgfQotCiAgICAgdm9pZCBzZXRD
U1NTaGFkb3dQYXJ0c0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc0NTU1NoYWRvd1BhcnRz
RW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogICAgIGJvb2wgY3NzU2hhZG93UGFydHNFbmFibGVkKCkg
Y29uc3QgeyByZXR1cm4gbV9pc0NTU1NoYWRvd1BhcnRzRW5hYmxlZDsgfQogCkBAIC0zNzcsMjAg
KzI3NCwxMSBAQCBwdWJsaWM6CiAgICAgYm9vbCBzZWN1cmVDb250ZXh0Q2hlY2tzRW5hYmxlZCgp
IGNvbnN0IHsgcmV0dXJuIG1fc2VjdXJlQ29udGV4dENoZWNrc0VuYWJsZWQ7IH0KICAgICB2b2lk
IHNldFNlY3VyZUNvbnRleHRDaGVja3NFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fc2VjdXJl
Q29udGV4dENoZWNrc0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KIAotICAgIHZvaWQgc2V0SXNJbkFw
cEJyb3dzZXJQcml2YWN5RW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzSW5BcHBCcm93c2Vy
UHJpdmFjeUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAgICBib29sIGlzSW5BcHBCcm93c2VyUHJp
dmFjeUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzSW5BcHBCcm93c2VyUHJpdmFjeUVuYWJs
ZWQ7IH0KLQotICAgIHZvaWQgc2V0TmVlZHNJbkFwcEJyb3dzZXJQcml2YWN5UXVpcmtzKGJvb2wg
aXNFbmFibGVkKSB7IG1fbmVlZHNJbkFwcEJyb3dzZXJQcml2YWN5UXVpcmtzID0gaXNFbmFibGVk
OyB9Ci0gICAgYm9vbCBuZWVkc0luQXBwQnJvd3NlclByaXZhY3lRdWlya3MoKSBjb25zdCB7IHJl
dHVybiBtX25lZWRzSW5BcHBCcm93c2VyUHJpdmFjeVF1aXJrczsgfQotCiAjaWYgRU5BQkxFKEFD
Q0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKICAgICB2b2lkIHNldElzQWNjZXNzaWJpbGl0eUlz
b2xhdGVkVHJlZUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9hY2Nlc3NpYmlsaXR5SXNvbGF0
ZWRUcmVlID0gaXNFbmFibGVkOyB9CiAgICAgYm9vbCBpc0FjY2Vzc2liaWxpdHlJc29sYXRlZFRy
ZWVFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9hY2Nlc3NpYmlsaXR5SXNvbGF0ZWRUcmVlOyB9
CiAjZW5kaWYKICAgICAKLSAgICB2b2lkIHNldFdlYlNoYXJlRmlsZUFQSUVuYWJsZWQoYm9vbCBp
c0VuYWJsZWQpIHsgbV93ZWJTaGFyZUZpbGVBUElFbmFibGVkID0gaXNFbmFibGVkOyB9Ci0gICAg
Ym9vbCB3ZWJTaGFyZUZpbGVBUElFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV93ZWJTaGFyZUZp
bGVBUElFbmFibGVkOyB9Ci0KICNpZiBIQVZFKElOQ1JFTUVOVEFMX1BERl9BUElTKQogICAgIHZv
aWQgc2V0SW5jcmVtZW50YWxQREZMb2FkaW5nRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lu
Y3JlbWVudGFsUERGTG9hZGluZ0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIGluY3Jl
bWVudGFsUERGTG9hZGluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2luY3JlbWVudGFsUERG
TG9hZGluZ0VuYWJsZWQ7IH0KQEAgLTQwNSwyNiArMjkzLDE1IEBAIHByaXZhdGU6CiAgICAgLy8g
TmV2ZXIgaW5zdGFudGlhdGUuCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlcygpOwogCi0gICAg
Ym9vbCBtX2JsYW5rQW5jaG9yVGFyZ2V0SW1wbGllc05vT3BlbmVyRW5hYmxlZCB7IHRydWUgfTsK
ICAgICBib29sIG1fYXJlTW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQgeyBmYWxzZSB9OwotICAg
IGJvb2wgbV9pc0xpbmtQcmVsb2FkRW5hYmxlZCB7IHRydWUgfTsKLSAgICBib29sIG1faXNMaW5r
UHJlZmV0Y2hFbmFibGVkIHsgZmFsc2UgfTsKLSAgICBib29sIG1faXNNZWRpYVByZWxvYWRpbmdF
bmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNQYWludFRpbWluZ0VuYWJsZWQgeyBmYWxz
ZSB9OwogICAgIGJvb2wgbV9pc1Jlc291cmNlVGltaW5nRW5hYmxlZCB7IGZhbHNlIH07CiAgICAg
Ym9vbCBtX2lzVXNlclRpbWluZ0VuYWJsZWQgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9pc0ludGVy
YWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkIHsgZmFsc2UgfTsKLSAgICBib29sIG1faXNXZWJB
dXRoZW50aWNhdGlvbkVuYWJsZWQgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9pc1dlYkF1dGhlbnRp
Y2F0aW9uTG9jYWxBdXRoZW50aWNhdG9yRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lz
U2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc1No
YWRvd0RPTUVuYWJsZWQgeyB0cnVlIH07Ci0gICAgYm9vbCBtX2FyZUN1c3RvbUVsZW1lbnRzRW5h
YmxlZCB7IHRydWUgfTsKICAgICBib29sIG1faXNNZW51SXRlbUVsZW1lbnRFbmFibGVkIHsgZmFs
c2UgfTsKICAgICBib29sIG1faXNEaXJlY3RvcnlVcGxvYWRFbmFibGVkIHsgZmFsc2UgfTsKLSAg
ICBib29sIG1fYXJlRGF0YVRyYW5zZmVySXRlbXNFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29s
IG1faXNDdXN0b21QYXN0ZWJvYXJkRGF0YUVuYWJsZWQgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9p
c1dlYlNoYXJlRW5hYmxlZCB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX2lucHV0RXZlbnRzRW5hYmxl
ZCB7IHRydWUgfTsKICAgICBib29sIG1fYXJlV2ViQW5pbWF0aW9uc0VuYWJsZWQgeyB0cnVlIH07
CiAgICAgYm9vbCBtX2lzV2ViQW5pbWF0aW9uc0NTU0ludGVncmF0aW9uRW5hYmxlZCB7IHRydWUg
fTsKICAgICBib29sIG1fYXJlV2ViQW5pbWF0aW9uc0NvbXBvc2l0ZU9wZXJhdGlvbnNFbmFibGVk
IHsgZmFsc2UgfTsKQEAgLTQ0OCwxMCArMzI1LDggQEAgcHJpdmF0ZToKICAgICBib29sIG1fY3Jv
c3NPcmlnaW5SZXNvdXJjZVBvbGljeUVuYWJsZWQgeyB0cnVlIH07CiAgICAgYm9vbCBtX2lzU2Vy
dmVyVGltaW5nRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2V4cGVyaW1lbnRhbFBsdWdJ
blNhbmRib3hQcm9maWxlc0VuYWJsZWQgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9kaXNhYmxlZEFk
YXB0YXRpb25zTWV0YVRhZ0VuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9hdHRyU3R5bGVF
bmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fd2ViQVBJU3RhdGlzdGljc0VuYWJsZWQgeyBm
YWxzZSB9OwotICAgIGJvb2wgbV9DU1NDdXN0b21Qcm9wZXJ0aWVzQW5kVmFsdWVzRW5hYmxlZCB7
IGZhbHNlIH07CiAgICAgYm9vbCBtX3N5bnRoZXRpY0VkaXRpbmdDb21tYW5kc0VuYWJsZWQgeyB0
cnVlIH07CiAgICAgYm9vbCBtX2RpYWxvZ0VsZW1lbnRFbmFibGVkIHsgZmFsc2UgfTsKICAgICBi
b29sIG1fd2ViU1FMRW5hYmxlZCB7IGZhbHNlIH07CkBAIC00ODEsMTIgKzM1Niw2IEBAIHByaXZh
dGU6CiAjZW5kaWYKIAogICAgIGJvb2wgbV91c2VyR2VzdHVyZVByb21pc2VQcm9wYWdhdGlvbkVu
YWJsZWQgeyB0cnVlIH07Ci0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLSAgICBib29sIG1faXNN
ZWRpYVJlY29yZGVyRW5hYmxlZCB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX2lzTWVkaWFEZXZpY2Vz
RW5hYmxlZCB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX2lzTWVkaWFTdHJlYW1FbmFibGVkIHsgdHJ1
ZSB9OwotICAgIGJvb2wgbV9pc1NjcmVlbkNhcHR1cmVFbmFibGVkIHsgZmFsc2UgfTsKLSNlbmRp
ZgogCiAjaWYgRU5BQkxFKFdFQl9SVEMpCiAgICAgYm9vbCBtX2lzV2ViUlRDRFRNRkVuYWJsZWQg
eyB0cnVlIH07CkBAIC01MDcsMTAgKzM3Niw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzRGF0
YUxpc3RFbGVtZW50RW5hYmxlZCB7IGZhbHNlIH07CiAjZW5kaWYKIAotI2lmIEVOQUJMRShHQU1F
UEFEKQotICAgIGJvb2wgbV9hcmVHYW1lcGFkc0VuYWJsZWQgeyBmYWxzZSB9OwotI2VuZGlmCi0K
ICAgICBib29sIG1faXNSZWFkYWJsZUJ5dGVTdHJlYW1BUElFbmFibGVkIHsgZmFsc2UgfTsKICAg
ICBib29sIG1faXNXcml0YWJsZVN0cmVhbUFQSUVuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wg
bV9pc1RyYW5zZm9ybVN0cmVhbUFQSUVuYWJsZWQgeyBmYWxzZSB9OwpAQCAtNTI3LDM5ICszOTIs
MTYgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNNYXNrV2ViR0xTdHJpbmdzRW5hYmxlZCB7IGZh
bHNlIH07CiAjZW5kaWYKIAotI2lmIEVOQUJMRShET1dOTE9BRF9BVFRSSUJVVEUpCi0gICAgYm9v
bCBtX2lzRG93bmxvYWRBdHRyaWJ1dGVFbmFibGVkIHsgZmFsc2UgfTsKLSNlbmRpZgotCi0jaWYg
RU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKLSAgICBib29sIG1fZW5jcnlwdGVkTWVkaWFBUElFbmFi
bGVkIHsgZmFsc2UgfTsKLSNlbmRpZgotCi0jaWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVE
SUEpCi0gICAgYm9vbCBtX2xlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZCB7IHRydWUgfTsK
LSNlbmRpZgotCi0jaWYgRU5BQkxFKElOVEVSU0VDVElPTl9PQlNFUlZFUikKLSAgICBib29sIG1f
aW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkIHsgZmFsc2UgfTsKLSNlbmRpZgotCiAjaWYgRU5B
QkxFKFNFUlZJQ0VfV09SS0VSKQogICAgIGJvb2wgbV9zZXJ2aWNlV29ya2VyRW5hYmxlZCB7IGZh
bHNlIH07CiAjZW5kaWYKIAotI2lmIFVTRShTWVNURU1fUFJFVklFVykKLSAgICBib29sIG1fc3lz
dGVtUHJldmlld0VuYWJsZWQgeyBmYWxzZSB9OwotI2VuZGlmCi0KLSAgICBib29sIG1fdW5kb01h
bmFnZXJBUElFbmFibGVkIHsgZmFsc2UgfTsKLQogICAgIGJvb2wgbV9DU1NMb2dpY2FsRW5hYmxl
ZCB7IGZhbHNlIH07CiAKICAgICAvLyBGYWxzZSBieSBkZWZhdWx0IHVudGlsIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTEzNTEgLwogICAgIC8vIGh0dHBzOi8vZ2l0
aHViLmNvbS93M2MvY3Nzd2ctZHJhZnRzL2lzc3Vlcy8zMjU3IGhhdmUgYmVlbiBzb3J0ZWQgb3V0
LgogICAgIGJvb2wgbV9saW5lSGVpZ2h0VW5pdHNFbmFibGVkIHsgZmFsc2UgfTsKIAotICAgIGJv
b2wgbV9hZENsaWNrQXR0cmlidXRpb25FbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fYWRD
bGlja0F0dHJpYnV0aW9uRGVidWdNb2RlRW5hYmxlZCB7IGZhbHNlIH07CiAKICNpZiBFTkFCTEUo
VE9VQ0hfRVZFTlRTKQpAQCAtNTY5LDI4ICs0MTEsMTYgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wg
bV9pc0lUUERhdGFiYXNlRW5hYmxlZCB7IHRydWUgfTsKIAotICAgIGJvb2wgbV9yZWZlcnJlclBv
bGljeUF0dHJpYnV0ZUVuYWJsZWQgeyB0cnVlIH07Ci0gICAgYm9vbCBtX2ludGVycnVwdEF1ZGlv
T25QYWdlVmlzaWJpbGl0eUNoYW5nZUVuYWJsZWQgeyBmYWxzZSB9OwotCi0gICAgYm9vbCBtX2xp
bmtQcmVsb2FkUmVzcG9uc2l2ZUltYWdlc0VuYWJsZWQgeyBmYWxzZSB9OwotCiAjaWYgSEFWRShO
U1VSTFNFU1NJT05fV0VCU09DS0VUKQogICAgIGJvb2wgbV9pc05TVVJMU2Vzc2lvbldlYlNvY2tl
dEVuYWJsZWQgeyBmYWxzZSB9OwogI2VuZGlmCiAKLSAgICBib29sIG1fbGF6eUltYWdlTG9hZGlu
Z0VuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9zZWN1cmVDb250ZXh0Q2hlY2tzRW5hYmxl
ZCB7IHRydWUgfTsKICAgICBib29sIG1faXNDU1NTaGFkb3dQYXJ0c0VuYWJsZWQgeyB0cnVlIH07
CiAKLSAgICBib29sIG1faXNJbkFwcEJyb3dzZXJQcml2YWN5RW5hYmxlZCB7IGZhbHNlIH07Ci0g
ICAgYm9vbCBtX25lZWRzSW5BcHBCcm93c2VyUHJpdmFjeVF1aXJrcyB7IGZhbHNlIH07Ci0KLSAg
ICBib29sIG1fbGVnYWN5QmVmb3JlTG9hZEV2ZW50RW5hYmxlZCB7IGZhbHNlIH07Ci0KICNpZiBF
TkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQogICAgIGJvb2wgbV9hY2Nlc3NpYmls
aXR5SXNvbGF0ZWRUcmVlIHsgZmFsc2UgfTsKICNlbmRpZgotICAgIGJvb2wgbV93ZWJTaGFyZUZp
bGVBUElFbmFibGVkIHsgZmFsc2UgfTsKIAogI2lmIEhBVkUoSU5DUkVNRU5UQUxfUERGX0FQSVMp
CiAgICAgYm9vbCBtX2luY3JlbWVudGFsUERGTG9hZGluZ0VuYWJsZWQgeyBmYWxzZSB9OwpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNl
L1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCSh3b3JraW5nIGNvcHkpCkBAIC0yMDQsNyArMjA0
LDcgQEAgZG9tVGltZXJzVGhyb3R0bGluZ0VuYWJsZWQ6CiAgIGluaXRpYWw6IHRydWUKIHdlYkFy
Y2hpdmVEZWJ1Z01vZGVFbmFibGVkOgogICBpbml0aWFsOiBmYWxzZQotICBjb25kaXRpb25hbDog
V0VCX0FSQ0hJVkUKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShXRUJfQVJDSElWRSkKIGxvY2FsRmls
ZUNvbnRlbnRTbmlmZmluZ0VuYWJsZWQ6CiAgIGluaXRpYWw6IGZhbHNlCiBvZmZsaW5lV2ViQXBw
bGljYXRpb25DYWNoZUVuYWJsZWQ6CkBAIC0yMzcsNyArMjM3LDcgQEAgYWNjZWxlcmF0ZWRDb21w
b3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbgogICBpbml0aWFsOiBkZWZhdWx0QWNjZWxlcmF0ZWRD
b21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbmFibGVkCiBydWJiZXJCYW5kaW5nRm9yU3ViU2Ny
b2xsYWJsZVJlZ2lvbnNFbmFibGVkOgogICBpbml0aWFsOiB0cnVlCi0gIGNvbmRpdGlvbmFsOiBS
VUJCRVJfQkFORElORworICBjb25kaXRpb25hbDogRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQogCiBl
eHBlcmltZW50YWxOb3RpZmljYXRpb25zRW5hYmxlZDoKICAgaW5pdGlhbDogZmFsc2UKQEAgLTI2
Myw3ICsyNjMsNyBAQCBwYWdpbmF0ZUR1cmluZ0xheW91dEVuYWJsZWQ6CiAgIGluaXRpYWw6IGZh
bHNlCiBmdWxsU2NyZWVuRW5hYmxlZDoKICAgaW5pdGlhbDogZmFsc2UKLSAgY29uZGl0aW9uYWw6
IEZVTExTQ1JFRU5fQVBJCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCiBh
c3luY2hyb25vdXNTcGVsbENoZWNraW5nRW5hYmxlZDoKICAgaW5pdGlhbDogZmFsc2UKIApAQCAt
MzIyLDI2ICszMjIsMjYgQEAgYmFja3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJsZWQ6CiAgIGluaXRp
YWw6IHRydWUKIHNob3VsZERpc3BsYXlTdWJ0aXRsZXM6CiAgIGluaXRpYWw6IGZhbHNlCi0gIGNv
bmRpdGlvbmFsOiBWSURFTworICBjb25kaXRpb25hbDogRU5BQkxFKFZJREVPKQogc2hvdWxkRGlz
cGxheUNhcHRpb25zOgogICBpbml0aWFsOiBmYWxzZQotICBjb25kaXRpb25hbDogVklERU8KKyAg
Y29uZGl0aW9uYWw6IEVOQUJMRShWSURFTykKIHNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25z
OgogICBpbml0aWFsOiBmYWxzZQotICBjb25kaXRpb25hbDogVklERU8KKyAgY29uZGl0aW9uYWw6
IEVOQUJMRShWSURFTykKIGdlbmVyaWNDdWVBUElFbmFibGVkOgogICBpbml0aWFsOiBmYWxzZQot
ICBjb25kaXRpb25hbDogVklERU8KKyAgY29uZGl0aW9uYWw6IEVOQUJMRShWSURFTykKIHVzZUdQ
VVByb2Nlc3NGb3JNZWRpYToKICAgaW5pdGlhbDogZmFsc2UKLSAgY29uZGl0aW9uYWw6IEdQVV9Q
Uk9DRVNTCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoR1BVX1BST0NFU1MpCiBzY3JvbGxpbmdDb29y
ZGluYXRvckVuYWJsZWQ6CiAgIGluaXRpYWw6IGZhbHNlCiBzY3JvbGxpbmdUcmVlSW5jbHVkZXNG
cmFtZXM6CiAgIGluaXRpYWw6IGRlZmF1bHRTY3JvbGxpbmdUcmVlSW5jbHVkZXNGcmFtZXMKIHNj
cm9sbEFuaW1hdG9yRW5hYmxlZDoKICAgaW5pdGlhbDogdHJ1ZQotICBjb25kaXRpb25hbDogU01P
T1RIX1NDUk9MTElORworICBjb25kaXRpb25hbDogRU5BQkxFKFNNT09USF9TQ1JPTExJTkcpCiBm
b3JjZVVwZGF0ZVNjcm9sbGJhcnNPbk1haW5UaHJlYWRGb3JQZXJmb3JtYW5jZVRlc3Rpbmc6CiAg
IGluaXRpYWw6IGZhbHNlCiBub3RpZmljYXRpb25zRW5hYmxlZDoKQEAgLTQyOCw3ICs0MjgsNyBA
QCBjb3JlSW1hZ2VBY2NlbGVyYXRlZEZpbHRlclJlbmRlckVuYWJsZWQ6CiBsZWdhY3lPdmVyZmxv
d1Njcm9sbGluZ1RvdWNoRW5hYmxlZDoKICAgaW5pdGlhbDogdHJ1ZQogICBvbkNoYW5nZTogc2V0
TmVlZHNSZWxheW91dEFsbEZyYW1lcwotICBjb25kaXRpb25hbDogT1ZFUkZMT1dfU0NST0xMSU5H
X1RPVUNICisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKQog
CiB3ZWJTZWN1cml0eUVuYWJsZWQ6CiAgIGluaXRpYWw6IHRydWUKQEAgLTQ2OCwyMiArNDY4LDIy
IEBAIGZpeGVkQmFja2dyb3VuZHNQYWludFJlbGF0aXZlVG9Eb2N1bWVudDoKIHRleHRBdXRvc2l6
aW5nRW5hYmxlZDoKICAgaW5pdGlhbDogZGVmYXVsdFRleHRBdXRvc2l6aW5nRW5hYmxlZCgpCiAg
IG9uQ2hhbmdlOiBzZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMKLSAgY29uZGl0aW9uYWw6
IFRFWFRfQVVUT1NJWklORworICBjb25kaXRpb25hbDogRU5BQkxFKFRFWFRfQVVUT1NJWklORykK
IHRleHRBdXRvc2l6aW5nV2luZG93U2l6ZU92ZXJyaWRlOgogICB0eXBlOiBJbnRTaXplCiAgIG9u
Q2hhbmdlOiBzZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMKLSAgY29uZGl0aW9uYWw6IFRF
WFRfQVVUT1NJWklORworICBjb25kaXRpb25hbDogRU5BQkxFKFRFWFRfQVVUT1NJWklORykKIG1p
bmltdW1ab29tRm9udFNpemU6CiAgIHR5cGU6IGZsb2F0CiAgIGluaXRpYWw6IGRlZmF1bHRNaW5p
bXVtWm9vbUZvbnRTaXplKCkKLSAgY29uZGl0aW9uYWw6IFRFWFRfQVVUT1NJWklORworICBjb25k
aXRpb25hbDogRU5BQkxFKFRFWFRfQVVUT1NJWklORykKIHRleHRBdXRvc2l6aW5nVXNlc0lkZW1w
b3RlbnRNb2RlOgogICBpbml0aWFsOiBmYWxzZQogICBvbkNoYW5nZTogc2V0TmVlZHNSZWNhbGNT
dHlsZUluQWxsRnJhbWVzCi0gIGNvbmRpdGlvbmFsOiBURVhUX0FVVE9TSVpJTkcKKyAgY29uZGl0
aW9uYWw6IEVOQUJMRShURVhUX0FVVE9TSVpJTkcpCiBpZGVtcG90ZW50TW9kZUF1dG9zaXppbmdP
bmx5SG9ub3JzUGVyY2VudGFnZXM6CiAgIGluaXRpYWw6IGZhbHNlCi0gIGNvbmRpdGlvbmFsOiBU
RVhUX0FVVE9TSVpJTkcKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShURVhUX0FVVE9TSVpJTkcpCiAg
ICMgVGhpcyBpcyBvbmx5IHNldCBiZWZvcmUgdGhlIG1haW4gZnJhbWUgbG9hZCwgc28gdGhlcmUn
cyBubyBuZWVkIHRvIHNwZWNpZnkgc2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVzLgogCiBz
dWJwaXhlbEFudGlhbGlhc2VkTGF5ZXJUZXh0RW5hYmxlZDoKQEAgLTUwNywxMSArNTA3LDExIEBA
IHVzZUdpYW50VGlsZXM6CiAKIG1lZGlhU291cmNlRW5hYmxlZDoKICAgaW5pdGlhbDogcGxhdGZv
cm1EZWZhdWx0TWVkaWFTb3VyY2VFbmFibGVkKCkKLSAgY29uZGl0aW9uYWw6IE1FRElBX1NPVVJD
RQorICBjb25kaXRpb25hbDogRU5BQkxFKE1FRElBX1NPVVJDRSkKIAogc291cmNlQnVmZmVyQ2hh
bmdlVHlwZUVuYWJsZWQ6CiAgIGluaXRpYWw6IHRydWUKLSAgY29uZGl0aW9uYWw6IE1FRElBX1NP
VVJDRQorICBjb25kaXRpb25hbDogRU5BQkxFKE1FRElBX1NPVVJDRSkKIAogIyBGSVhNRTogUmVu
YW1lIHRvIGFsbG93TXVsdGlFbGVtZW50SW1wbGljaXRGb3JtU3VibWlzc2lvbiBvbmNlIHdlIHVw
c3RyZWFtIHRoZSBpT1MgY2hhbmdlcyB0byBXZWJWaWV3Lm1tLgogYWxsb3dNdWx0aUVsZW1lbnRJ
bXBsaWNpdFN1Ym1pc3Npb246CkBAIC01MTksMTEgKzUxOSwxMSBAQCBhbGxvd011bHRpRWxlbWVu
dEltcGxpY2l0U3VibWlzc2lvbjoKIAogYWxsb3dzQWlyUGxheUZvck1lZGlhUGxheWJhY2s6CiAg
IGluaXRpYWw6IHRydWUKLSAgY29uZGl0aW9uYWw6IFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVAor
ICBjb25kaXRpb25hbDogRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkKIAogcmVtb3Rl
UGxheWJhY2tFbmFibGVkOgogICBpbml0aWFsOiB0cnVlCi0gIGNvbmRpdGlvbmFsOiBXSVJFTEVT
U19QTEFZQkFDS19UQVJHRVQKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShXSVJFTEVTU19QTEFZQkFD
S19UQVJHRVQpCiAKIHNob3VsZENvbnZlcnRQb3NpdGlvblN0eWxlT25Db3B5OgogICBpbml0aWFs
OiBmYWxzZQpAQCAtNTQxLDcgKzU0MSw3IEBAIGFsd2F5c1VzZUFjY2VsZXJhdGVkT3ZlcmZsb3dT
Y3JvbGw6CiAgIGluaXRpYWw6IGZhbHNlCiBpbWFnZUNvbnRyb2xzRW5hYmxlZDoKICAgaW5pdGlh
bDogZmFsc2UKLSAgY29uZGl0aW9uYWw6IFNFUlZJQ0VfQ09OVFJPTFMKKyAgY29uZGl0aW9uYWw6
IEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQogCiBlbmFibGVJbmhlcml0VVJJUXVlcnlDb21wb25l
bnQ6CiAgIGluaXRpYWw6IGZhbHNlCkBAIC01NTYsMTggKzU1NiwxOCBAQCB1c2VJbWFnZURvY3Vt
ZW50Rm9yU3ViZnJhbWVQREY6CiBkYXRhRGV0ZWN0b3JUeXBlczoKICAgdHlwZTogRGF0YURldGVj
dG9yVHlwZXMKICAgaW5pdGlhbDogCi0gIGNvbmRpdGlvbmFsOiBEQVRBX0RFVEVDVElPTgorICBj
b25kaXRpb25hbDogRU5BQkxFKERBVEFfREVURUNUSU9OKQogCiAjIEFsbG93IFNvdXJjZUJ1ZmZl
cnMgdG8gc3RvcmUgdXAgdG8gMzA0TUIgZWFjaCwgZW5vdWdoIGZvciBhcHByb3hpbWF0ZWx5IGZp
dmUgbWludXRlcwogIyBvZiAxMDgwcCB2aWRlbyBhbmQgc3RlcmVvIGF1ZGlvLgogbWF4aW11bVNv
dXJjZUJ1ZmZlclNpemU6CiAgIHR5cGU6IGludAogICBpbml0aWFsOiAzMTg3NjcxMDQKLSAgY29u
ZGl0aW9uYWw6IE1FRElBX1NPVVJDRQorICBjb25kaXRpb25hbDogRU5BQkxFKE1FRElBX1NPVVJD
RSkKIAogc2VydmljZUNvbnRyb2xzRW5hYmxlZDoKICAgaW5pdGlhbDogZmFsc2UKLSAgY29uZGl0
aW9uYWw6IFNFUlZJQ0VfQ09OVFJPTFMKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShTRVJWSUNFX0NP
TlRST0xTKQogCiBhcHBsZU1haWxQYWdpbmF0aW9uUXVpcmtFbmFibGVkOgogICBpbml0aWFsOiBm
YWxzZQpAQCAtNjI2LDcgKzYyNiw2IEBAIGxheW91dFZpZXdwb3J0SGVpZ2h0RXhwYW5zaW9uRmFj
dG9yOgogICBpbml0aWFsOiAwCiAgIG9uQ2hhbmdlOiBzZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxG
cmFtZXMKIAotIyBSdW50aW1lLWVuYWJsZWQgZmVhdHVyZXMKIHZpc3VhbFZpZXdwb3J0RW5hYmxl
ZDoKICAgaW5pdGlhbDogdHJ1ZQogICBvbkNoYW5nZTogc2V0TmVlZHNSZWNhbGNTdHlsZUluQWxs
RnJhbWVzCkBAIC03MjAsMTYgKzcxOSwxNiBAQCBzaG91bGRJZ25vcmVGb250TG9hZENvbXBsZXRp
b25zOgogICBpbml0aWFsOiBmYWxzZQogCiBhcHBsZVBheUNhcGFiaWxpdHlEaXNjbG9zdXJlQWxs
b3dlZDoKLSAgY29uZGl0aW9uYWw6IEFQUExFX1BBWQorICBjb25kaXRpb25hbDogRU5BQkxFKEFQ
UExFX1BBWSkKICAgaW5pdGlhbDogdHJ1ZQogYXBwbGVQYXlFbmFibGVkOgotICBjb25kaXRpb25h
bDogQVBQTEVfUEFZCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoQVBQTEVfUEFZKQogICBpbml0aWFs
OiBkZWZhdWx0QXBwbGVQYXlFbmFibGVkCiBhcHBsZVBheVJlbW90ZVVJRW5hYmxlZDoKLSAgY29u
ZGl0aW9uYWw6IEFQUExFX1BBWV9SRU1PVEVfVUkKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShBUFBM
RV9QQVlfUkVNT1RFX1VJKQogICBpbml0aWFsOiB0cnVlCiBwYXltZW50UmVxdWVzdEVuYWJsZWQ6
Ci0gIGNvbmRpdGlvbmFsOiBQQVlNRU5UX1JFUVVFU1QKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShQ
QVlNRU5UX1JFUVVFU1QpCiAgIGluaXRpYWw6IGZhbHNlCiAKIGphdmFFbmFibGVkOgpAQCAtNzk5
LDcgKzc5OCw3IEBAIHNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzOgogCiByZXNpemVPYnNl
cnZlckVuYWJsZWQ6CiAgIGluaXRpYWw6IGZhbHNlCi0gIGNvbmRpdGlvbmFsOiBSRVNJWkVfT0JT
RVJWRVIKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShSRVNJWkVfT0JTRVJWRVIpCiAKICMgT25seSBz
ZXQgYnkgTGF5b3V0IFRlc3RzLgogbWVkaWFUeXBlT3ZlcnJpZGU6CkBAIC04MjksNyArODI4LDcg
QEAgZXhwb3NlU3BlYWtlcnNFbmFibGVkOgogCiBtZWRpYURldmljZUlkZW50aWZpZXJTdG9yYWdl
RGlyZWN0b3J5OgogICB0eXBlOiBTdHJpbmcKLSAgY29uZGl0aW9uYWw6IE1FRElBX1NUUkVBTQor
ICBjb25kaXRpb25hbDogRU5BQkxFKE1FRElBX1NUUkVBTSkKIAogIyBGSVhNRTogVGhpcyBxdWly
ayBpcyBuZWVkZWQgYmVjYXVzZSBvZiBSYWRhciA0Njc0NTM3IGFuZCA1MjExMjcxLiBXZSBuZWVk
IHRvIHBoYXNlIGl0IG91dCBvbmNlIEFkb2JlCiAjIGNhbiBmaXggdGhlIGJ1ZyBmcm9tIHRoZWly
IGVuZC4KQEAgLTg0MywyMiArODQyLDIyIEBAIHBhc3NpdmVUb3VjaExpc3RlbmVyc0FzRGVmYXVs
dE9uRG9jdW1lbnQKIHRvdWNoRXZlbnRFbXVsYXRpb25FbmFibGVkOgogICBpbml0aWFsOiBmYWxz
ZQogICBnZXR0ZXI6IGlzVG91Y2hFdmVudEVtdWxhdGlvbkVuYWJsZWQKLSAgY29uZGl0aW9uYWw6
IFRPVUNIX0VWRU5UUworICBjb25kaXRpb25hbDogRU5BQkxFKFRPVUNIX0VWRU5UUykKIAogZGV2
aWNlT3JpZW50YXRpb25FdmVudEVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgaW5pdGlhbDogdHJ1
ZQotICBjb25kaXRpb25hbDogREVWSUNFX09SSUVOVEFUSU9OCisgIGNvbmRpdGlvbmFsOiBFTkFC
TEUoREVWSUNFX09SSUVOVEFUSU9OKQogCiBkZXZpY2VPcmllbnRhdGlvblBlcm1pc3Npb25BUElF
bmFibGVkOgogICB0eXBlOiBib29sCiAgIGluaXRpYWw6IGZhbHNlCi0gIGNvbmRpdGlvbmFsOiBE
RVZJQ0VfT1JJRU5UQVRJT04KKyAgY29uZGl0aW9uYWw6IEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJ
T04pCiAKIHNob3VsZEVuYWJsZVRleHRBdXRvc2l6aW5nQm9vc3Q6CiAgIHR5cGU6IGJvb2wKICAg
aW5pdGlhbDogZmFsc2UKLSAgY29uZGl0aW9uYWw6IFRFWFRfQVVUT1NJWklORworICBjb25kaXRp
b25hbDogRU5BQkxFKFRFWFRfQVVUT1NJWklORykKICAgb25DaGFuZ2U6IHNob3VsZEVuYWJsZVRl
eHRBdXRvc2l6aW5nQm9vc3RDaGFuZ2VkCiAKIG1lZGlhQ2FwYWJpbGl0aWVzRW5hYmxlZDoKQEAg
LTg4Nyw3ICs4ODYsNyBAQCBzaG91bGRJZ25vcmVNZXRhVmlld3BvcnQ6CiAKIHZpZGVvUXVhbGl0
eUluY2x1ZGVzRGlzcGxheUNvbXBvc2l0aW5nRW5hYmxlZDoKICAgaW5pdGlhbDogZmFsc2UKLSAg
Y29uZGl0aW9uYWw6IFZJREVPCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoVklERU8pCiAKIGVkaXRh
YmxlSW1hZ2VzRW5hYmxlZDoKICAgaW5pdGlhbDogZmFsc2UKQEAgLTk0MSwxMSArOTQwLDEzIEBA
IGVudGVyS2V5SGludEVuYWJsZWQ6CiAKIGxlZ2FjeUdldFVzZXJNZWRpYUVuYWJsZWQ6CiAgIGlu
aXRpYWw6IGZhbHNlCi0gIGNvbmRpdGlvbmFsOiBNRURJQV9TVFJFQU0KKyAgY29uZGl0aW9uYWw6
IEVOQUJMRShNRURJQV9TVFJFQU0pCiAKKyMgRklYTUU6IFNlZW1zIHRvIGJlIHVudXNlZC4gUmVt
b3ZlIG9uY2UgdmVyaWZpZWQuCiBpc0luQXBwQnJvd3NlclByaXZhY3lFbmFibGVkOgogICBpbml0
aWFsOiBmYWxzZQogCisjIEZJWE1FOiBTZWVtcyB0byBiZSB1bnVzZWQuIFJlbW92ZSBvbmNlIHZl
cmlmaWVkLgogTmVlZHNJbkFwcEJyb3dzZXJQcml2YWN5UXVpcmtzOgogICBpbml0aWFsOiBmYWxz
ZQogCkBAIC05NTcsMzEgKzk1OCwxMjYgQEAgYXNwZWN0UmF0aW9PZkltZ0Zyb21XaWR0aEFuZEhl
aWdodEVuYWJsZQogCiBpbnB1dFR5cGVDb2xvckVuYWJsZWQ6CiAgIGluaXRpYWw6IGZhbHNlCi0g
IGNvbmRpdGlvbmFsOiBJTlBVVF9UWVBFX0NPTE9SCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoSU5Q
VVRfVFlQRV9DT0xPUikKIAogaW5wdXRUeXBlRGF0ZUVuYWJsZWQ6CiAgIGluaXRpYWw6IGZhbHNl
Ci0gIGNvbmRpdGlvbmFsOiBJTlBVVF9UWVBFX0RBVEUKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShJ
TlBVVF9UWVBFX0RBVEUpCiAKIGlucHV0VHlwZURhdGVUaW1lTG9jYWxFbmFibGVkOgogICBpbml0
aWFsOiBmYWxzZQotICBjb25kaXRpb25hbDogSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMCisgIGNv
bmRpdGlvbmFsOiBFTkFCTEUoSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKQogCiBpbnB1dFR5cGVN
b250aEVuYWJsZWQ6CiAgIGluaXRpYWw6IGZhbHNlCi0gIGNvbmRpdGlvbmFsOiBJTlBVVF9UWVBF
X01PTlRICisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoSU5QVVRfVFlQRV9NT05USCkKIAogaW5wdXRU
eXBlVGltZUVuYWJsZWQ6CiAgIGluaXRpYWw6IGZhbHNlCi0gIGNvbmRpdGlvbmFsOiBJTlBVVF9U
WVBFX1RJTUUKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShJTlBVVF9UWVBFX1RJTUUpCiAKIGlucHV0
VHlwZVdlZWtFbmFibGVkOgogICBpbml0aWFsOiBmYWxzZQotICBjb25kaXRpb25hbDogSU5QVVRf
VFlQRV9XRUVLCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoSU5QVVRfVFlQRV9XRUVLKQogCiBkYXRl
VGltZUlucHV0c0VkaXRhYmxlQ29tcG9uZW50c0VuYWJsZWQ6CiAgIGluaXRpYWw6IGZhbHNlCi0g
IGNvbmRpdGlvbmFsOiBEQVRFX0FORF9USU1FX0lOUFVUX1RZUEVTCisgIGNvbmRpdGlvbmFsOiBF
TkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykKKworYmxhbmtBbmNob3JUYXJnZXRJbXBs
aWVzTm9PcGVuZXJFbmFibGVkOgorICBpbml0aWFsOiB0cnVlCisKK2xpbmtQcmVsb2FkRW5hYmxl
ZDoKKyAgaW5pdGlhbDogdHJ1ZQorCitsaW5rUHJlZmV0Y2hFbmFibGVkOgorICBpbml0aWFsOiBm
YWxzZQorCitsaW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVkOgorICBpbml0aWFsOiBm
YWxzZQorCitkaXNhYmxlZEFkYXB0YXRpb25zTWV0YVRhZ0VuYWJsZWQ6CisgIGluaXRpYWw6IGZh
bHNlCisKK2xhenlJbWFnZUxvYWRpbmdFbmFibGVkOgorICBpbml0aWFsOiBmYWxzZQorCityZWZl
cnJlclBvbGljeUF0dHJpYnV0ZUVuYWJsZWQ6CisgIGluaXRpYWw6IHRydWUKKworY3VzdG9tRWxl
bWVudHNFbmFibGVkOgorICBpbml0aWFsOiB0cnVlCisKK2RhdGFUcmFuc2Zlckl0ZW1zRW5hYmxl
ZDoKKyAgaW5pdGlhbDogZmFsc2UKKword2ViQXV0aGVudGljYXRpb25FbmFibGVkOgorICBpbml0
aWFsOiBmYWxzZQorCit3ZWJBdXRoZW50aWNhdGlvbkxvY2FsQXV0aGVudGljYXRvckVuYWJsZWQ6
CisgIGluaXRpYWw6IGZhbHNlCisKKyMgRklYTUU6IFNlZW1zIHRvIGJlIHVudXNlZC4gUmVtb3Zl
IG9uY2UgdmVyaWZpZWQuCittZWRpYVN0cmVhbUVuYWJsZWQ6CisgIGluaXRpYWw6IHRydWUKKyAg
Y29uZGl0aW9uYWw6IEVOQUJMRShNRURJQV9TVFJFQU0pCisKK21lZGlhUmVjb3JkZXJFbmFibGVk
OgorICBpbml0aWFsOiBmYWxzZQorICBjb25kaXRpb25hbDogRU5BQkxFKE1FRElBX1NUUkVBTSkK
KworbWVkaWFEZXZpY2VzRW5hYmxlZDoKKyAgaW5pdGlhbDogZmFsc2UKKyAgY29uZGl0aW9uYWw6
IEVOQUJMRShNRURJQV9TVFJFQU0pCisKK3NjcmVlbkNhcHR1cmVFbmFibGVkOgorICBpbml0aWFs
OiBmYWxzZQorICBjb25kaXRpb25hbDogRU5BQkxFKE1FRElBX1NUUkVBTSkKKworZ2FtZXBhZHNF
bmFibGVkOgorICBpbml0aWFsOiBmYWxzZQorICBjb25kaXRpb25hbDogRU5BQkxFKEdBTUVQQUQp
CisKK2Nzc0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVkOgorICBpbml0aWFsOiBmYWxz
ZQorCit3ZWJTaGFyZUVuYWJsZWQ6CisgIGluaXRpYWw6IGZhbHNlCisKK3dlYlNoYXJlRmlsZUFQ
SUVuYWJsZWQ6CisgIGluaXRpYWw6IGZhbHNlCisKK3VuZG9NYW5hZ2VyQVBJRW5hYmxlZDoKKyAg
aW5pdGlhbDogZmFsc2UKKworaW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkOgorICBpbml0aWFs
OiBmYWxzZQorICBjb25kaXRpb25hbDogRU5BQkxFKElOVEVSU0VDVElPTl9PQlNFUlZFUikKKwor
ZG93bmxvYWRBdHRyaWJ1dGVFbmFibGVkOgorICBpbml0aWFsOiBmYWxzZQorICBjb25kaXRpb25h
bDogRU5BQkxFKERPV05MT0FEX0FUVFJJQlVURSkKKworc3lzdGVtUHJldmlld0VuYWJsZWQ6Cisg
IGluaXRpYWw6IGZhbHNlCisgIGNvbmRpdGlvbmFsOiBVU0UoU1lTVEVNX1BSRVZJRVcpCisKK2lu
dGVycnVwdEF1ZGlvT25QYWdlVmlzaWJpbGl0eUNoYW5nZUVuYWJsZWQ6CisgIGluaXRpYWw6IGZh
bHNlCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCitlbmNyeXB0ZWRNZWRp
YUFQSUVuYWJsZWQ6CisgIGludGlpYWw6IGZhbHNlCisgIGNvbmRpdGlvbmE6IEVOQUJMRShFTkNS
WVBURURfTUVESUEpCisKK2xlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZDoKKyAgaW50aWlh
bDogdHJ1ZQorICBjb25kaXRpb25hOiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkKKwor
IyBGSU1YRTogVGhpcyBkb2VzIG5vdCBhcHBlYXIgdG8gZXZlciBiZSBzZXQgdG8gdHJ1ZS4gUmVt
b3ZlIG9uY2UgdmVyaWZpZWQuCitsZWdhY3lCZWZvcmVMb2FkRXZlbnRFbmFibGVkOgorICBpbml0
aWFsOiBmYWxzZQorCiAKICMgRGVwcmVjYXRlZAogCkBAIC05OTIsMTMgKzEwODgsMTMgQEAgaWNl
Q2FuZGlkYXRlRmlsdGVyaW5nRW5hYmxlZDoKIAogbW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZDoK
ICAgaW5pdGlhbDogZmFsc2UKLSAgY29uZGl0aW9uYWw6IE1FRElBX1NUUkVBTQorICBjb25kaXRp
b25hbDogRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgb25DaGFuZ2U6IG1vY2tDYXB0dXJlRGV2aWNl
c0VuYWJsZWRDaGFuZ2VkCiAgIGluc3BlY3Rvck92ZXJyaWRlOiB0cnVlCiAKIG1lZGlhQ2FwdHVy
ZVJlcXVpcmVzU2VjdXJlQ29ubmVjdGlvbjoKICAgaW5pdGlhbDogdHJ1ZQotICBjb25kaXRpb25h
bDogTUVESUFfU1RSRUFNCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICBp
bnNwZWN0b3JPdmVycmlkZTogdHJ1ZQogCiBzaG91bGRVc2VTZXJ2aWNlV29ya2VyU2hvcnRUaW1l
b3V0OgpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9VbmRvSXRlbS5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGFnZS9VbmRvSXRlbS5pZGwJKHJldmlzaW9uIDI2NjMxMikKKysr
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvVW5kb0l0ZW0uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3
ICsyNCw3IEBACiAgKi8KIAogWwotICAgIEVuYWJsZWRBdFJ1bnRpbWU9VW5kb01hbmFnZXJBUEks
CisgICAgRW5hYmxlZEJ5U2V0dGluZz1VbmRvTWFuYWdlckFQSSwKIF0gZGljdGlvbmFyeSBVbmRv
SXRlbUluaXQgewogICAgIHJlcXVpcmVkIERPTVN0cmluZyBsYWJlbDsKICAgICByZXF1aXJlZCBW
b2lkQ2FsbGJhY2sgdW5kbzsKQEAgLTMyLDcgKzMyLDcgQEAKIH07CiAKIFsKLSAgICBFbmFibGVk
QXRSdW50aW1lPVVuZG9NYW5hZ2VyQVBJLAorICAgIEVuYWJsZWRCeVNldHRpbmc9VW5kb01hbmFn
ZXJBUEksCiAgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBKU0N1c3RvbU1hcmtG
dW5jdGlvbiwKICAgICBDdXN0b21Jc1JlYWNoYWJsZSwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvVW5kb01hbmFnZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvVW5k
b01hbmFnZXIuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1Vu
ZG9NYW5hZ2VyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQsNyArMjQsNyBAQAogICovCiAKIFsK
LSAgICBFbmFibGVkQXRSdW50aW1lPVVuZG9NYW5hZ2VyQVBJLAorICAgIEVuYWJsZWRCeVNldHRp
bmc9VW5kb01hbmFnZXJBUEksCiAgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBH
ZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxEb2N1bWVudCwKIF0gaW50ZXJmYWNlIFVuZG9NYW5hZ2Vy
IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAkocmV2aXNp
b24gMjY2MzEyKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNzEwLDcgKzcxMCw3IEBAIEltYWdlRHJhd1Jlc3VsdCBSZW5kZXJJ
bWFnZTo6cGFpbnRJbnRvUmUKICAgICAgICAgaW1hZ2VSZXNvdXJjZSgpLmNhY2hlZEltYWdlKCkt
PmFkZENsaWVudFdhaXRpbmdGb3JBc3luY0RlY29kaW5nKCp0aGlzKTsKIAogI2lmIFVTRShTWVNU
RU1fUFJFVklFVykKLSAgICBpZiAoaW1hZ2VFbGVtZW50ICYmIGltYWdlRWxlbWVudC0+aXNTeXN0
ZW1QcmV2aWV3SW1hZ2UoKSAmJiBkcmF3UmVzdWx0ID09IEltYWdlRHJhd1Jlc3VsdDo6RGlkRHJh
dyAmJiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnN5c3RlbVByZXZp
ZXdFbmFibGVkKCkpCisgICAgaWYgKGltYWdlRWxlbWVudCAmJiBpbWFnZUVsZW1lbnQtPmlzU3lz
dGVtUHJldmlld0ltYWdlKCkgJiYgZHJhd1Jlc3VsdCA9PSBJbWFnZURyYXdSZXN1bHQ6OkRpZERy
YXcgJiYgaW1hZ2VFbGVtZW50LT5kb2N1bWVudCgpLnNldHRpbmdzKCkuc3lzdGVtUHJldmlld0Vu
YWJsZWQoKSkKICAgICAgICAgdGhlbWUoKS5wYWludFN5c3RlbVByZXZpZXdCYWRnZSgqaW1nLCBw
YWludEluZm8sIHJlY3QpOwogI2VuZGlmCiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxTZXR0aW5ncy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbFNldHRpbmdzLmNwcAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE2LDkg
KzExNiw2IEBAIEludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6QmFja3VwKFNldHRpbmcKICNpZiBF
TkFCTEUoV0VCR0wyKQogICAgICwgbV93ZWJHTDJFbmFibGVkKFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnNoYXJlZEZlYXR1cmVzKCkud2ViR0wyRW5hYmxlZCgpKQogI2VuZGlmCi0jaWYgRU5BQkxF
KE1FRElBX1NUUkVBTSkKLSAgICAsIG1fc2V0U2NyZWVuQ2FwdHVyZUVuYWJsZWQoUnVudGltZUVu
YWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zY3JlZW5DYXB0dXJlRW5hYmxlZCgpKQot
I2VuZGlmCiAgICAgLCBtX2ZldGNoQVBJS2VlcEFsaXZlQVBJRW5hYmxlZChSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZCgpKQog
ICAgICwgbV9zaG91bGRNb2NrQm9sZFN5c3RlbUZvbnRGb3JBY2Nlc3NpYmlsaXR5KFJlbmRlclRo
ZW1lOjpzaW5nbGV0b24oKS5zaG91bGRNb2NrQm9sZFN5c3RlbUZvbnRGb3JBY2Nlc3NpYmlsaXR5
KCkpCiAjaWYgVVNFKEFVRElPX1NFU1NJT04pCkBAIC0yMjAsOSArMjE3LDYgQEAgdm9pZCBJbnRl
cm5hbFNldHRpbmdzOjpCYWNrdXA6OnJlc3RvcmVUbwogI2lmIEVOQUJMRShXRUJHTDIpCiAgICAg
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRXZWJHTDJFbmFibGVk
KG1fd2ViR0wyRW5hYmxlZCk7CiAjZW5kaWYKLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQotICAg
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0U2NyZWVuQ2FwdHVy
ZUVuYWJsZWQobV9zZXRTY3JlZW5DYXB0dXJlRW5hYmxlZCk7Ci0jZW5kaWYKICAgICBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEZldGNoQVBJS2VlcEFsaXZlRW5h
YmxlZChtX2ZldGNoQVBJS2VlcEFsaXZlQVBJRW5hYmxlZCk7CiAgICAgUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRDdXN0b21QYXN0ZWJvYXJkRGF0YUVuYWJsZWQo
bV9jdXN0b21QYXN0ZWJvYXJkRGF0YUVuYWJsZWQpOwogCkBAIC04MTQsMTUgKzgwOCw2IEBAIHZv
aWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0V2ViR1BVRW5hYmxlZCgKICNlbmRpZgogfQogCi12b2lk
IEludGVybmFsU2V0dGluZ3M6OnNldFNjcmVlbkNhcHR1cmVFbmFibGVkKGJvb2wgZW5hYmxlZCkK
LXsKLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNoYXJlZEZlYXR1cmVzKCkuc2V0U2NyZWVuQ2FwdHVyZUVuYWJsZWQoZW5hYmxlZCk7Ci0jZWxz
ZQotICAgIFVOVVNFRF9QQVJBTShlbmFibGVkKTsKLSNlbmRpZgotfQotCiB2b2lkIEludGVybmFs
U2V0dGluZ3M6OnNldEZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZChib29sIGVuYWJsZWQpCiB7CiAg
ICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRGZXRjaEFQSUtl
ZXBBbGl2ZUVuYWJsZWQoZW5hYmxlZCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFsU2V0dGluZ3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFsU2V0dGluZ3MuaAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbFNldHRpbmdzLmgJKHdvcmtpbmcgY29weSkKQEAgLTEzMiw3ICsxMzIsNiBA
QCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgc2V0V2ViR0wyRW5hYmxlZChib29sKTsKICAgICBz
dGF0aWMgdm9pZCBzZXRXZWJHUFVFbmFibGVkKGJvb2wpOwogICAgIHN0YXRpYyB2b2lkIHNldFBp
Y3R1cmVJblBpY3R1cmVBUElFbmFibGVkKGJvb2wpOwotICAgIHN0YXRpYyB2b2lkIHNldFNjcmVl
bkNhcHR1cmVFbmFibGVkKGJvb2wpOwogICAgIHN0YXRpYyB2b2lkIHNldEZldGNoQVBJS2VlcEFs
aXZlRW5hYmxlZChib29sKTsKIAogICAgIHN0YXRpYyBib29sIHdlYkFuaW1hdGlvbnNDU1NJbnRl
Z3JhdGlvbkVuYWJsZWQoKTsKQEAgLTIyNCw3ICsyMjMsNiBAQCBwcml2YXRlOgogICAgICAgICAv
LyBSdW50aW1lIGVuYWJsZWQgc2V0dGluZ3MuCiAgICAgICAgIGJvb2wgbV9pbmRleGVkREJXb3Jr
ZXJzRW5hYmxlZDsKICAgICAgICAgYm9vbCBtX3dlYkdMMkVuYWJsZWQ7Ci0gICAgICAgIGJvb2wg
bV9zZXRTY3JlZW5DYXB0dXJlRW5hYmxlZDsKICAgICAgICAgYm9vbCBtX2ZldGNoQVBJS2VlcEFs
aXZlQVBJRW5hYmxlZDsKICAgICAgICAgCiAgICAgICAgIGJvb2wgbV9zaG91bGRNb2NrQm9sZFN5
c3RlbUZvbnRGb3JBY2Nlc3NpYmlsaXR5OwpJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbFNldHRpbmdzLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFsU2V0dGluZ3MuaWRsCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC05Niw3ICs5
Niw2IEBAIGVudW0gRm9udExvYWRUaW1pbmdPdmVycmlkZSB7ICJCbG9jayIsICIKICAgICB1bmRl
ZmluZWQgc2V0SW5kZXhlZERCV29ya2Vyc0VuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKICAgICB1
bmRlZmluZWQgc2V0V2ViR0wyRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwogICAgIHVuZGVmaW5l
ZCBzZXRXZWJHUFVFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7Ci0gICAgdW5kZWZpbmVkIHNldFNj
cmVlbkNhcHR1cmVFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CiAgICAgdW5kZWZpbmVkIHNldEZl
dGNoQVBJS2VlcEFsaXZlRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwogCiAgICAgW01heVRocm93
RXhjZXB0aW9uXSBET01TdHJpbmcgdXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgpOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAkocmV2aXNpb24gMjY2MzEyKQorKysg
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01
NzgsNyArNTc4LDcgQEAgdm9pZCBJbnRlcm5hbHM6OnJlc2V0VG9Db25zaXN0ZW50U3RhdGUoUAog
ICAgIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OmRpc2FibGVNb2NrKCk7CiAKICNp
ZiBFTkFCTEUoTUVESUFfU1RSRUFNKQotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJl
ZEZlYXR1cmVzKCkuc2V0SW50ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5Q2hhbmdlRW5hYmxl
ZChmYWxzZSk7CisgICAgcGFnZS5zZXR0aW5ncygpLnNldEludGVycnVwdEF1ZGlvT25QYWdlVmlz
aWJpbGl0eUNoYW5nZUVuYWJsZWQoZmFsc2UpOwogICAgIFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXI6
OnNldEN1c3RvbVByaXZhdGVSZWNvcmRlckNyZWF0b3IobnVsbHB0cik7CiAjZW5kaWYKIApAQCAt
MTY4MSw3ICsxNjgxLDkgQEAgdm9pZCBJbnRlcm5hbHM6OnNldFVzZUdQVVByb2Nlc3NGb3JXZWJS
VAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiB2b2lkIEludGVybmFsczo6c2V0U2hvdWxkSW50
ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5Q2hhbmdlKGJvb2wgc2hvdWxkSW50ZXJydXB0KQog
ewotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0SW50ZXJy
dXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5Q2hhbmdlRW5hYmxlZChzaG91bGRJbnRlcnJ1cHQpOwor
ICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGNvbnRleHREb2N1bWVudCgpOworICAgIGlmIChhdXRv
KiBwYWdlID0gZG9jdW1lbnQtPnBhZ2UoKSkKKyAgICAgICAgcGFnZS0+c2V0dGluZ3MoKS5zZXRJ
bnRlcnJ1cHRBdWRpb09uUGFnZVZpc2liaWxpdHlDaGFuZ2VFbmFibGVkKHNob3VsZEludGVycnVw
dCk7CiB9CiAKIHZvaWQgSW50ZXJuYWxzOjpzZXRNZWRpYUNhcHR1cmVSZXF1aXJlc1NlY3VyZUNv
bm5lY3Rpb24oYm9vbCBlbmFibGVkKQpAQCAtNTgxNCw3ICs1ODE2LDcgQEAgSW50ZXJuYWxzOjpU
ZXh0SW5kaWNhdG9ySW5mbyBJbnRlcm5hbHM6OgogCiB2b2lkIEludGVybmFsczo6YWRkUHJlZmV0
Y2hMb2FkRXZlbnRMaXN0ZW5lcihIVE1MTGlua0VsZW1lbnQmIGxpbmssIFJlZlB0cjxFdmVudExp
c3RlbmVyPiYmIGxpc3RlbmVyKQogewotICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpz
aGFyZWRGZWF0dXJlcygpLmxpbmtQcmVmZXRjaEVuYWJsZWQoKSAmJiBlcXVhbExldHRlcnNJZ25v
cmluZ0FTQ0lJQ2FzZShsaW5rLnJlbCgpLCAicHJlZmV0Y2giKSkgeworICAgIGlmIChsaW5rLmRv
Y3VtZW50KCkuc2V0dGluZ3MoKS5saW5rUHJlZmV0Y2hFbmFibGVkKCkgJiYgZXF1YWxMZXR0ZXJz
SWdub3JpbmdBU0NJSUNhc2UobGluay5yZWwoKSwgInByZWZldGNoIikpIHsKICAgICAgICAgbGlu
ay5hbGxvd1ByZWZldGNoTG9hZEFuZEVycm9yRm9yVGVzdGluZygpOwogICAgICAgICBsaW5rLmFk
ZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmxvYWRFdmVudCwgbGlzdGVuZXIucmVsZWFzZU5v
bk51bGwoKSwgZmFsc2UpOwogICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjYzMjgpCisr
KyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBA
CisyMDIwLTA4LTI5ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBN
YW55IHNldHRpbmdzIGluIFJ1bnRpbWVFbmFibGVkU2V0dGluZ3Mgc2hvdWxkIGF1dG9nZW5lcmF0
ZWQgU2V0dGluZ3M6IFBhcnQgMQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE1OTgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGhpcyBtb3ZlcyBhbiBpbml0aWFsIGNodW5rIG9mIFJ1bnRpbWVFbmFibGVk
U2V0dGluZ3Mgc2V0dGluZ3MgdG8gU2V0dGluZ3MueWFtbCwgZm9jdXNpbmcKKyAgICAgICAgb24g
c2V0dGluZ3MgdGhhdCBkb24ndCByZXF1aXJlIHN1YnN0YW50aWFsIHJlZmFjdG9yaW5nIG9yIG5l
dyBmZWF0dXJlcyB0byB3b3JrIGluIFNldHRpbmdzLnlhbWwuCisgICAgICAgIAorICAgICAgICBJ
biBXZWJLaXQsIHRoaXMgbWVhbnMgbW9zdGx5IHJlbW92aW5nIG5vdyB1bm5lY2Vzc2FyeSB1c2Ug
b2YgdGhlIHdlYmNvcmVCaW5kaW5nIGtleSBpbiAKKyAgICAgICAgV2ViUHJlZmVyZW5jZXMueWFt
bCBhbmQgcmVtb3Zpbmcgbm93IHN1cGVyZmx1b3VzIGNhc2VzIGluIEluamVjdGVkQnVuZGxlOjpv
dmVycmlkZUJvb2xQcmVmZXJlbmNlRm9yVGVzdFJ1bm5lci4KKworICAgICAgICAqIFNoYXJlZC9X
ZWJQcmVmZXJlbmNlcy55YW1sOgorICAgICAgICBSZW1vdmluZyBub3cgdW5uZWNlc3NhcnkgdXNl
IG9mIHRoZSB3ZWJjb3JlQmluZGluZyBrZXkgYW5kIGZpeCBpbmRlbnRhdGlvbiBvZiBhIGZldyBj
YXNlcy4KKworICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5k
bGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6b3ZlcnJpZGVCb29sUHJl
ZmVyZW5jZUZvclRlc3RSdW5uZXIpOgorICAgICAgICBSZW1vdmUgbm93IHN1cGVyZmx1b3VzIGNh
c2VzLCBhcyBlYWNoIGJvb2xlYW4gU2V0dGluZ3MgYmFzZWQgc2V0dGluZyBnZXRzIGhhbmRsZWQg
YXV0b21hdGljYWxseS4KKyAKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnVwZGF0ZVByZWZlcmVuY2VzKToKKyAgICAg
ICAgUmVtb3ZlIGV4cGxpY2l0IHNldHRpbmcgb2Ygc2V0SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlv
bkVuYWJsZWQgbm93IHRoYXQgd2UgZG9uJ3QgaGF2ZSB0aGUKKyAgICAgICAgUnVudGltZUVuYWJs
ZWRTZXR0aW5ncyB2YXJpYW50IGJlaW5nIHNldCBieSB0aGUgZ2VuZXJhdG9yLgorCiAyMDIwLTA4
LTI4ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIFNp
dGVzIGJ1aWx0IHdpdGggZmxhbWJlLmpzIGRvbid0IHdvcmsgd2l0aCB0cmFja3BhZCBvbiBpUGFk
CkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwJKHJldmlzaW9u
IDI2NjMxMikKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwJKHdv
cmtpbmcgY29weSkKQEAgLTEsNyArMSw2IEBACiBCbGFua0FuY2hvclRhcmdldEltcGxpZXNOb09w
ZW5lckVuYWJsZWQ6CiAgICB0eXBlOiBib29sCiAgICBkZWZhdWx0VmFsdWU6IHRydWUKLSAgIHdl
YmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAgICBodW1hblJlYWRhYmxlTmFt
ZTogIkJsYW5rIGFuY2hvciB0YXJnZXQgaW1wbGllcyByZWw9bm9vcGVuZXIiCiAgICBodW1hblJl
YWRhYmxlRGVzY3JpcHRpb246ICJ0YXJnZXQ9X2JsYW5rIG9uIGFuY2hvciBlbGVtZW50cyBpbXBs
aWVzIHJlbD1ub29wZW5lciIKICAgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKQEAgLTU1OCwyNCAr
NTU3LDIxIEBAIFVzZUdpYW50VGlsZXM6CiAgIGRlZmF1bHRWYWx1ZTogZmFsc2UKIAogTWVkaWFS
ZWNvcmRlckVuYWJsZWQ6Ci0gICAgdHlwZTogYm9vbAotICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UK
LSAgICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwotICAgIGNvbmRpdGlv
bjogRU5BQkxFKE1FRElBX1NUUkVBTSkKLSAgICBodW1hblJlYWRhYmxlTmFtZTogIk1lZGlhUmVj
b3JkZXIiCi0gICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiTWVkaWFSZWNvcmRlciIKLSAg
ICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCisgIHR5cGU6IGJvb2wKKyAgZGVmYXVsdFZhbHVlOiBm
YWxzZQorICBjb25kaXRpb246IEVOQUJMRShNRURJQV9TVFJFQU0pCisgIGh1bWFuUmVhZGFibGVO
YW1lOiAiTWVkaWFSZWNvcmRlciIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiTWVkaWFS
ZWNvcmRlciIKKyAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAogCiBNZWRpYURldmljZXNFbmFibGVk
OgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogZmFsc2UKLSAgd2ViY29yZUJpbmRpbmc6
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKICAgY29uZGl0aW9uOiBFTkFCTEUoTUVESUFfU1RSRUFN
KQogCiBNZWRpYVN0cmVhbUVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiB0
cnVlCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAgIGNvbmRpdGlv
bjogRU5BQkxFKE1FRElBX1NUUkVBTSkKIAogTWVkaWFFbmFibGVkOgpAQCAtNTg3LDcgKzU4Myw2
IEBAIE1lZGlhRW5hYmxlZDoKIFNjcmVlbkNhcHR1cmVFbmFibGVkOgogICB0eXBlOiBib29sCiAg
IGRlZmF1bHRWYWx1ZTogdHJ1ZQotICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0
dXJlcwogICBjb25kaXRpb246IEVOQUJMRShNRURJQV9TVFJFQU0pICYmIFBMQVRGT1JNKE1BQykK
ICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJTY3JlZW5DYXB0dXJlIgogICBodW1hblJlYWRhYmxlRGVz
Y3JpcHRpb246ICJFbmFibGUgU2NyZWVuQ2FwdHVyZSIKQEAgLTYwMiw3ICs1OTcsNiBAQCBQZWVy
Q29ubmVjdGlvbkVuYWJsZWQ6CiBJbnRlcnJ1cHRBdWRpb09uUGFnZVZpc2liaWxpdHlDaGFuZ2VF
bmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogV2ViQ29yZTo6UmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlcjo6c2hvdWxkSW50ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5Q2hh
bmdlKCkKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKICAgY29uZGl0
aW9uOiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCiBXZWJSVENIMjY0TG93TGF0ZW5jeUVuY29kZXJF
bmFibGVkOgpAQCAtNzk1LDcgKzc4OSw2IEBAIEZldGNoQVBJRW5hYmxlZDoKIERvd25sb2FkQXR0
cmlidXRlRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IHRydWUKLSAgd2Vi
Y29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKICAgY29uZGl0aW9uOiBFTkFCTEUo
RE9XTkxPQURfQVRUUklCVVRFKQogCiBTZWxlY3Rpb25QYWludGluZ1dpdGhvdXRTZWxlY3Rpb25H
YXBzRW5hYmxlZDoKQEAgLTgzMSw3ICs4MjQsNiBAQCBBbmltYXRlZEltYWdlQXN5bmNEZWNvZGlu
Z0VuYWJsZWQ6CiBDdXN0b21FbGVtZW50c0VuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVs
dFZhbHVlOiB0cnVlCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAK
IE1lbnVJdGVtRWxlbWVudEVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKQEAgLTg0MSwxNCArODMzLDEy
IEBAIE1lbnVJdGVtRWxlbWVudEVuYWJsZWQ6CiBNZWRpYVByZWxvYWRpbmdFbmFibGVkOgogICB0
eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogZmFsc2UKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXMKIAogSW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQ6CiAg
IHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiB0cnVlCiAgIGh1bWFuUmVhZGFibGVOYW1lOiAi
SFRNTCBJbnRlcmFjdGl2ZSBGb3JtIFZhbGlkYXRpb24iCiAgIGh1bWFuUmVhZGFibGVEZXNjcmlw
dGlvbjogIkhUTUwgaW50ZXJhY3RpdmUgZm9ybSB2YWxpZGF0aW9uIgotICB3ZWJjb3JlQmluZGlu
ZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogCiBTaG91bGRTdXBwcmVzc1RleHRJbnB1dEZyb21F
ZGl0aW5nRHVyaW5nUHJvdmlzaW9uYWxOYXZpZ2F0aW9uOgogICB0eXBlOiBib29sCkBAIC04NTks
MzAgKzg0OSwyNyBAQCBHYW1lcGFkc0VuYWJsZWQ6CiAgIGRlZmF1bHRWYWx1ZTogdHJ1ZQogICBo
dW1hblJlYWRhYmxlTmFtZTogIkdhbWVwYWRzIgogICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246
ICJXZWIgR2FtZXBhZCBBUEkgc3VwcG9ydCIKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXMKICAgY29uZGl0aW9uOiBFTkFCTEUoR0FNRVBBRCkKIAogSGlnaGxpZ2h0QVBJ
RW5hYmxlZDoKLSAgICB0eXBlOiBib29sCi0gICAgZGVmYXVsdFZhbHVlOiBmYWxzZQotICAgIGh1
bWFuUmVhZGFibGVOYW1lOiAiSGlnaGxpZ2h0IEFQSSIKLSAgICBodW1hblJlYWRhYmxlRGVzY3Jp
cHRpb246ICJIaWdobGlnaHQgQVBJIHN1cHBvcnQiCi0gICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXMKLSAgICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCisgIHR5cGU6IGJv
b2wKKyAgZGVmYXVsdFZhbHVlOiBmYWxzZQorICBodW1hblJlYWRhYmxlTmFtZTogIkhpZ2hsaWdo
dCBBUEkiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkhpZ2hsaWdodCBBUEkgc3VwcG9y
dCIKKyAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKKyAgY2F0ZWdvcnk6
IGV4cGVyaW1lbnRhbAogCiBJbnB1dEV2ZW50c0VuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVm
YXVsdFZhbHVlOiB0cnVlCiAgIGh1bWFuUmVhZGFibGVOYW1lOiAiSW5wdXQgRXZlbnRzIgogICBo
dW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgSW5wdXRFdmVudHMgc3VwcG9ydCIKLSAg
d2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKIAogV2ViQXV0aGVudGljYXRp
b25FbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogZmFsc2UKICAgaHVtYW5S
ZWFkYWJsZU5hbWU6ICJXZWIgQXV0aGVudGljYXRpb24iCiAgIGh1bWFuUmVhZGFibGVEZXNjcmlw
dGlvbjogIkVuYWJsZSBXZWIgQXV0aGVudGljYXRpb24gc3VwcG9ydCIKLSAgd2ViY29yZUJpbmRp
bmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKICAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAogICBj
b25kaXRpb246IEVOQUJMRShXRUJfQVVUSE4pCiAKQEAgLTg5MSw3ICs4NzgsNiBAQCBXZWJBdXRo
ZW50aWNhdGlvbkxvY2FsQXV0aGVudGljYXRvckVuYWJsCiAgIGRlZmF1bHRWYWx1ZTogZmFsc2UK
ICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJXZWIgQXV0aGVudGljYXRpb24gTG9jYWwgQXV0aGVudGlj
YXRvciIKICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIFdlYiBBdXRoZW50aWNh
dGlvbiBsb2NhbCBhdXRoZW50aWNhdG9yIHN1cHBvcnQiCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50
aW1lRW5hYmxlZEZlYXR1cmVzCiAgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKICAgY29uZGl0aW9u
OiBFTkFCTEUoV0VCX0FVVEhOKQogCkBAIC05MzUsNyArOTIxLDYgQEAgTGVnYWN5RW5jcnlwdGVk
TWVkaWFBUElFbmFibGVkOgogICBkZWZhdWx0VmFsdWU6IHRydWUKICAgaHVtYW5SZWFkYWJsZU5h
bWU6ICJFbmFibGUgTGVnYWN5IEVNRSBBUEkiCiAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjog
IkVuYWJsZSBsZWdhY3kgRU1FIEFQSSIKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXMKICAgY29uZGl0aW9uOiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkKIAog
QWxsb3dNZWRpYUNvbnRlbnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJlU3VwcG9ydEFzRmFsbGJhY2s6
CkBAIC05NjMsNyArOTQ4LDYgQEAgRGF0YVRyYW5zZmVySXRlbXNFbmFibGVkOgogICBkZWZhdWx0
VmFsdWU6IERFRkFVTFRfREFUQV9UUkFOU0ZFUl9JVEVNU19FTkFCTEVECiAgIGh1bWFuUmVhZGFi
bGVOYW1lOiAiRGF0YSBUcmFuc2ZlciBJdGVtcyIKICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9u
OiAiRW5hYmxlcyBEYXRhVHJhbnNmZXJJdGVtIGluIHRoZSBjbGlwYm9hcmQgQVBJIgotICB3ZWJj
b3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogCiBDdXN0b21QYXN0ZWJvYXJkRGF0
YUVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKQEAgLTk4NCw3ICs5NjgsNiBAQCBXZWJTaGFyZUVuYWJs
ZWQ6CiAgIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9XRUJfU0hBUkVfRU5BQkxFRAogICBodW1hblJl
YWRhYmxlTmFtZTogIldlYiBTaGFyZSIKICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5h
YmxlIHN1cHBvcnQgZm9yIHNoYXJlIHNoZWV0IHZpYSBXZWIgU2hhcmUgQVBJIgotICB3ZWJjb3Jl
QmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogCiBWaWV3cG9ydEZpdEVuYWJsZWQ6CiAg
IHR5cGU6IGJvb2wKQEAgLTEyNDcsNyArMTIzMCw2IEBAIE1lZGlhQ2FwYWJpbGl0aWVzRW5hYmxl
ZDoKIFN5c3RlbVByZXZpZXdFbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTog
ZmFsc2UKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKICAgY29uZGl0
aW9uOiBVU0UoU1lTVEVNX1BSRVZJRVcpCiAKIENhY2hlQVBJRW5hYmxlZDoKQEAgLTEyNzEsNyAr
MTI1Myw2IEBAIENyb3NzT3JpZ2luUmVzb3VyY2VQb2xpY3lFbmFibGVkOgogRGlzYWJsZWRBZGFw
dGF0aW9uc01ldGFUYWdFbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogRElT
QUJMRURfQURBUFRBVElPTlNfTUVUQV9UQUdfRU5BQkxFRAotICB3ZWJjb3JlQmluZGluZzogUnVu
dGltZUVuYWJsZWRGZWF0dXJlcwogCiBDb2xvckZpbHRlckVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wK
QEAgLTEyOTksNyArMTI4MCw2IEBAIFN0b3JhZ2VBY2Nlc3NBUElFbmFibGVkOgogTGlua1ByZWxv
YWRFbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogdHJ1ZQotICB3ZWJjb3Jl
QmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogCiBJc1NlY3VyZUNvbnRleHRBdHRyaWJ1
dGVFbmFibGVkOgogICB0eXBlOiBib29sCkBAIC0xMzIyLDcgKzEzMDIsNiBAQCBLZXlnZW5FbGVt
ZW50RW5hYmxlZDoKIEVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBk
ZWZhdWx0VmFsdWU6IHRydWUKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXMKICAgY29uZGl0aW9uOiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQogCiBWaWRlb1F1YWxpdHlJ
bmNsdWRlc0Rpc3BsYXlDb21wb3NpdGluZ0VuYWJsZWQ6CkBAIC0xMzQ3LDcgKzEzMjYsNiBAQCBJ
c0luQXBwQnJvd3NlclByaXZhY3lFbmFibGVkOgogICAgIGRlZmF1bHRWYWx1ZTogZGVmYXVsdElu
QXBwQnJvd3NlclByaXZhY3koKQogICAgIGh1bWFuUmVhZGFibGVOYW1lOiAiSW4tQXBwIEJyb3dz
ZXIgUHJpdmFjeSIKICAgICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgSW4tQXBw
IEJyb3dzZXIgUHJpdmFjeSIKLSAgICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0
dXJlcwogICAgIGNhdGVnb3J5OiBkZWJ1ZwogCiBOZWVkc0luQXBwQnJvd3NlclByaXZhY3lRdWly
a3M6CkBAIC0xMzU1LDcgKzEzMzMsNiBAQCBOZWVkc0luQXBwQnJvd3NlclByaXZhY3lRdWlya3M6
CiAgICAgZGVmYXVsdFZhbHVlOiBmYWxzZQogICAgIGh1bWFuUmVhZGFibGVOYW1lOiAiTmVlZHMg
SW4tQXBwIEJyb3dzZXIgUHJpdmFjeSBRdWlya3MiCiAgICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0
aW9uOiAiRW5hYmxlIHF1aXJrcyBuZWVkZWQgdG8gc3VwcG9ydCBJbi1BcHAgQnJvd3NlciBwcml2
YWN5IgotICAgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAgICAgY2F0
ZWdvcnk6IGRlYnVnCiAKIFNlcnZpY2VXb3JrZXJFbnRpdGxlbWVudERpc2FibGVkRm9yVGVzdGlu
ZzoKQEAgLTE0MTAsNyArMTM4Nyw2IEBAIEludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZDoKICAg
ZGVmYXVsdFZhbHVlOiB0cnVlCiAgIGh1bWFuUmVhZGFibGVOYW1lOiAiSW50ZXJzZWN0aW9uIE9i
c2VydmVyIgogICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgSW50ZXJzZWN0aW9u
IE9ic2VydmVyIHN1cHBvcnQiCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzCiAgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKICAgY29uZGl0aW9uOiBFTkFCTEUoSU5URVJT
RUNUSU9OX09CU0VSVkVSKQogCkBAIC0xNTMwLDcgKzE1MDYsNiBAQCBDU1NDdXN0b21Qcm9wZXJ0
aWVzQW5kVmFsdWVzRW5hYmxlZDoKICAgZGVmYXVsdFZhbHVlOiBmYWxzZQogICBodW1hblJlYWRh
YmxlTmFtZTogIkNTUyBDdXN0b20gUHJvcGVydGllcyBhbmQgVmFsdWVzIEFQSSIKICAgaHVtYW5S
ZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIENTUyBDdXN0b20gUHJvcGVydGllcyBhbmQgVmFs
dWVzIEFQSSIKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKICAgY2F0
ZWdvcnk6IGV4cGVyaW1lbnRhbAogCiBDU1NQYWludGluZ0FQSUVuYWJsZWQ6CkBAIC0xNTkwLDIw
ICsxNTY1LDE5IEBAIFJlc2l6ZU9ic2VydmVyRW5hYmxlZDoKICAgY29uZGl0aW9uOiBFTkFCTEUo
UkVTSVpFX09CU0VSVkVSKQogCiBBZENsaWNrQXR0cmlidXRpb25FbmFibGVkOgotICAgIHR5cGU6
IGJvb2wKLSAgICBkZWZhdWx0VmFsdWU6IGZhbHNlCi0gICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJB
ZCBDbGljayBBdHRyaWJ1dGlvbiIKLSAgICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFi
bGUgQWQgQ2xpY2sgQXR0cmlidXRpb24gZm9yIENyb3NzLVNpdGUgTGluayBOYXZpZ2F0aW9ucyIK
LSAgICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwotICAgIGNhdGVnb3J5
OiBleHBlcmltZW50YWwKKyAgdHlwZTogYm9vbAorICBkZWZhdWx0VmFsdWU6IGZhbHNlCisgIGh1
bWFuUmVhZGFibGVOYW1lOiAiQWQgQ2xpY2sgQXR0cmlidXRpb24iCisgIGh1bWFuUmVhZGFibGVE
ZXNjcmlwdGlvbjogIkVuYWJsZSBBZCBDbGljayBBdHRyaWJ1dGlvbiBmb3IgQ3Jvc3MtU2l0ZSBM
aW5rIE5hdmlnYXRpb25zIgorICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCiAKIEFkQ2xpY2tBdHRy
aWJ1dGlvbkRlYnVnTW9kZUVuYWJsZWQ6Ci0gICAgdHlwZTogYm9vbAotICAgIGRlZmF1bHRWYWx1
ZTogZmFsc2UKLSAgICBodW1hblJlYWRhYmxlTmFtZTogIkFkIENsaWNrIEF0dHJpYnV0aW9uIERl
YnVnIE1vZGUiCi0gICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIEFkIENsaWNr
IEF0dHJpYnV0aW9uIERlYnVnIE1vZGUiCi0gICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXMKLSAgICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCisgIHR5cGU6IGJvb2wKKyAg
ZGVmYXVsdFZhbHVlOiBmYWxzZQorICBodW1hblJlYWRhYmxlTmFtZTogIkFkIENsaWNrIEF0dHJp
YnV0aW9uIERlYnVnIE1vZGUiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBB
ZCBDbGljayBBdHRyaWJ1dGlvbiBEZWJ1ZyBNb2RlIgorICB3ZWJjb3JlQmluZGluZzogUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcworICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCiAKIEZldGNoQVBJS2Vl
cEFsaXZlRW5hYmxlZDoKICAgdHlwZTogYm9vbApAQCAtMTkyNiw3ICsxOTAwLDYgQEAgVW5kb01h
bmFnZXJBUElFbmFibGVkOgogICBodW1hblJlYWRhYmxlTmFtZTogIlVuZG9NYW5hZ2VyIERPTSBB
UEkiCiAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSB0aGUgVW5kb01hbmFnZXIg
RE9NIEFQSSIKICAgY2F0ZWdvcnk6IGludGVybmFsCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzCiAKIENTU0xvZ2ljYWxFbmFibGVkOgogICB0eXBlOiBib29sCkBAIC0x
OTg5LDcgKzE5NjIsNiBAQCBSZWZlcnJlclBvbGljeUF0dHJpYnV0ZUVuYWJsZWQ6CiAgIGh1bWFu
UmVhZGFibGVOYW1lOiAiUmVmZXJyZXIgUG9saWN5IGF0dHJpYnV0ZSIKICAgaHVtYW5SZWFkYWJs
ZURlc2NyaXB0aW9uOiAiRW5hYmxlIFJlZmVycmVyIFBvbGljeSBhdHRyaWJ1dGUiCiAgIGNhdGVn
b3J5OiBleHBlcmltZW50YWwKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXMKIAogUGFnZUF0UnVsZVN1cHBvcnRFbmFibGVkOgogICB0eXBlOiBib29sCkBAIC0yMDE5LDcg
KzE5OTEsNiBAQCBMaW5rUHJlZmV0Y2hFbmFibGVkOgogICBkZWZhdWx0VmFsdWU6IGZhbHNlCiAg
IGh1bWFuUmVhZGFibGVOYW1lOiAiTGlua1ByZWZldGNoIgogICBodW1hblJlYWRhYmxlRGVzY3Jp
cHRpb246ICJFbmFibGUgTGlua2VkUHJlZmV0Y2giCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzCiAgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKIAogTGlua1ByZWxvYWRS
ZXNwb25zaXZlSW1hZ2VzRW5hYmxlZDoKQEAgLTIwMjcsNyArMTk5OCw2IEBAIExpbmtQcmVsb2Fk
UmVzcG9uc2l2ZUltYWdlc0VuYWJsZWQ6CiAgIGRlZmF1bHRWYWx1ZTogZmFsc2UKICAgaHVtYW5S
ZWFkYWJsZU5hbWU6ICJMaW5rIHByZWxvYWQgcmVzcG9uc2l2ZSBpbWFnZXMiCiAgIGh1bWFuUmVh
ZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBsaW5rIHByZWxvYWQgcmVzcG9uc2l2ZSBpbWFnZXMi
Ci0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAgIGNhdGVnb3J5OiBl
eHBlcmltZW50YWwKIAogSXNOU1VSTFNlc3Npb25XZWJTb2NrZXRFbmFibGVkOgpAQCAtMjA0NCw3
ICsyMDE0LDYgQEAgTGF6eUltYWdlTG9hZGluZ0VuYWJsZWQ6CiAgIGRlZmF1bHRWYWx1ZTogZmFs
c2UKICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJMYXp5IEltYWdlIExvYWRpbmciCiAgIGh1bWFuUmVh
ZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBMYXp5IEltYWdlIExvYWRpbmcgc3VwcG9ydCIKLSAg
d2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKICAgY2F0ZWdvcnk6IGV4cGVy
aW1lbnRhbAogCiBJc1RoaXJkUGFydHlDb29raWVCbG9ja2luZ0Rpc2FibGVkOgpAQCAtMjEzMyw3
ICsyMTAyLDYgQEAgV2ViU2hhcmVGaWxlQVBJRW5hYmxlZDoKICAgICBkZWZhdWx0VmFsdWU6IGZh
bHNlCiAgICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJXZWIgU2hhcmUgQVBJIExldmVsIDIiCiAgICAg
aHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIGxldmVsIDIgb2YgV2ViIFNoYXJlIEFQ
SSIKLSAgICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogICAgIGNhdGVn
b3J5OiBleHBlcmltZW50YWwKIAogSW5jcmVtZW50YWxQREZMb2FkaW5nRW5hYmxlZDoKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0luamVjdGVkQnVuZGxlLmNwcAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjAzLDkgKzIwMyw2IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6Om92ZXJyaWRlQm9vbFBy
ZWZlcmUKICAgICBpZiAocHJlZmVyZW5jZSA9PSAiV2ViS2l0VHJhbnNmb3JtU3RyZWFtQVBJRW5h
YmxlZCIpCiAgICAgICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCku
c2V0VHJhbnNmb3JtU3RyZWFtQVBJRW5hYmxlZChlbmFibGVkKTsKIAotICAgIGlmIChwcmVmZXJl
bmNlID09ICJXZWJLaXRJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZCIpCi0gICAgICAg
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0SW50ZXJhY3RpdmVG
b3JtVmFsaWRhdGlvbkVuYWJsZWQoZW5hYmxlZCk7Ci0KICNpZiBFTkFCTEUoV0VCR0wyKQogICAg
IGlmIChwcmVmZXJlbmNlID09ICJXZWJLaXRXZWJHTDJFbmFibGVkIikKICAgICAgICAgUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRXZWJHTDJFbmFibGVkKGVuYWJs
ZWQpOwpAQCAtMjE5LDIwICsyMTYsNiBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpvdmVycmlkZUJv
b2xQcmVmZXJlCiAgICAgaWYgKHByZWZlcmVuY2UgPT0gIldlYktpdE1vZGVybk1lZGlhQ29udHJv
bHNFbmFibGVkIikKICAgICAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVy
ZXMoKS5zZXRNb2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZChlbmFibGVkKTsKIAotI2lmIEVOQUJM
RShFTkNSWVBURURfTUVESUEpCi0gICAgaWYgKHByZWZlcmVuY2UgPT0gIldlYktpdEVuY3J5cHRl
ZE1lZGlhQVBJRW5hYmxlZCIpIHsKLSAgICAgICAgV2ViUHJlZmVyZW5jZXNTdG9yZTo6b3ZlcnJp
ZGVCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmVuY3J5cHRlZE1lZGlhQVBJRW5h
YmxlZEtleSgpLCBlbmFibGVkKTsKLSAgICAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5zZXRFbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQoZW5hYmxlZCk7Ci0gICAg
fQotI2VuZGlmCi0KLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQotICAgIGlmIChwcmVmZXJlbmNl
ID09ICJXZWJLaXRNZWRpYURldmljZXNFbmFibGVkIikKLSAgICAgICAgUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRNZWRpYURldmljZXNFbmFibGVkKGVuYWJsZWQp
OwotICAgIGlmIChwcmVmZXJlbmNlID09ICJXZWJLaXRTY3JlZW5DYXB0dXJlRW5hYmxlZCIpCi0g
ICAgICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0U2NyZWVu
Q2FwdHVyZUVuYWJsZWQoZW5hYmxlZCk7Ci0jZW5kaWYKLQogI2lmIEVOQUJMRShXRUJfUlRDKQog
ICAgIGlmIChwcmVmZXJlbmNlID09ICJXZWJLaXRXZWJSVENNRE5TSUNFQ2FuZGlkYXRlc0VuYWJs
ZWQiKQogICAgICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNl
dFdlYlJUQ01ETlNJQ0VDYW5kaWRhdGVzRW5hYmxlZChlbmFibGVkKTsKQEAgLTI2Miw5ICsyNDUs
NiBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpvdmVycmlkZUJvb2xQcmVmZXJlCiAgICAgaWYgKHBy
ZWZlcmVuY2UgPT0gIldlYktpdFdlYkFQSVN0YXRpc3RpY3NFbmFibGVkIikKICAgICAgICAgUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRXZWJBUElTdGF0aXN0aWNz
RW5hYmxlZChlbmFibGVkKTsKIAotICAgIGlmIChwcmVmZXJlbmNlID09ICJDU1NDdXN0b21Qcm9w
ZXJ0aWVzQW5kVmFsdWVzRW5hYmxlZCIpCi0gICAgICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNoYXJlZEZlYXR1cmVzKCkuc2V0Q1NTQ3VzdG9tUHJvcGVydGllc0FuZFZhbHVlc0VuYWJsZWQo
ZW5hYmxlZCk7Ci0KICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKICAgICBp
ZiAocHJlZmVyZW5jZSA9PSAiTGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRFbmFibGVkIikKICAgICAg
ICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRMYXlvdXRGb3Jt
YXR0aW5nQ29udGV4dEVuYWJsZWQoZW5hYmxlZCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkocmV2aXNpb24gMjY2MzEyKQorKysgU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTM3MjYsOSArMzcyNiw2IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMoY29uc3Qg
V2UKICAgICBzZXR0aW5ncy5zZXRQYXltZW50UmVxdWVzdEVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZh
bHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjphcHBsZVBheUVuYWJsZWRLZXkoKSkpOwogI2Vu
ZGlmCiAKLSAgICAvLyBGSVhNRTogVGhpcyBpcyBib3RoIGEgUnVudGltZUVuYWJsZWRGZWF0dXJl
cyAoZ2VuZXJhdGVkKSBhbmQgYSBzZXR0aW5nLiBJdCBzaG91bGQgcGljayBvbmUuCi0gICAgc2V0
dGluZ3Muc2V0SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZh
bHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjppbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5h
YmxlZEtleSgpKSk7Ci0KICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIHNldEZvcmNlQWx3
YXlzVXNlclNjYWxhYmxlKG1fZm9yY2VBbHdheXNVc2VyU2NhbGFibGUgfHwgc3RvcmUuZ2V0Qm9v
bFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojpmb3JjZUFsd2F5c1VzZXJTY2FsYWJsZUtl
eSgpKSk7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2NjMx
MikKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE3IEBACisyMDIwLTA4LTI5ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNv
bT4KKworICAgICAgICBNYW55IHNldHRpbmdzIGluIFJ1bnRpbWVFbmFibGVkU2V0dGluZ3Mgc2hv
dWxkIGF1dG9nZW5lcmF0ZWQgU2V0dGluZ3M6IFBhcnQgMQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1OTgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBtb3ZlcyBhbiBpbml0aWFsIGNodW5rIG9m
IFJ1bnRpbWVFbmFibGVkU2V0dGluZ3Mgc2V0dGluZ3MgdG8gU2V0dGluZ3MueWFtbCwgZm9jdXNp
bmcKKyAgICAgICAgb24gc2V0dGluZ3MgdGhhdCBkb24ndCByZXF1aXJlIHN1YnN0YW50aWFsIHJl
ZmFjdG9yaW5nIG9yIG5ldyBmZWF0dXJlcyB0byB3b3JrIGluIFNldHRpbmdzLnlhbWwuCisKKyAg
ICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX3ByZWZlcmVu
Y2VzQ2hhbmdlZDpdKToKKyAgICAgICAgVXBkYXRlIGNoYW5nZWQgc2V0dGluZ3MgdG8gdXNlIFNl
dHRpbmdzIHJhdGhlciB0aGFuIFJ1bnRpbWVFbmFibGVkU2V0dGluZ3MuCisKIDIwMjAtMDgtMjgg
IERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBhbG1vc3Qg
YWxsIHRoZSByZW1haW5pbmcgdXNlcyBvZiBsaXZlIHJhbmdlcwpJbmRleDogU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkocmV2aXNpb24gMjY2MzEyKQorKysgU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBA
IC0zMjg1LDkgKzMyODUsOSBAQCAtICh2b2lkKV9wcmVmZXJlbmNlc0NoYW5nZWQ6KFdlYlByZWZl
cmVuCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICBzZXR0aW5ncy5zZXRNb2NrQ2FwdHVy
ZURldmljZXNFbmFibGVkKGZhbHNlKTsKICAgICBzZXR0aW5ncy5zZXRNZWRpYUNhcHR1cmVSZXF1
aXJlc1NlY3VyZUNvbm5lY3Rpb24odHJ1ZSk7Ci0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS5zZXRNZWRpYVN0cmVhbUVuYWJsZWQoZmFsc2UpOwotICAgIFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TWVkaWFEZXZpY2VzRW5hYmxl
ZChmYWxzZSk7Ci0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5z
ZXRNZWRpYVJlY29yZGVyRW5hYmxlZChwcmVmZXJlbmNlcy5tZWRpYVJlY29yZGVyRW5hYmxlZCk7
CisgICAgc2V0dGluZ3Muc2V0TWVkaWFTdHJlYW1FbmFibGVkKGZhbHNlKTsKKyAgICBzZXR0aW5n
cy5zZXRNZWRpYURldmljZXNFbmFibGVkKGZhbHNlKTsKKyAgICBzZXR0aW5ncy5zZXRNZWRpYVJl
Y29yZGVyRW5hYmxlZChwcmVmZXJlbmNlcy5tZWRpYVJlY29yZGVyRW5hYmxlZCk7CiAjZW5kaWYK
IAogI2lmIEVOQUJMRShXRUJfUlRDKQpAQCAtMzMwOCw3ICszMzA4LDcgQEAgLSAodm9pZClfcHJl
ZmVyZW5jZXNDaGFuZ2VkOihXZWJQcmVmZXJlbgogCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2hhcmVkRmVhdHVyZXMoKS5zZXRMaW5lSGVpZ2h0VW5pdHNFbmFibGVkKFtwcmVmZXJlbmNl
cyBsaW5lSGVpZ2h0VW5pdHNFbmFibGVkXSk7CiAKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpzaGFyZWRGZWF0dXJlcygpLnNldEFkQ2xpY2tBdHRyaWJ1dGlvbkVuYWJsZWQoW3ByZWZlcmVu
Y2VzIGFkQ2xpY2tBdHRyaWJ1dGlvbkVuYWJsZWRdKTsKKyAgICBzZXR0aW5ncy5zZXRBZENsaWNr
QXR0cmlidXRpb25FbmFibGVkKFtwcmVmZXJlbmNlcyBhZENsaWNrQXR0cmlidXRpb25FbmFibGVk
XSk7CiAKICAgICBzZXR0aW5ncy5zZXRIaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxl
ZChbcHJlZmVyZW5jZXMgaGlkZGVuUGFnZURPTVRpbWVyVGhyb3R0bGluZ0VuYWJsZWRdKTsKIApA
QCAtMzMyMCwyMSArMzMyMCwyMSBAQCAtICh2b2lkKV9wcmVmZXJlbmNlc0NoYW5nZWQ6KFdlYlBy
ZWZlcmVuCiAgICAgc2V0dGluZ3Muc2V0Q29uc3RhbnRQcm9wZXJ0aWVzRW5hYmxlZChbcHJlZmVy
ZW5jZXMgY29uc3RhbnRQcm9wZXJ0aWVzRW5hYmxlZF0pOwogCiAjaWYgRU5BQkxFKEdBTUVQQUQp
Ci0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRHYW1lcGFk
c0VuYWJsZWQoW3ByZWZlcmVuY2VzIGdhbWVwYWRzRW5hYmxlZF0pOworICAgIHNldHRpbmdzLnNl
dEdhbWVwYWRzRW5hYmxlZChbcHJlZmVyZW5jZXMgZ2FtZXBhZHNFbmFibGVkXSk7CiAjZW5kaWYK
IAogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0SGlnaGxp
Z2h0QVBJRW5hYmxlZChbcHJlZmVyZW5jZXMgaGlnaGxpZ2h0QVBJRW5hYmxlZF0pOwogCiAgICAg
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRTaGFkb3dET01FbmFi
bGVkKFtwcmVmZXJlbmNlcyBzaGFkb3dET01FbmFibGVkXSk7Ci0gICAgUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRDdXN0b21FbGVtZW50c0VuYWJsZWQoW3ByZWZl
cmVuY2VzIGN1c3RvbUVsZW1lbnRzRW5hYmxlZF0pOwotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0RGF0YVRyYW5zZmVySXRlbXNFbmFibGVkKFtwcmVmZXJl
bmNlcyBkYXRhVHJhbnNmZXJJdGVtc0VuYWJsZWRdKTsKKyAgICBzZXR0aW5ncy5zZXRDdXN0b21F
bGVtZW50c0VuYWJsZWQoW3ByZWZlcmVuY2VzIGN1c3RvbUVsZW1lbnRzRW5hYmxlZF0pOworICAg
IHNldHRpbmdzLnNldERhdGFUcmFuc2Zlckl0ZW1zRW5hYmxlZChbcHJlZmVyZW5jZXMgZGF0YVRy
YW5zZmVySXRlbXNFbmFibGVkXSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS5zZXRDdXN0b21QYXN0ZWJvYXJkRGF0YUVuYWJsZWQoW3ByZWZlcmVuY2VzIGN1
c3RvbVBhc3RlYm9hcmREYXRhRW5hYmxlZF0pOwogCiAjaWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxF
TUVOVCkKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEF0
dGFjaG1lbnRFbGVtZW50RW5hYmxlZChbcHJlZmVyZW5jZXMgYXR0YWNobWVudEVsZW1lbnRFbmFi
bGVkXSk7CiAjZW5kaWYKIAotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1
cmVzKCkuc2V0SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQoW3NlbGYgaW50ZXJhY3Rp
dmVGb3JtVmFsaWRhdGlvbkVuYWJsZWRdKTsKKyAgICBzZXR0aW5ncy5zZXRJbnRlcmFjdGl2ZUZv
cm1WYWxpZGF0aW9uRW5hYmxlZChbc2VsZiBpbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxl
ZF0pOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TW9k
ZXJuTWVkaWFDb250cm9sc0VuYWJsZWQoW3ByZWZlcmVuY2VzIG1vZGVybk1lZGlhQ29udHJvbHNF
bmFibGVkXSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5z
ZXRXZWJBbmltYXRpb25zQ1NTSW50ZWdyYXRpb25FbmFibGVkKFtwcmVmZXJlbmNlcyB3ZWJBbmlt
YXRpb25zQ1NTSW50ZWdyYXRpb25FbmFibGVkXSk7CiAKQEAgLTMzNTgsNDQgKzMzNTgsNDQgQEAg
LSAodm9pZClfcHJlZmVyZW5jZXNDaGFuZ2VkOihXZWJQcmVmZXJlbgogI2VuZGlmCiAKICNpZiBF
TkFCTEUoRE9XTkxPQURfQVRUUklCVVRFKQotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNo
YXJlZEZlYXR1cmVzKCkuc2V0RG93bmxvYWRBdHRyaWJ1dGVFbmFibGVkKFtwcmVmZXJlbmNlcyBk
b3dubG9hZEF0dHJpYnV0ZUVuYWJsZWRdKTsKKyAgICBzZXR0aW5ncy5zZXREb3dubG9hZEF0dHJp
YnV0ZUVuYWJsZWQoW3ByZWZlcmVuY2VzIGRvd25sb2FkQXR0cmlidXRlRW5hYmxlZF0pOwogI2Vu
ZGlmCiAKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFdl
YkFuaW1hdGlvbnNFbmFibGVkKFtwcmVmZXJlbmNlcyB3ZWJBbmltYXRpb25zRW5hYmxlZF0pOwog
ICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0V2ViQW5pbWF0
aW9uc0NvbXBvc2l0ZU9wZXJhdGlvbnNFbmFibGVkKFtwcmVmZXJlbmNlcyB3ZWJBbmltYXRpb25z
Q29tcG9zaXRlT3BlcmF0aW9uc0VuYWJsZWRdKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpzaGFyZWRGZWF0dXJlcygpLnNldFdlYkFuaW1hdGlvbnNNdXRhYmxlVGltZWxpbmVzRW5hYmxl
ZChbcHJlZmVyZW5jZXMgd2ViQW5pbWF0aW9uc011dGFibGVUaW1lbGluZXNFbmFibGVkXSk7CiAK
LSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldENTU0N1c3Rv
bVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVkKFtwcmVmZXJlbmNlcyBDU1NDdXN0b21Qcm9wZXJ0
aWVzQW5kVmFsdWVzRW5hYmxlZF0pOworICAgIHNldHRpbmdzLnNldENTU0N1c3RvbVByb3BlcnRp
ZXNBbmRWYWx1ZXNFbmFibGVkKFtwcmVmZXJlbmNlcyBDU1NDdXN0b21Qcm9wZXJ0aWVzQW5kVmFs
dWVzRW5hYmxlZF0pOwogCiAjaWYgRU5BQkxFKElOVEVSU0VDVElPTl9PQlNFUlZFUikKLSAgICBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEludGVyc2VjdGlvbk9i
c2VydmVyRW5hYmxlZChwcmVmZXJlbmNlcy5pbnRlcnNlY3Rpb25PYnNlcnZlckVuYWJsZWQpOwor
ICAgIHNldHRpbmdzLnNldEludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZChwcmVmZXJlbmNlcy5p
bnRlcnNlY3Rpb25PYnNlcnZlckVuYWJsZWQpOwogI2VuZGlmCiAKICAgICBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFVzZXJUaW1pbmdFbmFibGVkKHByZWZlcmVu
Y2VzLnVzZXJUaW1pbmdFbmFibGVkKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFy
ZWRGZWF0dXJlcygpLnNldFJlc291cmNlVGltaW5nRW5hYmxlZChwcmVmZXJlbmNlcy5yZXNvdXJj
ZVRpbWluZ0VuYWJsZWQpOwotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1
cmVzKCkuc2V0TGlua1ByZWxvYWRFbmFibGVkKHByZWZlcmVuY2VzLmxpbmtQcmVsb2FkRW5hYmxl
ZCk7Ci0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRNZWRp
YVByZWxvYWRpbmdFbmFibGVkKHByZWZlcmVuY2VzLm1lZGlhUHJlbG9hZGluZ0VuYWJsZWQpOwor
ICAgIHNldHRpbmdzLnNldExpbmtQcmVsb2FkRW5hYmxlZChwcmVmZXJlbmNlcy5saW5rUHJlbG9h
ZEVuYWJsZWQpOworICAgIHNldHRpbmdzLnNldE1lZGlhUHJlbG9hZGluZ0VuYWJsZWQocHJlZmVy
ZW5jZXMubWVkaWFQcmVsb2FkaW5nRW5hYmxlZCk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2hhcmVkRmVhdHVyZXMoKS5zZXRJc1NlY3VyZUNvbnRleHRBdHRyaWJ1dGVFbmFibGVkKHBy
ZWZlcmVuY2VzLmlzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVuYWJsZWQpOwogICAgIFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0RGlyZWN0b3J5VXBsb2FkRW5hYmxl
ZChbcHJlZmVyZW5jZXMgZGlyZWN0b3J5VXBsb2FkRW5hYmxlZF0pOwogICAgIFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TWVudUl0ZW1FbGVtZW50RW5hYmxlZChb
cHJlZmVyZW5jZXMgbWVudUl0ZW1FbGVtZW50RW5hYmxlZF0pOwogICAgIFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0QWNjZXNzaWJpbGl0eU9iamVjdE1vZGVsRW5h
YmxlZChbcHJlZmVyZW5jZXMgYWNjZXNzaWJpbGl0eU9iamVjdE1vZGVsRW5hYmxlZF0pOwogICAg
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0QXJpYVJlZmxlY3Rp
b25FbmFibGVkKFtwcmVmZXJlbmNlcyBhcmlhUmVmbGVjdGlvbkVuYWJsZWRdKTsKICAgICBSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEZldGNoQVBJS2VlcEFsaXZl
RW5hYmxlZChbcHJlZmVyZW5jZXMgZmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkXSk7Ci0gICAgUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRSZWZlcnJlclBvbGljeUF0
dHJpYnV0ZUVuYWJsZWQoW3ByZWZlcmVuY2VzIHJlZmVycmVyUG9saWN5QXR0cmlidXRlRW5hYmxl
ZF0pOwotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TGlu
a1ByZWxvYWRSZXNwb25zaXZlSW1hZ2VzRW5hYmxlZChbcHJlZmVyZW5jZXMgbGlua1ByZWxvYWRS
ZXNwb25zaXZlSW1hZ2VzRW5hYmxlZF0pOworICAgIHNldHRpbmdzLnNldFJlZmVycmVyUG9saWN5
QXR0cmlidXRlRW5hYmxlZChbcHJlZmVyZW5jZXMgcmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGVFbmFi
bGVkXSk7CisgICAgc2V0dGluZ3Muc2V0TGlua1ByZWxvYWRSZXNwb25zaXZlSW1hZ2VzRW5hYmxl
ZChbcHJlZmVyZW5jZXMgbGlua1ByZWxvYWRSZXNwb25zaXZlSW1hZ2VzRW5hYmxlZF0pOwogICAg
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0RGlhbG9nRWxlbWVu
dEVuYWJsZWQoW3ByZWZlcmVuY2VzIGRpYWxvZ0VsZW1lbnRFbmFibGVkXSk7CiAgICAgUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRLZXlnZW5FbGVtZW50RW5hYmxl
ZChbcHJlZmVyZW5jZXMga2V5Z2VuRWxlbWVudEVuYWJsZWRdKTsKICAgICBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldENTU1NoYWRvd1BhcnRzRW5hYmxlZChbcHJl
ZmVyZW5jZXMgY3NzU2hhZG93UGFydHNFbmFibGVkXSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRMYXlvdXRGb3JtYXR0aW5nQ29udGV4dEludGVncmF0
aW9uRW5hYmxlZChbcHJlZmVyZW5jZXMgbGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRJbnRlZ3JhdGlv
bkVuYWJsZWRdKTsKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygp
LnNldElzSW5BcHBCcm93c2VyUHJpdmFjeUVuYWJsZWQoW3ByZWZlcmVuY2VzIGlzSW5BcHBCcm93
c2VyUHJpdmFjeUVuYWJsZWRdKTsKKyAgICBzZXR0aW5ncy5zZXRJc0luQXBwQnJvd3NlclByaXZh
Y3lFbmFibGVkKFtwcmVmZXJlbmNlcyBpc0luQXBwQnJvd3NlclByaXZhY3lFbmFibGVkXSk7CiAg
ICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRXZWJTUUxEaXNh
YmxlZCghW3ByZWZlcmVuY2VzIHdlYlNRTEVuYWJsZWRdKTsKICAgICAKICNpZiBFTkFCTEUoTEVH
QUNZX0VOQ1JZUFRFRF9NRURJQSkKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRG
ZWF0dXJlcygpLnNldExlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZChwcmVmZXJlbmNlcy5s
ZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQpOworICAgIHNldHRpbmdzLnNldExlZ2FjeUVu
Y3J5cHRlZE1lZGlhQVBJRW5hYmxlZChwcmVmZXJlbmNlcy5sZWdhY3lFbmNyeXB0ZWRNZWRpYUFQ
SUVuYWJsZWQpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQotICAgIFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0RW5jcnlwdGVkTWVkaWFB
UElFbmFibGVkKHByZWZlcmVuY2VzLmVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZCk7CisgICAgc2V0
dGluZ3Muc2V0RW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKHByZWZlcmVuY2VzLmVuY3J5cHRlZE1l
ZGlhQVBJRW5hYmxlZCk7CiAjZW5kaWYKIAogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNo
YXJlZEZlYXR1cmVzKCkuc2V0VXNlckdlc3R1cmVQcm9taXNlUHJvcGFnYXRpb25FbmFibGVkKHBy
ZWZlcmVuY2VzLnVzZXJHZXN0dXJlUHJvbWlzZVByb3BhZ2F0aW9uRW5hYmxlZCk7CkluZGV4OiBT
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjYzMTIpCisrKyBTb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAor
MjAyMC0wOC0yOSAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgTWFu
eSBzZXR0aW5ncyBpbiBSdW50aW1lRW5hYmxlZFNldHRpbmdzIHNob3VsZCBhdXRvZ2VuZXJhdGVk
IFNldHRpbmdzOiBQYXJ0IDEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxNTk4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoaXMgbW92ZXMgYW4gaW5pdGlhbCBjaHVuayBvZiBSdW50aW1lRW5hYmxlZFNl
dHRpbmdzIHNldHRpbmdzIHRvIFNldHRpbmdzLnlhbWwsIGZvY3VzaW5nCisgICAgICAgIG9uIHNl
dHRpbmdzIHRoYXQgZG9uJ3QgcmVxdWlyZSBzdWJzdGFudGlhbCByZWZhY3RvcmluZyBvciBuZXcg
ZmVhdHVyZXMgdG8gd29yayBpbiBTZXR0aW5ncy55YW1sLgorCisgICAgICAgICogV2ViVmlldy5j
cHA6CisgICAgICAgIChXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQpOgorICAgICAg
ICBVcGRhdGUgY2hhbmdlZCBzZXR0aW5ncyB0byB1c2UgU2V0dGluZ3MgcmF0aGVyIHRoYW4gUnVu
dGltZUVuYWJsZWRTZXR0aW5ncy4KKwogMjAyMC0wOC0yMCAgRGFyaW4gQWRsZXIgIDxkYXJpbkBh
cHBsZS5jb20+CiAKICAgICAgICAgTW92ZSBub2RlIGdlb21ldHJ5IGZ1bmN0aW9ucyBmcm9tIFJh
bmdlIHRvIFJlbmRlck9iamVjdApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmll
dy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAJ
KHJldmlzaW9uIDI2NjMxMikKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC01MjQyLDcgKzUyNDIsNyBAQCBIUkVTVUxUIFdlYlZpZXc6Om5v
dGlmeVByZWZlcmVuY2VzQ2hhbmdlCiAgICAgaHIgPSBwcmVmc1ByaXZhdGUtPmN1c3RvbUVsZW1l
bnRzRW5hYmxlZCgmZW5hYmxlZCk7CiAgICAgaWYgKEZBSUxFRChocikpCiAgICAgICAgIHJldHVy
biBocjsKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEN1
c3RvbUVsZW1lbnRzRW5hYmxlZCghIWVuYWJsZWQpOworICAgIHNldHRpbmdzLnNldEN1c3RvbUVs
ZW1lbnRzRW5hYmxlZCghIWVuYWJsZWQpOwogCiAgICAgaHIgPSBwcmVmc1ByaXZhdGUtPm1lbnVJ
dGVtRWxlbWVudEVuYWJsZWQoJmVuYWJsZWQpOwogICAgIGlmIChGQUlMRUQoaHIpKQpAQCAtNTI4
Miw3ICs1MjgyLDcgQEAgSFJFU1VMVCBXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZQog
ICAgIGhyID0gcHJlZnNQcml2YXRlLT5DU1NDdXN0b21Qcm9wZXJ0aWVzQW5kVmFsdWVzRW5hYmxl
ZCgmZW5hYmxlZCk7CiAgICAgaWYgKEZBSUxFRChocikpCiAgICAgICAgIHJldHVybiBocjsKLSAg
ICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldENTU0N1c3RvbVBy
b3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVkKCEhZW5hYmxlZCk7CisgICAgc2V0dGluZ3Muc2V0Q1NT
Q3VzdG9tUHJvcGVydGllc0FuZFZhbHVlc0VuYWJsZWQoISFlbmFibGVkKTsKIAogICAgIGhyID0g
cHJlZnNQcml2YXRlLT51c2VyVGltaW5nRW5hYmxlZCgmZW5hYmxlZCk7CiAgICAgaWYgKEZBSUxF
RChocikpCkBAIC01Mjk3LDcgKzUyOTcsNyBAQCBIUkVTVUxUIFdlYlZpZXc6Om5vdGlmeVByZWZl
cmVuY2VzQ2hhbmdlCiAgICAgaHIgPSBwcmVmc1ByaXZhdGUtPmxpbmtQcmVsb2FkRW5hYmxlZCgm
ZW5hYmxlZCk7CiAgICAgaWYgKEZBSUxFRChocikpCiAgICAgICAgIHJldHVybiBocjsKLSAgICBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldExpbmtQcmVsb2FkRW5h
YmxlZCghIWVuYWJsZWQpOworICAgIHNldHRpbmdzLnNldExpbmtQcmVsb2FkRW5hYmxlZCghIWVu
YWJsZWQpOwogCiAgICAgaHIgPSBwcmVmc1ByaXZhdGUtPmZldGNoQVBJS2VlcEFsaXZlRW5hYmxl
ZCgmZW5hYmxlZCk7CiAgICAgaWYgKEZBSUxFRChocikpCkBAIC01MzA3LDcgKzUzMDcsNyBAQCBI
UkVTVUxUIFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlCiAgICAgaHIgPSBwcmVmc1By
aXZhdGUtPm1lZGlhUHJlbG9hZGluZ0VuYWJsZWQoJmVuYWJsZWQpOwogICAgIGlmIChGQUlMRUQo
aHIpKQogICAgICAgICByZXR1cm4gaHI7Ci0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5zZXRNZWRpYVByZWxvYWRpbmdFbmFibGVkKCEhZW5hYmxlZCk7CisgICAg
c2V0dGluZ3Muc2V0TWVkaWFQcmVsb2FkaW5nRW5hYmxlZCghIWVuYWJsZWQpOwogCiAgICAgaHIg
PSBwcmVmc1ByaXZhdGUtPmlzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVuYWJsZWQoJmVuYWJsZWQp
OwogICAgIGlmIChGQUlMRUQoaHIpKQpAQCAtNTMxNyw3ICs1MzE3LDcgQEAgSFJFU1VMVCBXZWJW
aWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZQogICAgIGhyID0gcHJlZnNQcml2YXRlLT5kYXRh
VHJhbnNmZXJJdGVtc0VuYWJsZWQoJmVuYWJsZWQpOwogICAgIGlmIChGQUlMRUQoaHIpKQogICAg
ICAgICByZXR1cm4gaHI7Ci0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVy
ZXMoKS5zZXREYXRhVHJhbnNmZXJJdGVtc0VuYWJsZWQoISFlbmFibGVkKTsKKyAgICBzZXR0aW5n
cy5zZXREYXRhVHJhbnNmZXJJdGVtc0VuYWJsZWQoISFlbmFibGVkKTsKIAogICAgIGhyID0gcHJl
ZnNQcml2YXRlLT5pbnNwZWN0b3JBZGRpdGlvbnNFbmFibGVkKCZlbmFibGVkKTsKICAgICBpZiAo
RkFJTEVEKGhyKSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407585</attachid>
            <date>2020-08-30 19:19:52 -0700</date>
            <delta_ts>2020-08-31 10:36:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215981-20200830191951.patch</filename>
            <type>text/plain</type>
            <size>162860</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2NjM0MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzMCBAQAorMjAyMC0wOC0zMCAgU2FtIFdl
aW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgTWFueSBzZXR0aW5ncyBpbiBSdW50
aW1lRW5hYmxlZFNldHRpbmdzIHNob3VsZCBhdXRvZ2VuZXJhdGVkIFNldHRpbmdzOiBQYXJ0IDEK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTk4MQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgbW92
ZXMgYW4gaW5pdGlhbCBjaHVuayBvZiBSdW50aW1lRW5hYmxlZFNldHRpbmdzIHNldHRpbmdzIHRv
IFNldHRpbmdzLnlhbWwsIGZvY3VzaW5nCisgICAgICAgIG9uIHNldHRpbmdzIHRoYXQgZG9uJ3Qg
cmVxdWlyZSBzdWJzdGFudGlhbCByZWZhY3RvcmluZyBvciBuZXcgZmVhdHVyZXMgdG8gd29yayBp
biBTZXR0aW5ncy55YW1sLgorICAgICAgICAKKyAgICAgICAgVGhlIG9uZSAic3Vic3RhbnRpYWwi
IGNoYW5nZSB0byBTZXR0aW5ncyBnZW5lcmF0aW9uIHdhcyB0byBzd2l0Y2ggdGhlIGNvbmRpdGlv
bmFsIGtleSwgdG8gcmVxdWlyZQorICAgICAgICB0aGUgY29tcGxldGUgY29uZGl0aW9uYWwgZm9y
bSAoZS5nLiByZXF1aXJlIEVOQUJMRShGT08pIHJhdGhlciB0aGFuIEZPTyksIHdoaWNoIG1hdGNo
ZXMgCisgICAgICAgIFdlYlByZWZlcmVuY2VzLnlhbWwgaW4gV2ViS2l0LCBhbmQgaXMgbW9yZSB2
ZXJzaXRpbGUgYWxsb3dpbmcgbm9uLUVOQUJMRSBiYXNlZCBjb25kaXRpb25hbHMuIAorCisgICAg
ICAgICogTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9CYXNpY0NyZWRlbnRpYWwuaWRsOgor
ICAgICAgICAqIE1vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbHNDb250YWlu
ZXIuaWRsOgorICAgICAgICAqIE1vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvTmF2aWdhdG9y
Q3JlZGVudGlhbHMuaWRsOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFL
ZXlNZXNzYWdlRXZlbnQuaWRsOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVk
aWFLZXlTZXNzaW9uLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlh
S2V5U3RhdHVzTWFwLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlh
S2V5U3lzdGVtQWNjZXNzLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5cy5pZGw6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JF
TUUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1l
ZGlhS2V5TWVzc2FnZUV2ZW50LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlh
L2xlZ2FjeS9XZWJLaXRNZWRpYUtleU5lZWRlZEV2ZW50LmlkbDoKKyAgICAgICAgKiBNb2R1bGVz
L2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5cy5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWQuaWRsOgorICAgICAgICAqIE1vZHVsZXMv
Z2FtZXBhZC9HYW1lcGFkQnV0dG9uLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2dhbWVwYWQvR2Ft
ZXBhZEV2ZW50LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2dhbWVwYWQvTmF2aWdhdG9yR2FtZXBh
ZC5pZGw6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXJlY29yZGVyL0Jsb2JFdmVudC5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIuaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyRXJyb3JFdmVudC5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaWRsOgorICAgICAgICAq
IE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVN0cmVhbVRyYWNrOjp1cGRhdGVDYXB0dXJlQWNjb3JkaW5nVG9NdXRlZFN0YXRl
KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvck1lZGlhRGV2aWNlcy5p
ZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVz
cG9uc2UuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckF0dGVz
dGF0aW9uUmVzcG9uc2UuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGlj
YXRvclJlc3BvbnNlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNy
ZWRlbnRpYWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UHVibGljS2V5Q3JlZGVudGlhbDo6aXNV
c2VyVmVyaWZ5aW5nUGxhdGZvcm1BdXRoZW50aWNhdG9yQXZhaWxhYmxlKToKKyAgICAgICAgKiBN
b2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuaWRsOgorICAgICAgICAqIFNjcmlw
dHMvU2V0dGluZ3NUZW1wbGF0ZXMvSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5jcHAuZXJiOgor
ICAgICAgICAqIFNjcmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXMvSW50ZXJuYWxTZXR0aW5nc0dlbmVy
YXRlZC5oLmVyYjoKKyAgICAgICAgKiBTY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL1NldHRpbmdz
LmNwcC5lcmI6CisgICAgICAgICogU2NyaXB0cy9TZXR0aW5nc1RlbXBsYXRlcy9TZXR0aW5ncy5o
LmVyYjoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogY3NzL0RPTUNTU0N1c3RvbVByb3BlcnR5RGVzY3JpcHRvci5pZGw6CisgICAgICAgICog
Y3NzL0RPTUNTU1JlZ2lzdGVyQ3VzdG9tUHJvcGVydHkuaWRsOgorICAgICAgICAqIGRvbS9CZWZv
cmVMb2FkRXZlbnQuaWRsOgorICAgICAgICAqIGRvbS9DdXN0b21FbGVtZW50UmVnaXN0cnkuaWRs
OgorICAgICAgICAqIGRvbS9EYXRhVHJhbnNmZXIuaWRsOgorICAgICAgICAqIGRvbS9EYXRhVHJh
bnNmZXJJdGVtLmlkbDoKKyAgICAgICAgKiBkb20vRGF0YVRyYW5zZmVySXRlbUxpc3QuaWRsOgor
ICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVVcGdy
YWRlQ2FuZGlkYXRlRWxlbWVudCk6CisgICAgICAgICogZG9tL0RvY3VtZW50LmlkbDoKKyAgICAg
ICAgKiBkb20vRWxlbWVudC5pZGw6CisgICAgICAgICogZG9tL0lucHV0RXZlbnQuaWRsOgorICAg
ICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OmRpc3BhdGNoQmVm
b3JlTG9hZEV2ZW50KToKKyAgICAgICAgKiBkb20vU3RhdGljUmFuZ2UuaWRsOgorICAgICAgICAq
IGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cmVnaXN0ZXJD
dXN0b21VbmRvU3RlcCk6CisgICAgICAgICogaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MQW5jaG9yRWxlbWVudDo6aXNTeXN0ZW1QcmV2aWV3TGluayk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MQW5jaG9yRWxlbWVudDo6cGFyc2VBZENsaWNrQXR0cmli
dXRpb24gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEFuY2hvckVsZW1lbnQ6OmhhbmRs
ZUNsaWNrKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxBbmNob3JFbGVtZW50OjpyZWZlcnJlclBv
bGljeSBjb25zdCk6CisgICAgICAgICogaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5pZGw6CisgICAg
ICAgICogaHRtbC9IVE1MQXJlYUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEJ1dHRv
bkVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEZpZWxkU2V0RWxlbWVudC5pZGw6Cisg
ICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTElG
cmFtZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElGcmFtZUVsZW1lbnQ6OnJl
ZmVycmVyUG9saWN5IGNvbnN0KToKKyAgICAgICAgKiBodG1sL0hUTUxJRnJhbWVFbGVtZW50Lmlk
bDoKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEltYWdlRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MSW1hZ2VFbGVtZW50Ojppc1N5c3RlbVByZXZpZXdJbWFnZSBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpyZWZlcnJlclBvbGljeSBjb25zdCk6CisgICAg
ICAgICogaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1
dEVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEtleWdlbkVsZW1lbnQuaWRsOgorICAg
ICAgICAqIGh0bWwvSFRNTExpbmtFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxM
aW5rRWxlbWVudDo6YXMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTExpbmtFbGVtZW50
OjpyZWZlcnJlclBvbGljeSBjb25zdCk6CisgICAgICAgICogaHRtbC9IVE1MTGlua0VsZW1lbnQu
aWRsOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp1cGRhdGVTaG91bGRDb250aW51ZUFmdGVyTmVlZEtleSk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllcktleU5lZWRl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp3ZWJraXRTZXRNZWRpYUtl
eXMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6a2V5QWRkZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJJbml0aWFsaXphdGlv
bkRhdGFFbmNvdW50ZXJlZCk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbDoK
KyAgICAgICAgKiBodG1sL0hUTUxNZXRhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MTWV0YUVsZW1lbnQ6OnByb2Nlc3MpOgorICAgICAgICAqIGh0bWwvSFRNTE9iamVjdEVsZW1l
bnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTE91dHB1dEVsZW1lbnQuaWRsOgorICAgICAgICAq
IGh0bWwvSFRNTFBpY3R1cmVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQaWN0
dXJlRWxlbWVudDo6aXNTeXN0ZW1QcmV2aWV3SW1hZ2UpOgorICAgICAgICAqIGh0bWwvSFRNTFNj
cmlwdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNjcmlwdEVsZW1lbnQ6OnJl
ZmVycmVyUG9saWN5IGNvbnN0KToKKyAgICAgICAgKiBodG1sL0hUTUxTY3JpcHRFbGVtZW50Lmlk
bDoKKyAgICAgICAgKiBodG1sL0hUTUxTZWxlY3RFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1s
L0hUTUxUZXh0QXJlYUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvTGlua1JlbEF0dHJpYnV0
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMaW5rUmVsQXR0cmlidXRlOjpMaW5rUmVsQXR0cmli
dXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkxpbmtSZWxBdHRyaWJ1dGU6OmlzU3VwcG9ydGVkKToK
KyAgICAgICAgKiBodG1sL01lZGlhRW5jcnlwdGVkRXZlbnQuaWRsOgorICAgICAgICAqIGh0bWwv
V2ViS2l0TWVkaWFLZXlFcnJvci5pZGw6CisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFByZWxv
YWRTY2FubmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRva2VuUHJlbG9hZFNjYW5uZXI6OlN0
YXJ0VGFnU2Nhbm5lcjo6U3RhcnRUYWdTY2FubmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRva2Vu
UHJlbG9hZFNjYW5uZXI6OlN0YXJ0VGFnU2Nhbm5lcjo6cHJvY2Vzc0F0dHJpYnV0ZXMpOgorICAg
ICAgICAoV2ViQ29yZTo6VG9rZW5QcmVsb2FkU2Nhbm5lcjo6U3RhcnRUYWdTY2FubmVyOjpjcmVh
dGVQcmVsb2FkUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpUb2tlblByZWxvYWRTY2FubmVy
OjpTdGFydFRhZ1NjYW5uZXI6OnByb2Nlc3NBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6
VG9rZW5QcmVsb2FkU2Nhbm5lcjo6U3RhcnRUYWdTY2FubmVyOjpyZXNvdXJjZVR5cGUgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6VG9rZW5QcmVsb2FkU2Nhbm5lcjo6c2Nhbik6CisgICAgICAg
ICogbG9hZGVyL0ltYWdlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlTG9hZGVy
Ojp1cGRhdGVGcm9tRWxlbWVudCk6CisgICAgICAgICogbG9hZGVyL0xpbmtMb2FkZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TGlua0xvYWRlcjo6cmVzb3VyY2VUeXBlRnJvbUFzQXR0cmlidXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUxpbmtQcmVsb2FkUmVzb3VyY2VDbGllbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6TGlua0xvYWRlcjo6aXNTdXBwb3J0ZWRUeXBlKToKKyAgICAgICAg
KFdlYkNvcmU6OkxpbmtMb2FkZXI6OnByZWxvYWRJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpMaW5rTG9hZGVyOjpwcmVmZXRjaElmTmVlZGVkKToKKyAgICAgICAgKiBsb2FkZXIvTGlua0xv
YWRlci5oOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKKyAgICAgICAgKiBwYWdlL0lu
dGVyc2VjdGlvbk9ic2VydmVyLmlkbDoKKyAgICAgICAgKiBwYWdlL0ludGVyc2VjdGlvbk9ic2Vy
dmVyRW50cnkuaWRsOgorICAgICAgICAqIHBhZ2UvTmF2aWdhdG9yLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok5hdmlnYXRvcjo6Y2FuU2hhcmUpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9y
OjpzaGFyZSk6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3IuaDoKKyAgICAgICAgKiBwYWdlL05h
dmlnYXRvclNoYXJlLmlkbDoKKyAgICAgICAgKiBwYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6UnVudGltZUVu
YWJsZWRGZWF0dXJlcyk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVz
Ojp0b3VjaEV2ZW50c0VuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2UvUnVu
dGltZUVuYWJsZWRGZWF0dXJlcy5oOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2V0TW91c2VFdmVudHNTaW11bGF0aW9uRW5hYmxlZCk6CisgICAgICAgIChXZWJD
b3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRCbGFua0FuY2hvclRhcmdldEltcGxpZXNO
b09wZW5lckVuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6YmxhbmtBbmNob3JUYXJnZXRJbXBsaWVzTm9PcGVuZXJFbmFibGVkIGNvbnN0
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNl
dExpbmtQcmVsb2FkRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpsaW5rUHJlbG9hZEVuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0TGlua1ByZWZldGNoRW5h
YmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpsaW5rUHJlZmV0Y2hFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldE1lZGlhUHJlbG9hZGluZ0VuYWJsZWQpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6bWVkaWFQcmVs
b2FkaW5nRW5hYmxlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzZXRJbnB1dEV2ZW50c0VuYWJsZWQpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6aW5wdXRFdmVudHNFbmFibGVkIGNv
bnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNldEludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmludGVyYWN0aXZlRm9ybVZhbGlkYXRp
b25FbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnNldEN1c3RvbUVsZW1lbnRzRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpjdXN0b21FbGVtZW50c0VuYWJsZWQg
Y29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2V0RGF0YVRyYW5zZmVySXRlbXNFbmFibGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmRhdGFUcmFuc2Zlckl0ZW1zRW5hYmxlZCBjb25z
dCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpz
ZXRXZWJTaGFyZUVuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVu
YWJsZWRGZWF0dXJlczo6d2ViU2hhcmVFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldFdlYkF1dGhlbnRpY2F0aW9uRW5h
YmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVz
Ojp3ZWJBdXRoZW50aWNhdGlvbkVuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0V2ViQXV0aGVudGljYXRpb25Mb2NhbEF1
dGhlbnRpY2F0b3JFbmFibGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OndlYkF1dGhlbnRpY2F0aW9uTG9jYWxBdXRoZW50aWNhdG9yRW5hYmxl
ZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzZXREaXNhYmxlZEFkYXB0YXRpb25zTWV0YVRhZ0VuYWJsZWQpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6ZGlzYWJsZWRBZGFwdGF0aW9u
c01ldGFUYWdFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM6OnNldENTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVk
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmNz
c0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldFN5bnRoZXRpY0VkaXRpbmdD
b21tYW5kc0VuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c3ludGhldGljRWRpdGluZ0NvbW1hbmRzRW5hYmxlZCBjb25zdCk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjptZWRpYVJlY29y
ZGVyRW5hYmxlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzZXRNZWRpYVJlY29yZGVyRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjptZWRpYURldmljZXNFbmFibGVkIGNv
bnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNldE1lZGlhRGV2aWNlc0VuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6bWVkaWFTdHJlYW1FbmFibGVkIGNvbnN0KTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldE1lZGlhU3RyZWFt
RW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzY3JlZW5DYXB0dXJlRW5hYmxlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRTY3JlZW5DYXB0dXJlRW5hYmxlZCk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRHYW1l
cGFkc0VuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6Z2FtZXBhZHNFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldERvd25sb2FkQXR0cmlidXRlRW5hYmxlZCk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpkb3du
bG9hZEF0dHJpYnV0ZUVuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmludGVy
c2VjdGlvbk9ic2VydmVyRW5hYmxlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRVbmRvTWFuYWdlckFQSUVuYWJsZWQpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6dW5kb01hbmFn
ZXJBUElFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNldEVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjplbmNyeXB0ZWRNZWRpYUFQ
SUVuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2V0TGVnYWN5RW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmxlZ2FjeUVuY3J5cHRl
ZE1lZGlhQVBJRW5hYmxlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRTeXN0ZW1QcmV2aWV3RW5hYmxlZCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzeXN0ZW1QcmV2aWV3RW5h
YmxlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzZXRMZWdhY3lCZWZvcmVMb2FkRXZlbnRFbmFibGVkKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmxlZ2FjeUJlZm9yZUxvYWRFdmVu
dEVuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6YWRDbGlja0F0dHJpYnV0aW9uRW5hYmxlZCBjb25zdCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRBZENsaWNrQXR0cmli
dXRpb25FbmFibGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNldFRvdWNoRXZlbnRzRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpyZWZlcnJlclBvbGljeUF0dHJpYnV0ZUVuYWJs
ZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2V0UmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGVFbmFibGVkKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmludGVycnVwdEF1ZGlvT25QYWdl
VmlzaWJpbGl0eUNoYW5nZUVuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0SW50ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmls
aXR5Q2hhbmdlRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpsaW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVkIGNvbnN0KTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldExp
bmtQcmVsb2FkUmVzcG9uc2l2ZUltYWdlc0VuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0TGF6eUltYWdlTG9hZGluZ0VuYWJsZWQp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6bGF6
eUltYWdlTG9hZGluZ0VuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0SXNJbkFwcEJyb3dzZXJQcml2YWN5RW5hYmxlZCk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc0lu
QXBwQnJvd3NlclByaXZhY3lFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldE5lZWRzSW5BcHBCcm93c2VyUHJpdmFjeVF1
aXJrcyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpuZWVkc0luQXBwQnJvd3NlclByaXZhY3lRdWlya3MgY29uc3QpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0V2ViU2hhcmVGaWxlQVBJRW5h
YmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVz
Ojp3ZWJTaGFyZUZpbGVBUElFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdl
L1NldHRpbmdzLnlhbWw6CisgICAgICAgICogcGFnZS9VbmRvSXRlbS5pZGw6CisgICAgICAgICog
cGFnZS9VbmRvTWFuYWdlci5pZGw6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckltYWdlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjpwYWludEludG9SZWN0KToKKyAgICAg
ICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50
ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpCYWNrdXApOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJu
YWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3JlVG8pOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJu
YWxTZXR0aW5nczo6c2V0U2NyZWVuQ2FwdHVyZUVuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAq
IHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxT
ZXR0aW5ncy5pZGw6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SW50ZXJuYWxzOjpyZXNldFRvQ29uc2lzdGVudFN0YXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OkludGVybmFsczo6c2V0U2hvdWxkSW50ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5
Q2hhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6YWRkUHJlZmV0Y2hMb2FkRXZl
bnRMaXN0ZW5lcik6CisKIDIwMjAtMDgtMzAgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29t
PgogCiAgICAgICAgIEVuYWJsZWRCeVNldHRpbmcgZXh0ZW5kZWQgYXR0cmlidXRlcyBvbiBhIHBh
cnRpYWwgaW50ZXJmYWNlIGRvIG5vdCBnZXQgbWVyZ2VkIHdpdGggRW5hYmxlZEJ5U2V0dGluZyBl
eHRlbmRlZCBhdHRyaWJ1dGVzIG9uIHByb3BlcnRpZXMgb2YgdGhhdCBwYXJ0aWFsIGludGVyZmFj
ZQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9CYXNp
Y0NyZWRlbnRpYWwuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvY3Jl
ZGVudGlhbG1hbmFnZW1lbnQvQmFzaWNDcmVkZW50aWFsLmlkbAkocmV2aXNpb24gMjY2MzQxKQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9CYXNpY0NyZWRl
bnRpYWwuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw3IEBACiAgICAgSW50ZXJmYWNl
TmFtZT1DcmVkZW50aWFsLAogICAgIENvbmRpdGlvbmFsPVdFQl9BVVRITiwKICAgICBDdXN0b21U
b0pTT2JqZWN0LAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViQXV0aGVudGljYXRpb24sCisgICAg
RW5hYmxlZEJ5U2V0dGluZz1XZWJBdXRoZW50aWNhdGlvbiwKICAgICBFeHBvc2VkPVdpbmRvdywK
ICAgICBTZWN1cmVDb250ZXh0CiBdIGludGVyZmFjZSBCYXNpY0NyZWRlbnRpYWwgewpJbmRleDog
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVkZW50aWFsc0Nv
bnRhaW5lci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50
aWFsbWFuYWdlbWVudC9DcmVkZW50aWFsc0NvbnRhaW5lci5pZGwJKHJldmlzaW9uIDI2NjM0MSkK
KysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlh
bHNDb250YWluZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAKIFsKICAg
ICBDb25kaXRpb25hbD1XRUJfQVVUSE4sCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJBdXRoZW50
aWNhdGlvbiwKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkF1dGhlbnRpY2F0aW9uLAogICAgIEV4
cG9zZWQ9V2luZG93LAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgU2VjdXJl
Q29udGV4dCwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1l
bnQvTmF2aWdhdG9yQ3JlZGVudGlhbHMuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvTmF2aWdhdG9yQ3JlZGVudGlhbHMuaWRsCShy
ZXZpc2lvbiAyNjYzNDEpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5h
Z2VtZW50L05hdmlnYXRvckNyZWRlbnRpYWxzLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyAr
MjYsNyBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9V0VCX0FVVEhOLAotICAgIEVuYWJsZWRBdFJ1
bnRpbWU9V2ViQXV0aGVudGljYXRpb24sCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJBdXRoZW50
aWNhdGlvbiwKIF0gcGFydGlhbCBpbnRlcmZhY2UgTmF2aWdhdG9yIHsKICAgICBbU2VjdXJlQ29u
dGV4dCwgU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIENyZWRlbnRpYWxzQ29udGFpbmVy
IGNyZWRlbnRpYWxzOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVk
bWVkaWEvTWVkaWFLZXlNZXNzYWdlRXZlbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlNZXNzYWdlRXZlbnQuaWRsCShyZXZp
c2lvbiAyNjYzNDEpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5TWVzc2FnZUV2ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDAsNyArNDAsNyBAQCBk
aWN0aW9uYXJ5IE1lZGlhS2V5TWVzc2FnZUV2ZW50SW5pdCA6IEV2CiAKIFsKICAgICBDb25kaXRp
b25hbD1FTkNSWVBURURfTUVESUEsCi0gICAgRW5hYmxlZEF0UnVudGltZT1FbmNyeXB0ZWRNZWRp
YUFQSSwKKyAgICBFbmFibGVkQnlTZXR0aW5nPUVuY3J5cHRlZE1lZGlhQVBJLAogICAgIERpc2Fi
bGVkQnlRdWlyaz1oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnQsCiBdIGludGVyZmFj
ZSBNZWRpYUtleU1lc3NhZ2VFdmVudCA6IEV2ZW50IHsKICAgICBjb25zdHJ1Y3RvcihET01TdHJp
bmcgdHlwZSwgTWVkaWFLZXlNZXNzYWdlRXZlbnRJbml0IGV2ZW50SW5pdERpY3QpOwpJbmRleDog
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVk
aWFLZXlTZXNzaW9uLmlkbAkocmV2aXNpb24gMjY2MzQxKQorKysgU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0yOSw3ICsyOSw3IEBACiBbCiAgICAgQWN0aXZlRE9NT2JqZWN0LAogICAgIENvbmRpdGlvbmFs
PUVOQ1JZUFRFRF9NRURJQSwKLSAgICBFbmFibGVkQXRSdW50aW1lPUVuY3J5cHRlZE1lZGlhQVBJ
LAorICAgIEVuYWJsZWRCeVNldHRpbmc9RW5jcnlwdGVkTWVkaWFBUEksCiAgICAgRXhwb3J0VG9X
cmFwcGVkRnVuY3Rpb24sCiAgICAgRGlzYWJsZWRCeVF1aXJrPWhhc0Jyb2tlbkVuY3J5cHRlZE1l
ZGlhQVBJU3VwcG9ydCwKIF0gaW50ZXJmYWNlIE1lZGlhS2V5U2Vzc2lvbiA6IEV2ZW50VGFyZ2V0
IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlT
dGF0dXNNYXAuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlw
dGVkbWVkaWEvTWVkaWFLZXlTdGF0dXNNYXAuaWRsCShyZXZpc2lvbiAyNjYzNDEpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3RhdHVzTWFwLmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgsNyBAQCBlbnVtIE1lZGlhS2V5U3RhdHVzIHsKIAog
WwogICAgIENvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwKLSAgICBFbmFibGVkQXRSdW50aW1l
PUVuY3J5cHRlZE1lZGlhQVBJLAorICAgIEVuYWJsZWRCeVNldHRpbmc9RW5jcnlwdGVkTWVkaWFB
UEksCiAgICAgRGlzYWJsZWRCeVF1aXJrPWhhc0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9y
dCwKIF0gaW50ZXJmYWNlIE1lZGlhS2V5U3RhdHVzTWFwIHsKICAgICBpdGVyYWJsZTxCdWZmZXJT
b3VyY2UsIE1lZGlhS2V5U3RhdHVzPjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5j
cnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaWRs
CShyZXZpc2lvbiAyNjYzNDEpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1l
ZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgs
NyBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBLAotICAgIEVuYWJsZWRB
dFJ1bnRpbWU9RW5jcnlwdGVkTWVkaWFBUEksCisgICAgRW5hYmxlZEJ5U2V0dGluZz1FbmNyeXB0
ZWRNZWRpYUFQSSwKICAgICBEaXNhYmxlZEJ5UXVpcms9aGFzQnJva2VuRW5jcnlwdGVkTWVkaWFB
UElTdXBwb3J0LAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiBdIGludGVyZmFjZSBN
ZWRpYUtleVN5c3RlbUFjY2VzcyB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL01lZGlhS2V5cy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuaWRsCShyZXZpc2lvbiAyNjYzNDEpCisrKyBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAKIAogWwogICAgIENvbmRpdGlvbmFsPUVOQ1JZUFRF
RF9NRURJQSwKLSAgICBFbmFibGVkQXRSdW50aW1lPUVuY3J5cHRlZE1lZGlhQVBJLAorICAgIEVu
YWJsZWRCeVNldHRpbmc9RW5jcnlwdGVkTWVkaWFBUEksCiAgICAgRXhwb3J0VG9XcmFwcGVkRnVu
Y3Rpb24sCiAgICAgRGlzYWJsZWRCeVF1aXJrPWhhc0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJU3Vw
cG9ydCwKIF0gaW50ZXJmYWNlIE1lZGlhS2V5cyB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2VuY3J5cHRlZG1lZGlhL05hdmlnYXRvckVNRS5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuaWRsCShyZXZpc2lv
biAyNjYzNDEpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL05hdmln
YXRvckVNRS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAKIAogWwogICAgIENv
bmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwKLSAgICBFbmFibGVkQXRSdW50aW1lPUVuY3J5cHRl
ZE1lZGlhQVBJLAorICAgIEVuYWJsZWRCeVNldHRpbmc9RW5jcnlwdGVkTWVkaWFBUEksCiAgICAg
RGlzYWJsZWRCeVF1aXJrPWhhc0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydCwKIF0gcGFy
dGlhbCBpbnRlcmZhY2UgTmF2aWdhdG9yIHsKICAgICBbQ2FsbFdpdGg9RG9jdW1lbnRdIFByb21p
c2U8TWVkaWFLZXlTeXN0ZW1BY2Nlc3M+IHJlcXVlc3RNZWRpYUtleVN5c3RlbUFjY2VzcyhET01T
dHJpbmcga2V5U3lzdGVtLCBzZXF1ZW5jZTxNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24+IHN1
cHBvcnRlZENvbmZpZ3VyYXRpb24pOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNy
eXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlNZXNzYWdlRXZlbnQuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktp
dE1lZGlhS2V5TWVzc2FnZUV2ZW50LmlkbAkocmV2aXNpb24gMjY2MzQxKQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlNZXNzYWdl
RXZlbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKIFsKICAgICBDb25k
aXRpb25hbD1MRUdBQ1lfRU5DUllQVEVEX01FRElBLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9TGVn
YWN5RW5jcnlwdGVkTWVkaWFBUEksCisgICAgRW5hYmxlZEJ5U2V0dGluZz1MZWdhY3lFbmNyeXB0
ZWRNZWRpYUFQSSwKIF0gaW50ZXJmYWNlIFdlYktpdE1lZGlhS2V5TWVzc2FnZUV2ZW50IDogRXZl
bnQgewogICAgIGNvbnN0cnVjdG9yKERPTVN0cmluZyB0eXBlLCBvcHRpb25hbCBXZWJLaXRNZWRp
YUtleU1lc3NhZ2VFdmVudEluaXQgZXZlbnRJbml0RGljdCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5TmVlZGVkRXZl
bnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVk
aWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5TmVlZGVkRXZlbnQuaWRsCShyZXZpc2lvbiAyNjYzNDEp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRN
ZWRpYUtleU5lZWRlZEV2ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNyBAQAog
CiBbCiAgICAgQ29uZGl0aW9uYWw9TEVHQUNZX0VOQ1JZUFRFRF9NRURJQSwKLSAgICBFbmFibGVk
QXRSdW50aW1lPUxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJLAorICAgIEVuYWJsZWRCeVNldHRpbmc9
TGVnYWN5RW5jcnlwdGVkTWVkaWFBUEksCiBdIGludGVyZmFjZSBXZWJLaXRNZWRpYUtleU5lZWRl
ZEV2ZW50IDogRXZlbnQgewogICAgIGNvbnN0cnVjdG9yKERPTVN0cmluZyB0eXBlLCBvcHRpb25h
bCBXZWJLaXRNZWRpYUtleU5lZWRlZEV2ZW50SW5pdCBldmVudEluaXREaWN0KTsKIApJbmRleDog
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFL
ZXlTZXNzaW9uLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uaWRsCShyZXZpc2lvbiAyNjYz
NDEpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJL
aXRNZWRpYUtleVNlc3Npb24uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiBb
CiAgICAgQWN0aXZlRE9NT2JqZWN0LAogICAgIENvbmRpdGlvbmFsPUxFR0FDWV9FTkNSWVBURURf
TUVESUEsCi0gICAgRW5hYmxlZEF0UnVudGltZT1MZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSSwKKyAg
ICBFbmFibGVkQnlTZXR0aW5nPUxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJLAogXSBpbnRlcmZhY2Ug
V2ViS2l0TWVkaWFLZXlTZXNzaW9uIDogRXZlbnRUYXJnZXQgewogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBXZWJLaXRNZWRpYUtleUVycm9yIGVycm9yOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleXMuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktp
dE1lZGlhS2V5cy5pZGwJKHJldmlzaW9uIDI2NjM0MSkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5cy5pZGwJKHdvcmtpbmcgY29w
eSkKQEAgLTI1LDcgKzI1LDcgQEAKICAKIFsKICAgICBDb25kaXRpb25hbD1MRUdBQ1lfRU5DUllQ
VEVEX01FRElBLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9TGVnYWN5RW5jcnlwdGVkTWVkaWFBUEks
CisgICAgRW5hYmxlZEJ5U2V0dGluZz1MZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSSwKIF0gaW50ZXJm
YWNlIFdlYktpdE1lZGlhS2V5cyB7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBjb25zdHJ1Y3Rv
cihET01TdHJpbmcga2V5U3lzdGVtKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9n
YW1lcGFkL0dhbWVwYWQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Z2FtZXBhZC9HYW1lcGFkLmlkbAkocmV2aXNpb24gMjY2MzQxKQorKysgU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9nYW1lcGFkL0dhbWVwYWQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3ICsyNCw3
IEBACiAgKi8KIAogWwotICAgIEVuYWJsZWRBdFJ1bnRpbWU9R2FtZXBhZHMsCisgICAgRW5hYmxl
ZEJ5U2V0dGluZz1HYW1lcGFkcywKICAgICBDb25kaXRpb25hbD1HQU1FUEFELAogICAgIEltcGxl
bWVudGF0aW9uTGFja3NWVGFibGUKIF0gaW50ZXJmYWNlIEdhbWVwYWQgewpJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWRCdXR0b24uaWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBhZC9HYW1lcGFkQnV0dG9uLmlkbAkocmV2aXNp
b24gMjY2MzQxKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWRCdXR0
b24uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3ICsyNCw3IEBACiAgKi8KIAogWwotICAgIEVu
YWJsZWRBdFJ1bnRpbWU9R2FtZXBhZHMsCisgICAgRW5hYmxlZEJ5U2V0dGluZz1HYW1lcGFkcywK
ICAgICBDb25kaXRpb25hbD1HQU1FUEFELAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUK
IF0gaW50ZXJmYWNlIEdhbWVwYWRCdXR0b24gewpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9nYW1lcGFkL0dhbWVwYWRFdmVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9nYW1lcGFkL0dhbWVwYWRFdmVudC5pZGwJKHJldmlzaW9uIDI2NjM0MSkKKysrIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBhZC9HYW1lcGFkRXZlbnQuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1HQU1FUEFELAotICAg
IEVuYWJsZWRBdFJ1bnRpbWU9R2FtZXBhZHMsCisgICAgRW5hYmxlZEJ5U2V0dGluZz1HYW1lcGFk
cywKIF0gaW50ZXJmYWNlIEdhbWVwYWRFdmVudCA6IEV2ZW50IHsKICAgICBjb25zdHJ1Y3RvcihE
T01TdHJpbmcgdHlwZSwgb3B0aW9uYWwgR2FtZXBhZEV2ZW50SW5pdCBldmVudEluaXREaWN0KTsK
IApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL05hdmlnYXRvckdhbWVwYWQu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBhZC9OYXZpZ2F0
b3JHYW1lcGFkLmlkbAkocmV2aXNpb24gMjY2MzQxKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9nYW1lcGFkL05hdmlnYXRvckdhbWVwYWQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsy
Niw2IEBACiBbCiAgICAgQ29uZGl0aW9uYWw9R0FNRVBBRCwKIF0gcGFydGlhbCBpbnRlcmZhY2Ug
TmF2aWdhdG9yIHsKLSAgICBbRW5hYmxlZEF0UnVudGltZT1HYW1lcGFkc10gc2VxdWVuY2U8R2Ft
ZXBhZD4gZ2V0R2FtZXBhZHMoKTsKKyAgICBbRW5hYmxlZEJ5U2V0dGluZz1HYW1lcGFkc10gc2Vx
dWVuY2U8R2FtZXBhZD4gZ2V0R2FtZXBhZHMoKTsKIH07CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFyZWNvcmRlci9CbG9iRXZlbnQuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9CbG9iRXZlbnQuaWRsCShyZXZpc2lvbiAy
NjYzNDEpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvQmxvYkV2ZW50
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQCB0eXBlZGVmIGRvdWJsZSBET01I
aWdoUmVzVGltZVN0YW1wOwogCiBbCiAgICAgQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNLAotICAg
IEVuYWJsZWRBdFJ1bnRpbWU9TWVkaWFSZWNvcmRlciwKKyAgICBFbmFibGVkQnlTZXR0aW5nPU1l
ZGlhUmVjb3JkZXIsCiAgICAgRXhwb3NlZD1XaW5kb3cKIF0gIGludGVyZmFjZSBCbG9iRXZlbnQg
OiBFdmVudCB7CiAgICAgY29uc3RydWN0b3IoRE9NU3RyaW5nIHR5cGUsIEJsb2JFdmVudEluaXQg
ZXZlbnRJbml0RGljdCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3Jk
ZXIvTWVkaWFSZWNvcmRlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIuaWRsCShyZXZpc2lvbiAyNjYzNDEpCisrKyBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDcgQEAgZW51bSBSZWNvcmRpbmdTdGF0ZSB7ICJpbmFj
dGl2ZSIsICJyZWNvcgogWwogICAgIEFjdGl2ZURPTU9iamVjdCwKICAgICBDb25kaXRpb25hbD1N
RURJQV9TVFJFQU0sCi0gICAgRW5hYmxlZEF0UnVudGltZT1NZWRpYVJlY29yZGVyLAorICAgIEVu
YWJsZWRCeVNldHRpbmc9TWVkaWFSZWNvcmRlciwKICAgICBFeHBvc2VkPVdpbmRvdwogXSBpbnRl
cmZhY2UgTWVkaWFSZWNvcmRlciA6IEV2ZW50VGFyZ2V0IHsKICAgICBbQ2FsbFdpdGg9RG9jdW1l
bnQsIE1heVRocm93RXhjZXB0aW9uXSBjb25zdHJ1Y3RvcihNZWRpYVN0cmVhbSBzdHJlYW0sIG9w
dGlvbmFsIE1lZGlhUmVjb3JkZXJPcHRpb25zIG9wdGlvbnMpOwpJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJFcnJvckV2ZW50LmlkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNv
cmRlckVycm9yRXZlbnQuaWRsCShyZXZpc2lvbiAyNjYzNDEpCisrKyBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlckVycm9yRXZlbnQuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBAIGRpY3Rpb25hcnkgTWVkaWFSZWNvcmRlckVycm9yRXZl
bnRJbml0IDoKIFsKICAgICBDb25kaXRpb25hbD1NRURJQV9TVFJFQU0sCiAgICAgRXhwb3NlZD1X
aW5kb3csCi0gICAgRW5hYmxlZEF0UnVudGltZT1NZWRpYVJlY29yZGVyCisgICAgRW5hYmxlZEJ5
U2V0dGluZz1NZWRpYVJlY29yZGVyCiBdIGludGVyZmFjZSBNZWRpYVJlY29yZGVyRXJyb3JFdmVu
dCA6IEV2ZW50IHsKICAgICBjb25zdHJ1Y3RvcihET01TdHJpbmcgdHlwZSwgTWVkaWFSZWNvcmRl
ckVycm9yRXZlbnRJbml0IGV2ZW50SW5pdERpY3QpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaWRsCShyZXZpc2lvbiAy
NjYzNDEpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNl
cy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDcgQEAKIAogICAgIE1lZGlhVHJhY2tT
dXBwb3J0ZWRDb25zdHJhaW50cyBnZXRTdXBwb3J0ZWRDb25zdHJhaW50cygpOwogICAgIFtQcml2
YXRlSWRlbnRpZmllciwgUHVibGljSWRlbnRpZmllcl0gUHJvbWlzZTxNZWRpYVN0cmVhbT4gZ2V0
VXNlck1lZGlhKG9wdGlvbmFsIE1lZGlhU3RyZWFtQ29uc3RyYWludHMgY29uc3RyYWludHMpOwot
ICAgIFtFbmFibGVkQXRSdW50aW1lPVNjcmVlbkNhcHR1cmVdIFByb21pc2U8TWVkaWFTdHJlYW0+
IGdldERpc3BsYXlNZWRpYShvcHRpb25hbCBEaXNwbGF5TWVkaWFTdHJlYW1Db25zdHJhaW50cyBj
b25zdHJhaW50cyk7CisgICAgW0VuYWJsZWRCeVNldHRpbmc9U2NyZWVuQ2FwdHVyZV0gUHJvbWlz
ZTxNZWRpYVN0cmVhbT4gZ2V0RGlzcGxheU1lZGlhKG9wdGlvbmFsIERpc3BsYXlNZWRpYVN0cmVh
bUNvbnN0cmFpbnRzIGNvbnN0cmFpbnRzKTsKIH07CiAKIFsKQEAgLTU4LDcgKzU4LDcgQEAKIAog
WwogICAgIENvbmRpdGlvbmFsPU1FRElBX1NUUkVBTSwKLSAgICBFbmFibGVkQXRSdW50aW1lPVNj
cmVlbkNhcHR1cmUKKyAgICBFbmFibGVkQnlTZXR0aW5nPVNjcmVlbkNhcHR1cmUKIF0gZW51bSBE
aXNwbGF5Q2FwdHVyZVN1cmZhY2VUeXBlIHsKICAgICAibW9uaXRvciIsCiAgICAgIndpbmRvdyIs
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJh
Y2suY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
TWVkaWFTdHJlYW1UcmFjay5jcHAJKHJldmlzaW9uIDI2NjM0MSkKKysrIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQ3Miw3ICs0NzIsNyBAQCB2b2lkIE1lZGlhU3RyZWFtVHJhY2s6OnVwZGF0ZUNhcHR1cmVB
Y2NvCiAgICAgYXV0byogYWN0aXZlQXVkaW9Tb3VyY2UgPSBSZWFsdGltZU1lZGlhU291cmNlQ2Vu
dGVyOjpzaW5nbGV0b24oKS5hdWRpb0NhcHR1cmVGYWN0b3J5KCkuYWN0aXZlU291cmNlKCk7CiAg
ICAgaWYgKGFjdGl2ZUF1ZGlvU291cmNlICYmIGlzU291cmNlQ2FwdHVyaW5nRm9yVHJhY2tJbkRv
Y3VtZW50KCphY3RpdmVBdWRpb1NvdXJjZSwgZG9jdW1lbnQpKSB7CiAgICAgICAgIGJvb2wgcGFn
ZU11dGVkID0gcGFnZS0+bXV0ZWRTdGF0ZSgpICYgTWVkaWFQcm9kdWNlcjo6QXVkaW9BbmRWaWRl
b0NhcHR1cmVJc011dGVkOwotICAgICAgICBhY3RpdmVBdWRpb1NvdXJjZS0+c2V0TXV0ZWQocGFn
ZU11dGVkIHx8IChkb2N1bWVudC5oaWRkZW4oKSAmJiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpz
aGFyZWRGZWF0dXJlcygpLmludGVycnVwdEF1ZGlvT25QYWdlVmlzaWJpbGl0eUNoYW5nZUVuYWJs
ZWQoKSkpOworICAgICAgICBhY3RpdmVBdWRpb1NvdXJjZS0+c2V0TXV0ZWQocGFnZU11dGVkIHx8
IChkb2N1bWVudC5oaWRkZW4oKSAmJiBkb2N1bWVudC5zZXR0aW5ncygpLmludGVycnVwdEF1ZGlv
T25QYWdlVmlzaWJpbGl0eUNoYW5nZUVuYWJsZWQoKSkpOwogICAgIH0KIAogICAgIGF1dG8qIGFj
dGl2ZVZpZGVvU291cmNlID0gUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCku
dmlkZW9DYXB0dXJlRmFjdG9yeSgpLmFjdGl2ZVNvdXJjZSgpOwpJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JNZWRpYURldmljZXMuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yTWVkaWFE
ZXZpY2VzLmlkbAkocmV2aXNpb24gMjY2MzQxKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9OYXZpZ2F0b3JNZWRpYURldmljZXMuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0z
MCw3ICszMCw3IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1NRURJQV9TVFJFQU0sCi0gICAgRW5h
YmxlZEF0UnVudGltZT1NZWRpYURldmljZXMsCisgICAgRW5hYmxlZEJ5U2V0dGluZz1NZWRpYURl
dmljZXMsCiBdIHBhcnRpYWwgaW50ZXJmYWNlIE5hdmlnYXRvciB7CiAgICAgW1NhbWVPYmplY3Qs
IFNlY3VyZUNvbnRleHQsIENvbnRleHRBbGxvd3NNZWRpYURldmljZXNdIHJlYWRvbmx5IGF0dHJp
YnV0ZSBNZWRpYURldmljZXMgbWVkaWFEZXZpY2VzOwogICAgIFtDdXN0b20sIEVuYWJsZWRCeVNl
dHRpbmc9TGVnYWN5R2V0VXNlck1lZGlhXSB1bmRlZmluZWQgZ2V0VXNlck1lZGlhKG9iamVjdCBj
b25zdHJhaW50cywgb2JqZWN0PyBzdWNjZXNzQ2FsbGJhY2ssIG9iamVjdD8gZXJyb3JDYWxsYmFj
ayk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JB
c3NlcnRpb25SZXNwb25zZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UuaWRsCShyZXZpc2lvbiAy
NjYzNDEpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JB
c3NlcnRpb25SZXNwb25zZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDcgQEAKIAog
WwogICAgIENvbmRpdGlvbmFsPVdFQl9BVVRITiwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdlYkF1
dGhlbnRpY2F0aW9uLAorICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViQXV0aGVudGljYXRpb24sCiAg
ICAgRXhwb3NlZD1XaW5kb3csCiAgICAgU2VjdXJlQ29udGV4dAogXSBpbnRlcmZhY2UgQXV0aGVu
dGljYXRvckFzc2VydGlvblJlc3BvbnNlIDogQXV0aGVudGljYXRvclJlc3BvbnNlIHsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckF0dGVzdGF0aW9u
UmVzcG9uc2UuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0
aG4vQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuaWRsCShyZXZpc2lvbiAyNjYzNDEp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBdHRlc3Rh
dGlvblJlc3BvbnNlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNyBAQAogCiBbCiAg
ICAgQ29uZGl0aW9uYWw9V0VCX0FVVEhOLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViQXV0aGVu
dGljYXRpb24sCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJBdXRoZW50aWNhdGlvbiwKICAgICBF
eHBvc2VkPVdpbmRvdywKICAgICBTZWN1cmVDb250ZXh0CiBdIGludGVyZmFjZSBBdXRoZW50aWNh
dG9yQXR0ZXN0YXRpb25SZXNwb25zZSA6IEF1dGhlbnRpY2F0b3JSZXNwb25zZSB7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JSZXNwb25zZS5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNh
dG9yUmVzcG9uc2UuaWRsCShyZXZpc2lvbiAyNjYzNDEpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JSZXNwb25zZS5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTI2LDcgKzI2LDcgQEAKIFsKICAgICBDb25kaXRpb25hbD1XRUJfQVVUSE4sCiAgICAgQ3VzdG9t
VG9KU09iamVjdCwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdlYkF1dGhlbnRpY2F0aW9uLAorICAg
IEVuYWJsZWRCeVNldHRpbmc9V2ViQXV0aGVudGljYXRpb24sCiAgICAgRXhwb3NlZD1XaW5kb3cs
CiAgICAgU2VjdXJlQ29udGV4dCwKIF0gaW50ZXJmYWNlIEF1dGhlbnRpY2F0b3JSZXNwb25zZSB7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRp
YWwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vUHVi
bGljS2V5Q3JlZGVudGlhbC5jcHAJKHJldmlzaW9uIDI2NjM0MSkKKysrIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTMzLDcgKzMzLDcgQEAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkpTRE9N
UHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgotI2luY2x1ZGUgIlJ1bnRpbWVF
bmFibGVkRmVhdHVyZXMuaCIKKyNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgPHd0Zi90
ZXh0L0Jhc2U2NC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC02MSw3ICs2MSw3IEBAIFB1
YmxpY0tleUNyZWRlbnRpYWw6OlB1YmxpY0tleUNyZWRlbnRpYWwKIAogdm9pZCBQdWJsaWNLZXlD
cmVkZW50aWFsOjppc1VzZXJWZXJpZnlpbmdQbGF0Zm9ybUF1dGhlbnRpY2F0b3JBdmFpbGFibGUo
RG9jdW1lbnQmIGRvY3VtZW50LCBET01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJiBwcm9t
aXNlKQogewotICAgIGlmICghUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMo
KS53ZWJBdXRoZW50aWNhdGlvbkxvY2FsQXV0aGVudGljYXRvckVuYWJsZWQoKSkgeworICAgIGlm
ICghZG9jdW1lbnQuc2V0dGluZ3MoKS53ZWJBdXRoZW50aWNhdGlvbkxvY2FsQXV0aGVudGljYXRv
ckVuYWJsZWQoKSkgewogICAgICAgICBwcm9taXNlLnJlc29sdmUoZmFsc2UpOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJs
aWNLZXlDcmVkZW50aWFsLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuaWRsCShyZXZpc2lvbiAyNjYzNDEpCisrKyBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1XRUJf
QVVUSE4sCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJBdXRoZW50aWNhdGlvbiwKKyAgICBFbmFi
bGVkQnlTZXR0aW5nPVdlYkF1dGhlbnRpY2F0aW9uLAogICAgIEV4cG9zZWQ9V2luZG93LAogICAg
IFNlY3VyZUNvbnRleHQsCiBdIGludGVyZmFjZSBQdWJsaWNLZXlDcmVkZW50aWFsIDogQmFzaWND
cmVkZW50aWFsIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1NjcmlwdHMvU2V0dGluZ3NUZW1wbGF0
ZXMvSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5jcHAuZXJiCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL1NjcmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXMvSW50ZXJuYWxTZXR0aW5nc0dlbmVy
YXRlZC5jcHAuZXJiCShyZXZpc2lvbiAyNjYzNDEpCisrKyBTb3VyY2UvV2ViQ29yZS9TY3JpcHRz
L1NldHRpbmdzVGVtcGxhdGVzL0ludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWQuY3BwLmVyYgkod29y
a2luZyBjb3B5KQpAQCAtMzgsNyArMzgsNyBAQCBJbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkOjpJ
bnRlcm5hbFNldHRpCiA8JS0gZm9yIEBzZXR0aW5nIGluIEBzZXR0aW5ncyBkbyAtJT4KIDwlLSBp
ZiBAc2V0dGluZy5leGNsdWRlRnJvbUludGVybmFsU2V0dGluZ3MgPT0gZmFsc2UgYW5kIEBzZXR0
aW5nLmlkbFR5cGUgLSU+CiA8JS0gaWYgQHNldHRpbmcuY29uZGl0aW9uYWwgLSU+Ci0jaWYgRU5B
QkxFKDwlPSBAc2V0dGluZy5jb25kaXRpb25hbCAlPikKKyNpZiA8JT0gQHNldHRpbmcuY29uZGl0
aW9uYWwgJT4KIDwlLSBlbmQgLSU+CiAgICAgLCBtXzwlPSBAc2V0dGluZy5uYW1lICU+KHBhZ2Ut
PnNldHRpbmdzKCkuPCU9IEBzZXR0aW5nLmdldHRlckZ1bmN0aW9uTmFtZSAlPigpKQogPCUtIGlm
IEBzZXR0aW5nLmNvbmRpdGlvbmFsIC0lPgpAQCAtNTgsNyArNTgsNyBAQCB2b2lkIEludGVybmFs
U2V0dGluZ3NHZW5lcmF0ZWQ6OnJlc2V0VG9DCiA8JS0gZm9yIEBzZXR0aW5nIGluIEBzZXR0aW5n
cyBkbyAtJT4KIDwlLSBpZiBAc2V0dGluZy5leGNsdWRlRnJvbUludGVybmFsU2V0dGluZ3MgPT0g
ZmFsc2UgYW5kIEBzZXR0aW5nLmlkbFR5cGUgLSU+CiA8JS0gaWYgQHNldHRpbmcuY29uZGl0aW9u
YWwgLSU+Ci0jaWYgRU5BQkxFKDwlPSBAc2V0dGluZy5jb25kaXRpb25hbCAlPikKKyNpZiA8JT0g
QHNldHRpbmcuY29uZGl0aW9uYWwgJT4KIDwlLSBlbmQgLSU+CiAgICAgbV9wYWdlLT5zZXR0aW5n
cygpLjwlPSBAc2V0dGluZy5zZXR0ZXJGdW5jdGlvbk5hbWUgJT4obV88JT0gQHNldHRpbmcubmFt
ZSAlPik7CiA8JS0gaWYgQHNldHRpbmcuY29uZGl0aW9uYWwgLSU+CkBAIC03Myw3ICs3Myw3IEBA
IHZvaWQgSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZDo6cmVzZXRUb0MKIHZvaWQgSW50ZXJuYWxT
ZXR0aW5nc0dlbmVyYXRlZDo6PCU9IEBzZXR0aW5nLnNldHRlckZ1bmN0aW9uTmFtZSAlPig8JT0g
QHNldHRpbmcucGFyYW1ldGVyVHlwZSAlPiA8JT0gQHNldHRpbmcubmFtZSAlPikKIHsKIDwlLSBp
ZiBAc2V0dGluZy5jb25kaXRpb25hbCAtJT4KLSNpZiBFTkFCTEUoPCU9IEBzZXR0aW5nLmNvbmRp
dGlvbmFsICU+KQorI2lmIDwlPSBAc2V0dGluZy5jb25kaXRpb25hbCAlPgogICAgIG1fcGFnZS0+
c2V0dGluZ3MoKS48JT0gQHNldHRpbmcuc2V0dGVyRnVuY3Rpb25OYW1lICU+KDwlPSBAc2V0dGlu
Zy5uYW1lICU+KTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKDwlPSBAc2V0dGluZy5uYW1lICU+
KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1NjcmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXMvSW50ZXJu
YWxTZXR0aW5nc0dlbmVyYXRlZC5oLmVyYgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9T
Y3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL0ludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWQuaC5lcmIJ
KHJldmlzaW9uIDI2NjM0MSkKKysrIFNvdXJjZS9XZWJDb3JlL1NjcmlwdHMvU2V0dGluZ3NUZW1w
bGF0ZXMvSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5oLmVyYgkod29ya2luZyBjb3B5KQpAQCAt
NTMsNyArNTMsNyBAQCBwcml2YXRlOgogPCUtIGZvciBAc2V0dGluZyBpbiBAc2V0dGluZ3MgZG8g
LSU+CiA8JS0gaWYgQHNldHRpbmcuZXhjbHVkZUZyb21JbnRlcm5hbFNldHRpbmdzID09IGZhbHNl
IGFuZCBAc2V0dGluZy5pZGxUeXBlIC0lPgogPCUtIGlmIEBzZXR0aW5nLmNvbmRpdGlvbmFsIC0l
PgotI2lmIEVOQUJMRSg8JT0gQHNldHRpbmcuY29uZGl0aW9uYWwgJT4pCisjaWYgPCU9IEBzZXR0
aW5nLmNvbmRpdGlvbmFsICU+CiA8JS0gZW5kIC0lPgogICAgIDwlPSBAc2V0dGluZy50eXBlICU+
IG1fPCU9IEBzZXR0aW5nLm5hbWUgJT47CiA8JS0gaWYgQHNldHRpbmcuY29uZGl0aW9uYWwgLSU+
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL1NldHRpbmdz
LmNwcC5lcmIKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvU2NyaXB0cy9TZXR0aW5nc1Rl
bXBsYXRlcy9TZXR0aW5ncy5jcHAuZXJiCShyZXZpc2lvbiAyNjYzNDEpCisrKyBTb3VyY2UvV2Vi
Q29yZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL1NldHRpbmdzLmNwcC5lcmIJKHdvcmtpbmcg
Y29weSkKQEAgLTQ2LDcgKzQ2LDcgQEAgU2V0dGluZ3M6OlNldHRpbmdzKFBhZ2UqIHBhZ2UpCiA8
JS0gZW5kIC0lPgogPCUtIGZvciBAY29uZGl0aW9uYWwgaW4gQGNvbmRpdGlvbmFscyBkbyAtJT4K
IDwlLSBpZiBAY29uZGl0aW9uYWwubm9uQm9vbFNldHRpbmdzLmxlbmd0aCAhPSAwIC0lPgotI2lm
IEVOQUJMRSg8JT0gQGNvbmRpdGlvbmFsLmNvbmRpdGlvbiAlPikKKyNpZiA8JT0gQGNvbmRpdGlv
bmFsLmNvbmRpdGlvbiAlPgogPCUtIGZvciBAc2V0dGluZyBpbiBAY29uZGl0aW9uYWwubm9uQm9v
bFNldHRpbmdzIC0lPgogICAgICwgbV88JT0gQHNldHRpbmcubmFtZSAlPig8JT0gQHNldHRpbmcu
aW5pdGlhbCAlPikKIDwlLSBlbmQgLSU+CkBAIC01OCw3ICs1OCw3IEBAIFNldHRpbmdzOjpTZXR0
aW5ncyhQYWdlKiBwYWdlKQogPCUtIGVuZCAtJT4KIDwlLSBmb3IgQGNvbmRpdGlvbmFsIGluIEBj
b25kaXRpb25hbHMgZG8gLSU+CiA8JS0gaWYgQGNvbmRpdGlvbmFsLmJvb2xTZXR0aW5ncy5sZW5n
dGggIT0gMCAtJT4KLSNpZiBFTkFCTEUoPCU9IEBjb25kaXRpb25hbC5jb25kaXRpb24gJT4pCisj
aWYgPCU9IEBjb25kaXRpb25hbC5jb25kaXRpb24gJT4KIDwlLSBmb3IgQHNldHRpbmcgaW4gQGNv
bmRpdGlvbmFsLmJvb2xTZXR0aW5ncyAtJT4KICAgICAsIG1fPCU9IEBzZXR0aW5nLm5hbWUgJT4o
PCU9IEBzZXR0aW5nLmluaXRpYWwgJT4pCiA8JS0gZW5kIC0lPgpAQCAtOTcsNyArOTcsNyBAQCB2
b2lkIFNldHRpbmdzOjo8JT0gQHNldHRpbmcuc2V0dGVyRnVuY3RpCiA8JS0gZW5kIC0lPgogPCUt
IGZvciBAY29uZGl0aW9uYWwgaW4gQGNvbmRpdGlvbmFscyBkbyAtJT4KIDwlLSBpZiBAY29uZGl0
aW9uYWwuc2V0dGluZ3NXaXRoQ29tcGxleEdldHRlcnMubGVuZ3RoICE9IDAgb3IgQGNvbmRpdGlv
bmFsLnNldHRpbmdzV2l0aENvbXBsZXhTZXR0ZXJzLmxlbmd0aCAhPSAwLSU+Ci0jaWYgRU5BQkxF
KDwlPSBAY29uZGl0aW9uYWwuY29uZGl0aW9uICU+KQorI2lmIDwlPSBAY29uZGl0aW9uYWwuY29u
ZGl0aW9uICU+CiA8JS0gZm9yIEBzZXR0aW5nIGluIEBjb25kaXRpb25hbC5zZXR0aW5nc1dpdGhD
b21wbGV4R2V0dGVycyBkbyAtJT4KIDwlPSBAc2V0dGluZy5wYXJhbWV0ZXJUeXBlICU+IFNldHRp
bmdzOjo8JT0gQHNldHRpbmcuZ2V0dGVyRnVuY3Rpb25OYW1lICU+KCkgY29uc3QKIHsKQEAgLTEz
MSw3ICsxMzEsNyBAQCB2b2lkIFNldHRpbmdzOjo8JT0gQHNldHRpbmcuc2V0dGVyRnVuY3RpCiAg
ICAgICAgIHJldHVybjsKICAgICBtXzwlPSBAc2V0dGluZy5uYW1lICU+SW5zcGVjdG9yT3ZlcnJp
ZGUgPSA8JT0gQHNldHRpbmcubmFtZSAlPkluc3BlY3Rvck92ZXJyaWRlOwogPCUtIGlmIEBzZXR0
aW5nLmNvbmRpdGlvbmFsIC0lPgotI2lmIEVOQUJMRSg8JT0gQHNldHRpbmcuY29uZGl0aW9uYWwg
JT4pCisjaWYgPCU9IEBzZXR0aW5nLmNvbmRpdGlvbmFsICU+CiA8JS0gZW5kIC0lPgogICAgIDwl
PSBAc2V0dGluZy5vbkNoYW5nZSAlPigpOwogPCUtIGlmIEBzZXR0aW5nLmNvbmRpdGlvbmFsIC0l
PgpJbmRleDogU291cmNlL1dlYkNvcmUvU2NyaXB0cy9TZXR0aW5nc1RlbXBsYXRlcy9TZXR0aW5n
cy5oLmVyYgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9TY3JpcHRzL1NldHRpbmdzVGVt
cGxhdGVzL1NldHRpbmdzLmguZXJiCShyZXZpc2lvbiAyNjYzNDEpCisrKyBTb3VyY2UvV2ViQ29y
ZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL1NldHRpbmdzLmguZXJiCSh3b3JraW5nIGNvcHkp
CkBAIC01NCw3ICs1NCw3IEBAIHB1YmxpYzoKIDwlLSBlbmQgLSU+CiAKIDwlLSBmb3IgQGNvbmRp
dGlvbmFsIGluIEBjb25kaXRpb25hbHMgZG8gLSU+Ci0jaWYgRU5BQkxFKDwlPSBAY29uZGl0aW9u
YWwuY29uZGl0aW9uICU+KQorI2lmIDwlPSBAY29uZGl0aW9uYWwuY29uZGl0aW9uICU+CiA8JS0g
Zm9yIEBzZXR0aW5nIGluIEBjb25kaXRpb25hbC5zZXR0aW5ncyBkbyAtJT4KICAgICA8JS0gaWYg
QHNldHRpbmcuaGFzQ29tcGxleEdldHRlcj8gLSU+CiAgICAgV0VCQ09SRV9FWFBPUlQgPCU9IEBz
ZXR0aW5nLnBhcmFtZXRlclR5cGUgJT4gPCU9IEBzZXR0aW5nLmdldHRlckZ1bmN0aW9uTmFtZSAl
PigpIGNvbnN0OwpAQCAtOTEsNyArOTEsNyBAQCBwcml2YXRlOgogCiA8JS0gZm9yIEBjb25kaXRp
b25hbCBpbiBAY29uZGl0aW9uYWxzIGRvIC0lPgogPCUtIGlmIEBjb25kaXRpb25hbC5ub25Cb29s
U2V0dGluZ3MubGVuZ3RoICE9IDAgLSU+Ci0jaWYgRU5BQkxFKDwlPSBAY29uZGl0aW9uYWwuY29u
ZGl0aW9uICU+KQorI2lmIDwlPSBAY29uZGl0aW9uYWwuY29uZGl0aW9uICU+CiA8JS0gZm9yIEBz
ZXR0aW5nIGluIEBjb25kaXRpb25hbC5ub25Cb29sU2V0dGluZ3MgLSU+CiAgICAgPCU9IEBzZXR0
aW5nLnR5cGUgJT4gbV88JT0gQHNldHRpbmcubmFtZSAlPjsKIDwlLSBlbmQgLSU+CkBAIC0xMDUs
NyArMTA1LDcgQEAgcHJpdmF0ZToKIAogPCUtIGZvciBAY29uZGl0aW9uYWwgaW4gQGNvbmRpdGlv
bmFscyBkbyAtJT4KIDwlLSBpZiBAY29uZGl0aW9uYWwuYm9vbFNldHRpbmdzLmxlbmd0aCAhPSAw
IC0lPgotI2lmIEVOQUJMRSg8JT0gQGNvbmRpdGlvbmFsLmNvbmRpdGlvbiAlPikKKyNpZiA8JT0g
QGNvbmRpdGlvbmFsLmNvbmRpdGlvbiAlPgogPCUtIGZvciBAc2V0dGluZyBpbiBAY29uZGl0aW9u
YWwuYm9vbFNldHRpbmdzIC0lPgogICAgIDwlPSBAc2V0dGluZy50eXBlICU+IG1fPCU9IEBzZXR0
aW5nLm5hbWUgJT4gOiAxOwogPCUtIGVuZCAtJT4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI2NjM0MSkKKysr
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2lu
ZyBjb3B5KQpAQCAtMTAwMjQsNiArMTAwMjQsMTIgQEAKIAkJN0FGOUIyMDkxOENGQjVGMjAwQzY0
QkVGIC8qIEpTVlRUUmVnaW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
VlRUUmVnaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdBRjlCMjBBMThDRkI1
RjMwMEM2NEJFRiAvKiBKU1ZUVFJlZ2lvbkxpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNWVFRSZWdpb25MaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJN0FGOUIyMEIxOENGQjVGMzAwQzY0QkVGIC8qIEpTVlRUUmVnaW9uTGlzdC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1ZUVFJlZ2lvbkxpc3QuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0MwMTFGM0QyNEZBRDM2MDAwNUJFRjEwIC8qIFNldHRp
bmdzLmNwcC5lcmIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gU2V0dGluZ3MuY3BwLmVyYjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJN0MwMTFGM0UyNEZBRDM2MDAwNUJFRjEwIC8qIEludGVybmFsU2V0dGluZ3NHZW5l
cmF0ZWQuY3BwLmVyYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBJbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmNwcC5lcmI7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdDMDExRjNGMjRGQUQzNjAwMDVCRUYxMCAvKiBJ
bnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmlkbC5lcmIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSW50ZXJuYWxTZXR0aW5nc0dl
bmVyYXRlZC5pZGwuZXJiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzAxMUY0MDI0
RkFEMzYwMDA1QkVGMTAgLyogU2V0dGluZ3MuaC5lcmIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU2V0dGluZ3MuaC5lcmI7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdDMDExRjQxMjRGQUQzNjAwMDVCRUYxMCAvKiBJ
bnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmguZXJiICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEludGVybmFsU2V0dGluZ3NHZW5l
cmF0ZWQuaC5lcmI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdDMDExRjQzMjRGQUQz
NjEwMDVCRUYxMCAvKiBHZW5lcmF0ZVNldHRpbmdzLnJiICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQucnVieTsgbmFtZSA9IEdlbmVy
YXRlU2V0dGluZ3MucmI7IHBhdGggPSBTY3JpcHRzL0dlbmVyYXRlU2V0dGluZ3MucmI7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDMDE3QzNEMjQ5NjlGMTMwMERDMEMwMiAvKiBOYXZp
Z2F0b3JQbHVnaW5zLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBOYXZpZ2F0b3JQbHVnaW5zLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJN0MwMjlDNkQyNDkzQzhGODAwMjY4MjA0IC8qIENvbG9yVHlwZXMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQ29sb3JUeXBlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk3QzBDRUYyODFFNEE1NDJDMDA4REVCODAgLyogSlNET01Db25zdHJ1Y3RvckJhc2UuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNET01Db25zdHJ1Y3RvckJhc2UuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4NjU1LDEwICsxODY2MSwxMiBAQAogCQkJ
aXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKIAkJCQlGNDgzODk3OTFFMUREMjNBMDA3
NkI3RUEgLyogRWRpdGluZ0hpc3RvcnkgKi8sCisJCQkJN0MwMTFGM0MyNEZBRDM2MDAwNUJFRjEw
IC8qIFNldHRpbmdzVGVtcGxhdGVzICovLAogCQkJCUExRTA4NjZGMjQ4QUFDODUwMEU0OTZEOSAv
KiBjaGVjay14Y2ZpbGVsaXN0cy5zaCAqLywKIAkJCQkzNzE3RDdFNTE3RUNDM0E2MDAzQzI3NkQg
LyogZXh0cmFjdC1sb2NhbGl6YWJsZS1zdHJpbmdzLnBsICovLAogCQkJCUExRTA4NjcwMjQ4QUFD
ODUwMEU0OTZEOSAvKiBnZW5lcmF0ZS1kZXJpdmVkLXNvdXJjZXMuc2ggKi8sCiAJCQkJQTFFMDg2
NkUyNDhBQUM4NTAwRTQ5NkQ5IC8qIGdlbmVyYXRlLXVuaWZpZWQtc291cmNlcy5zaCAqLywKKwkJ
CQk3QzAxMUY0MzI0RkFEMzYxMDA1QkVGMTAgLyogR2VuZXJhdGVTZXR0aW5ncy5yYiAqLywKIAkJ
CQkzN0Q0NTZGQjFBOUE1MEI2MDAzMzMwQTEgLyogTG9jYWxpemFibGVTdHJpbmdzLnBtICovLAog
CQkJKTsKIAkJCW5hbWUgPSBTY3JpcHRzOwpAQCAtMjE5MzUsNiArMjE5NDMsMTkgQEAKIAkJCXBh
dGggPSBtYWNPUzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTdDMDExRjND
MjRGQUQzNjAwMDVCRUYxMCAvKiBTZXR0aW5nc1RlbXBsYXRlcyAqLyA9IHsKKwkJCWlzYSA9IFBC
WEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJN0MwMTFGM0UyNEZBRDM2MDAwNUJFRjEwIC8q
IEludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWQuY3BwLmVyYiAqLywKKwkJCQk3QzAxMUY0MTI0RkFE
MzYwMDA1QkVGMTAgLyogSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5oLmVyYiAqLywKKwkJCQk3
QzAxMUYzRjI0RkFEMzYwMDA1QkVGMTAgLyogSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5pZGwu
ZXJiICovLAorCQkJCTdDMDExRjNEMjRGQUQzNjAwMDVCRUYxMCAvKiBTZXR0aW5ncy5jcHAuZXJi
ICovLAorCQkJCTdDMDExRjQwMjRGQUQzNjAwMDVCRUYxMCAvKiBTZXR0aW5ncy5oLmVyYiAqLywK
KwkJCSk7CisJCQluYW1lID0gU2V0dGluZ3NUZW1wbGF0ZXM7CisJCQlwYXRoID0gU2NyaXB0cy9T
ZXR0aW5nc1RlbXBsYXRlczsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTdD
MzMwQTA0MURGOUY5M0IwMEQzMzk1QyAvKiBHZW9sb2NhdGlvbiAqLyA9IHsKIAkJCWlzYSA9IFBC
WEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvRE9NQ1NT
Q3VzdG9tUHJvcGVydHlEZXNjcmlwdG9yLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9jc3MvRE9NQ1NTQ3VzdG9tUHJvcGVydHlEZXNjcmlwdG9yLmlkbAkocmV2aXNpb24gMjY2MzQx
KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0RPTUNTU0N1c3RvbVByb3BlcnR5RGVzY3JpcHRvci5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDcgQEAKIAogWwogICAgIEpTR2VuZXJhdGVU
b0pTT2JqZWN0LAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9Q1NTQ3VzdG9tUHJvcGVydGllc0FuZFZh
bHVlcworICAgIEVuYWJsZWRCeVNldHRpbmc9Q1NTQ3VzdG9tUHJvcGVydGllc0FuZFZhbHVlcwog
XSBkaWN0aW9uYXJ5IERPTUNTU0N1c3RvbVByb3BlcnR5RGVzY3JpcHRvciB7CiAgICAgcmVxdWly
ZWQgRE9NU3RyaW5nIG5hbWU7CiAgICAgICAgICAgICAgRE9NU3RyaW5nIHN5bnRheCAgICAgICA9
ICIqIjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9ET01DU1NSZWdpc3RlckN1c3RvbVByb3Bl
cnR5LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvRE9NQ1NTUmVnaXN0ZXJD
dXN0b21Qcm9wZXJ0eS5pZGwJKHJldmlzaW9uIDI2NjM0MSkKKysrIFNvdXJjZS9XZWJDb3JlL2Nz
cy9ET01DU1NSZWdpc3RlckN1c3RvbVByb3BlcnR5LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQs
NyArMjQsNyBAQAogKi8KIAogWwotICAgIEVuYWJsZWRBdFJ1bnRpbWU9Q1NTQ3VzdG9tUHJvcGVy
dGllc0FuZFZhbHVlcworICAgIEVuYWJsZWRCeVNldHRpbmc9Q1NTQ3VzdG9tUHJvcGVydGllc0Fu
ZFZhbHVlcwogXSBwYXJ0aWFsIGludGVyZmFjZSBET01DU1NOYW1lc3BhY2UgewogICAgIFtDYWxs
V2l0aD1Eb2N1bWVudCwgTWF5VGhyb3dFeGNlcHRpb25dIHN0YXRpYyB1bmRlZmluZWQgcmVnaXN0
ZXJQcm9wZXJ0eShET01DU1NDdXN0b21Qcm9wZXJ0eURlc2NyaXB0b3IgZGVzY3JpcHRvcik7CiB9
OwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0JlZm9yZUxvYWRFdmVudC5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0JlZm9yZUxvYWRFdmVudC5pZGwJKHJldmlzaW9uIDI2
NjM0MSkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9CZWZvcmVMb2FkRXZlbnQuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAgKi8KIAogWwotICAgIEVuYWJsZWRBdFJ1bnRpbWU9
TGVnYWN5QmVmb3JlTG9hZEV2ZW50CisgICAgRW5hYmxlZEJ5U2V0dGluZz1MZWdhY3lCZWZvcmVM
b2FkRXZlbnQKIF0gaW50ZXJmYWNlIEJlZm9yZUxvYWRFdmVudCA6IEV2ZW50IHsKICAgICBjb25z
dHJ1Y3RvcihET01TdHJpbmcgdHlwZSwgb3B0aW9uYWwgQmVmb3JlTG9hZEV2ZW50SW5pdCBldmVu
dEluaXREaWN0KTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUVsZW1lbnRSZWdp
c3RyeS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUVsZW1lbnRS
ZWdpc3RyeS5pZGwJKHJldmlzaW9uIDI2NjM0MSkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9DdXN0
b21FbGVtZW50UmVnaXN0cnkuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3ICsyNCw3IEBACiAq
LwogCiBbCi0gICAgRW5hYmxlZEF0UnVudGltZT1DdXN0b21FbGVtZW50cywKKyAgICBFbmFibGVk
QnlTZXR0aW5nPUN1c3RvbUVsZW1lbnRzLAogICAgIEdlbmVyYXRlSXNSZWFjaGFibGU9SW1wbFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQsCiAgICAgSlNHZW5lcmF0ZVRvTmF0aXZlT2JqZWN0LAogXSBp
bnRlcmZhY2UgQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Rv
bS9EYXRhVHJhbnNmZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9EYXRh
VHJhbnNmZXIuaWRsCShyZXZpc2lvbiAyNjYzNDEpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRGF0
YVRyYW5zZmVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzUsNyArMzUsNyBAQAogICAgIGF0dHJp
YnV0ZSBET01TdHJpbmcgZWZmZWN0QWxsb3dlZDsKIAogICAgIC8vIEZJWE1FOiBpdGVtcyBzaG91
bGQgdXNlIFtTYW1lT2JqZWN0XSBvbmNlIHRoYXQgaXMgc3VwcG9ydGVkLgotICAgIFtFbmFibGVk
QXRSdW50aW1lPURhdGFUcmFuc2Zlckl0ZW1zLCBDYWxsV2l0aD1Eb2N1bWVudF0gcmVhZG9ubHkg
YXR0cmlidXRlIERhdGFUcmFuc2Zlckl0ZW1MaXN0IGl0ZW1zOworICAgIFtFbmFibGVkQnlTZXR0
aW5nPURhdGFUcmFuc2Zlckl0ZW1zLCBDYWxsV2l0aD1Eb2N1bWVudF0gcmVhZG9ubHkgYXR0cmli
dXRlIERhdGFUcmFuc2Zlckl0ZW1MaXN0IGl0ZW1zOwogCiAgICAgdW5kZWZpbmVkIHNldERyYWdJ
bWFnZShFbGVtZW50PyBpbWFnZSwgbG9uZyB4LCBsb25nIHkpOyAvLyBGSVhNRTogRWxlbWVudCBh
cmd1bWVudCBpcyBub3QgbnVsbGFibGUgaW4gdGhlIEhUTUwgc3RhbmRhcmQuCiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXJJdGVtLmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRlbS5pZGwJKHJldmlzaW9uIDI2NjM0MSkKKysr
IFNvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXJJdGVtLmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMzAsNyArMzAsNyBAQAogICovCiAKIFsKLSAgICBFbmFibGVkQXRSdW50aW1lPURhdGFUcmFu
c2Zlckl0ZW1zLAorICAgIEVuYWJsZWRCeVNldHRpbmc9RGF0YVRyYW5zZmVySXRlbXMsCiAgICAg
SW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKIF0gaW50ZXJmYWNlIERhdGFUcmFuc2Zlckl0ZW0g
ewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcga2luZDsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXJJdGVtTGlzdC5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlckl0ZW1MaXN0LmlkbAkocmV2aXNpb24gMjY2MzQxKQor
KysgU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlckl0ZW1MaXN0LmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMzAsNyArMzAsNyBAQAogICovCiAKIFsKLSAgICBFbmFibGVkQXRSdW50aW1lPURh
dGFUcmFuc2Zlckl0ZW1zLAorICAgIEVuYWJsZWRCeVNldHRpbmc9RGF0YVRyYW5zZmVySXRlbXMs
CiAgICAgSlNHZW5lcmF0ZVRvTmF0aXZlT2JqZWN0LAogICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0
LAogXSBpbnRlcmZhY2UgRGF0YVRyYW5zZmVySXRlbUxpc3QgewpJbmRleDogU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCShyZXZpc2lvbiAyNjYzNDEpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NTAsNyArOTUwLDcgQEAgdm9pZCBEb2N1bWVudDo6
Y2hpbGRyZW5DaGFuZ2VkKGNvbnN0IENoaQogCiBzdGF0aWMgQUxXQVlTX0lOTElORSBSZWY8SFRN
TEVsZW1lbnQ+IGNyZWF0ZVVwZ3JhZGVDYW5kaWRhdGVFbGVtZW50KERvY3VtZW50JiBkb2N1bWVu
dCwgY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSkKIHsKLSAgICBpZiAoIVJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuY3VzdG9tRWxlbWVudHNFbmFibGVkKCkKKyAgICBp
ZiAoIWRvY3VtZW50LnNldHRpbmdzKCkuY3VzdG9tRWxlbWVudHNFbmFibGVkKCkKICAgICAgICAg
fHwgRG9jdW1lbnQ6OnZhbGlkYXRlQ3VzdG9tRWxlbWVudE5hbWUobmFtZS5sb2NhbE5hbWUoKSkg
IT0gQ3VzdG9tRWxlbWVudE5hbWVWYWxpZGF0aW9uU3RhdHVzOjpWYWxpZCkKICAgICAgICAgcmV0
dXJuIEhUTUxVbmtub3duRWxlbWVudDo6Y3JlYXRlKG5hbWUsIGRvY3VtZW50KTsKIApJbmRleDog
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaWRsCShyZXZpc2lvbiAyNjYzNDEpCisrKyBTb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0xMjcsNyArMTI3LDcgQEAgdHlw
ZWRlZiAoSFRNTFNjcmlwdEVsZW1lbnQgb3IgU1ZHU2NyaXB0RQogICAgIGJvb2xlYW4gcXVlcnlD
b21tYW5kU3RhdGUoRE9NU3RyaW5nIGNvbW1hbmRJZCk7CiAgICAgYm9vbGVhbiBxdWVyeUNvbW1h
bmRTdXBwb3J0ZWQoRE9NU3RyaW5nIGNvbW1hbmRJZCk7CiAgICAgRE9NU3RyaW5nIHF1ZXJ5Q29t
bWFuZFZhbHVlKERPTVN0cmluZyBjb21tYW5kSWQpOwotICAgIFtFbmFibGVkQXRSdW50aW1lPVVu
ZG9NYW5hZ2VyQVBJXSByZWFkb25seSBhdHRyaWJ1dGUgVW5kb01hbmFnZXIgdW5kb01hbmFnZXI7
CisgICAgW0VuYWJsZWRCeVNldHRpbmc9VW5kb01hbmFnZXJBUEldIHJlYWRvbmx5IGF0dHJpYnV0
ZSBVbmRvTWFuYWdlciB1bmRvTWFuYWdlcjsKIAogICAgIC8vIFNwZWNpYWwgZXZlbnQgaGFuZGxl
ciBJREwgYXR0cmlidXRlcyB0aGF0IG9ubHkgYXBwbHkgdG8gRG9jdW1lbnQgb2JqZWN0cy4KICAg
ICBbTGVuaWVudFRoaXNdIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25yZWFkeXN0YXRlY2hhbmdl
OwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbAkocmV2aXNpb24gMjY2MzQxKQorKysgU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0xMzEsNyArMTMxLDcg
QEAKICAgICBbTm90RW51bWVyYWJsZV0gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmJlZm9yZWxv
YWQ7CiAKICAgICAvLyBOb24gc3RhbmRhcmQgZXZlbnQgaGFuZGxlciAoaHR0cHM6Ly9kZXZlbG9w
ZXIuYXBwbGUuY29tL3JlZmVyZW5jZS93ZWJraXRqcy9lbGVtZW50LzE2MzQyMDUtb253ZWJraXRu
ZWVka2V5KS4KLSAgICBbTm90RW51bWVyYWJsZSwgQ29uZGl0aW9uYWw9TEVHQUNZX0VOQ1JZUFRF
RF9NRURJQSwgRW5hYmxlZEF0UnVudGltZT1MZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSV0gYXR0cmli
dXRlIEV2ZW50SGFuZGxlciBvbndlYmtpdG5lZWRrZXk7CisgICAgW05vdEVudW1lcmFibGUsIENv
bmRpdGlvbmFsPUxFR0FDWV9FTkNSWVBURURfTUVESUEsIEVuYWJsZWRCeVNldHRpbmc9TGVnYWN5
RW5jcnlwdGVkTWVkaWFBUEldIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb253ZWJraXRuZWVka2V5
OwogCiAgICAgLy8gTm9uIHN0YW5kYXJkIGV2ZW50IGhhbmRsZXIgKGh0dHBzOi8vZGV2ZWxvcGVy
LmFwcGxlLmNvbS9yZWZlcmVuY2Uvd2Via2l0anMvZWxlbWVudC8xNjMzOTQzLW9ud2Via2l0cHJl
c2VudGF0aW9ubW9kZWNoYW5nZWQpLgogICAgIFtOb3RFbnVtZXJhYmxlLCBDb25kaXRpb25hbD1W
SURFT19QUkVTRU5UQVRJT05fTU9ERV0gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbndlYmtpdHBy
ZXNlbnRhdGlvbm1vZGVjaGFuZ2VkOwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0lucHV0RXZl
bnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9JbnB1dEV2ZW50LmlkbAko
cmV2aXNpb24gMjY2MzQxKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0lucHV0RXZlbnQuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC0yNCw3ICsyNCw3IEBACiAqLwogCiBbCi0gICAgRW5hYmxlZEF0UnVu
dGltZT1JbnB1dEV2ZW50cywKKyAgICBFbmFibGVkQnlTZXR0aW5nPUlucHV0RXZlbnRzLAogXSBp
bnRlcmZhY2UgSW5wdXRFdmVudCA6IFVJRXZlbnQgewogICAgIGNvbnN0cnVjdG9yKERPTVN0cmlu
ZyB0eXBlLCBvcHRpb25hbCBJbnB1dEV2ZW50SW5pdCBldmVudEluaXREaWN0KTsKIApJbmRleDog
U291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2RvbS9Ob2RlLmNwcAkocmV2aXNpb24gMjY2MzQxKQorKysgU291cmNlL1dlYkNvcmUvZG9tL05v
ZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MCwxMCArNjAsMTAgQEAKICNpbmNsdWRlICJSZW5k
ZXJCb3guaCIKICNpbmNsdWRlICJSZW5kZXJUZXh0Q29udHJvbC5oIgogI2luY2x1ZGUgIlJlbmRl
clZpZXcuaCIKLSNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCiAjaW5jbHVkZSAi
U1ZHRWxlbWVudC5oIgogI2luY2x1ZGUgIlNjb3BlZEV2ZW50UXVldWUuaCIKICNpbmNsdWRlICJT
Y3JpcHREaXNhbGxvd2VkU2NvcGUuaCIKKyNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUg
IlN0b3JhZ2VFdmVudC5oIgogI2luY2x1ZGUgIlN0eWxlUmVzb2x2ZXIuaCIKICNpbmNsdWRlICJT
dHlsZVNoZWV0Q29udGVudHMuaCIKQEAgLTI0MjIsNyArMjQyMiw3IEBAIHZvaWQgTm9kZTo6ZGlz
cGF0Y2hET01BY3RpdmF0ZUV2ZW50KEV2ZW4KIAogYm9vbCBOb2RlOjpkaXNwYXRjaEJlZm9yZUxv
YWRFdmVudChjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkKIHsKLSAgICBpZiAoIVJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkubGVnYWN5QmVmb3JlTG9hZEV2ZW50RW5hYmxl
ZCgpKQorICAgIGlmICghZG9jdW1lbnQoKS5zZXR0aW5ncygpLmxlZ2FjeUJlZm9yZUxvYWRFdmVu
dEVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICBpZiAoIWRvY3VtZW50KCku
aGFzTGlzdGVuZXJUeXBlKERvY3VtZW50OjpCRUZPUkVMT0FEX0xJU1RFTkVSKSkKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2RvbS9TdGF0aWNSYW5nZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvZG9tL1N0YXRpY1JhbmdlLmlkbAkocmV2aXNpb24gMjY2MzQxKQorKysgU291cmNlL1dl
YkNvcmUvZG9tL1N0YXRpY1JhbmdlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQsNyArMjQsNyBA
QAogICovCiAKIFsKLSAgICBFbmFibGVkQXRSdW50aW1lPUlucHV0RXZlbnRzLAorICAgIEVuYWJs
ZWRCeVNldHRpbmc9SW5wdXRFdmVudHMsCiAgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwK
ICAgICBFeHBvc2VkPVdpbmRvdywKIF0gaW50ZXJmYWNlIFN0YXRpY1JhbmdlIHsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL0VkaXRvci5jcHAJKHJldmlzaW9uIDI2NjM0MSkKKysrIFNvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvRWRpdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTgyMSw3ICsxODIxLDcg
QEAgdm9pZCBFZGl0b3I6OnJlZG8oKQogCiB2b2lkIEVkaXRvcjo6cmVnaXN0ZXJDdXN0b21VbmRv
U3RlcChSZWY8Q3VzdG9tVW5kb1N0ZXA+JiYgdW5kb1N0ZXApCiB7Ci0gICAgQVNTRVJUKFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkudW5kb01hbmFnZXJBUElFbmFibGVk
KCkpOworICAgIEFTU0VSVChtX2RvY3VtZW50LnNldHRpbmdzKCkudW5kb01hbmFnZXJBUElFbmFi
bGVkKCkpOwogICAgIGlmIChhdXRvKiBjbGllbnQgPSB0aGlzLT5jbGllbnQoKSkKICAgICAgICAg
Y2xpZW50LT5yZWdpc3RlclVuZG9TdGVwKFdURk1vdmUodW5kb1N0ZXApKTsKIH0KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwCShyZXZpc2lvbiAyNjYzNDEp
CisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzg0LDcgKzM4NCw3IEBAIHZvaWQgSFRNTEFuY2hvckVsZW1lbnQ6OnNlbmRQaW5n
cyhjb25zdCAKICNpZiBVU0UoU1lTVEVNX1BSRVZJRVcpCiBib29sIEhUTUxBbmNob3JFbGVtZW50
Ojppc1N5c3RlbVByZXZpZXdMaW5rKCkKIHsKLSAgICBpZiAoIVJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnNoYXJlZEZlYXR1cmVzKCkuc3lzdGVtUHJldmlld0VuYWJsZWQoKSkKKyAgICBpZiAoIWRv
Y3VtZW50KCkuc2V0dGluZ3MoKS5zeXN0ZW1QcmV2aWV3RW5hYmxlZCgpKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAKICAgICBzdGF0aWMgTWFpblRocmVhZE5ldmVyRGVzdHJveWVkPGNvbnN0IEF0
b21TdHJpbmc+IHN5c3RlbVByZXZpZXdSZWxWYWx1ZSgiYXIiLCBBdG9tU3RyaW5nOjpDb25zdHJ1
Y3RGcm9tTGl0ZXJhbCk7CkBAIC00MTIsNyArNDEyLDcgQEAgT3B0aW9uYWw8QWRDbGlja0F0dHJp
YnV0aW9uPiBIVE1MQW5jaG9yRQogCiAgICAgYXV0byogcGFnZSA9IGRvY3VtZW50KCkucGFnZSgp
OwogICAgIGlmICghcGFnZSB8fCBwYWdlLT5zZXNzaW9uSUQoKS5pc0VwaGVtZXJhbCgpCi0gICAg
ICAgIHx8ICFSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmFkQ2xpY2tB
dHRyaWJ1dGlvbkVuYWJsZWQoKQorICAgICAgICB8fCAhZG9jdW1lbnQoKS5zZXR0aW5ncygpLmFk
Q2xpY2tBdHRyaWJ1dGlvbkVuYWJsZWQoKQogICAgICAgICB8fCAhVXNlckdlc3R1cmVJbmRpY2F0
b3I6OnByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpKQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0
OwogCkBAIC00ODYsNyArNDg2LDcgQEAgdm9pZCBIVE1MQW5jaG9yRWxlbWVudDo6aGFuZGxlQ2xp
Y2soRXZlbgogCiAgICAgU3RyaW5nIGRvd25sb2FkQXR0cmlidXRlOwogI2lmIEVOQUJMRShET1dO
TE9BRF9BVFRSSUJVVEUpCi0gICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZl
YXR1cmVzKCkuZG93bmxvYWRBdHRyaWJ1dGVFbmFibGVkKCkpIHsKKyAgICBpZiAoZG9jdW1lbnQo
KS5zZXR0aW5ncygpLmRvd25sb2FkQXR0cmlidXRlRW5hYmxlZCgpKSB7CiAgICAgICAgIC8vIEln
bm9yZSB0aGUgZG93bmxvYWQgYXR0cmlidXRlIGNvbXBsZXRlbHkgaWYgdGhlIGhyZWYgVVJMIGlz
IGNyb3NzIG9yaWdpbi4KICAgICAgICAgYm9vbCBpc1NhbWVPcmlnaW4gPSBjb21wbGV0ZWRVUkwu
cHJvdG9jb2xJc0RhdGEoKSB8fCBkb2N1bWVudCgpLnNlY3VyaXR5T3JpZ2luKCkuY2FuUmVxdWVz
dChjb21wbGV0ZWRVUkwpOwogICAgICAgICBpZiAoaXNTYW1lT3JpZ2luKQpAQCAtNDk4LDcgKzQ5
OCw3IEBAIHZvaWQgSFRNTEFuY2hvckVsZW1lbnQ6OmhhbmRsZUNsaWNrKEV2ZW4KIAogICAgIFN5
c3RlbVByZXZpZXdJbmZvIHN5c3RlbVByZXZpZXdJbmZvOwogI2lmIFVTRShTWVNURU1fUFJFVklF
VykKLSAgICBzeXN0ZW1QcmV2aWV3SW5mby5pc1ByZXZpZXcgPSBpc1N5c3RlbVByZXZpZXdMaW5r
KCkgJiYgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zeXN0ZW1QcmV2
aWV3RW5hYmxlZCgpOworICAgIHN5c3RlbVByZXZpZXdJbmZvLmlzUHJldmlldyA9IGlzU3lzdGVt
UHJldmlld0xpbmsoKSAmJiBkb2N1bWVudCgpLnNldHRpbmdzKCkuc3lzdGVtUHJldmlld0VuYWJs
ZWQoKTsKIAogICAgIGlmIChzeXN0ZW1QcmV2aWV3SW5mby5pc1ByZXZpZXcpIHsKICAgICAgICAg
c3lzdGVtUHJldmlld0luZm8uZWxlbWVudC5lbGVtZW50SWRlbnRpZmllciA9IGRvY3VtZW50KCku
aWRlbnRpZmllckZvckVsZW1lbnQoKnRoaXMpOwpAQCAtNTE1LDcgKzUxNSw3IEBAIHZvaWQgSFRN
TEFuY2hvckVsZW1lbnQ6OmhhbmRsZUNsaWNrKEV2ZW4KICAgICBPcHRpb25hbDxOZXdGcmFtZU9w
ZW5lclBvbGljeT4gbmV3RnJhbWVPcGVuZXJQb2xpY3k7CiAgICAgaWYgKGhhc1JlbChSZWxhdGlv
bjo6T3BlbmVyKSkKICAgICAgICAgbmV3RnJhbWVPcGVuZXJQb2xpY3kgPSBOZXdGcmFtZU9wZW5l
clBvbGljeTo6QWxsb3c7Ci0gICAgZWxzZSBpZiAoaGFzUmVsKFJlbGF0aW9uOjpOb09wZW5lcikg
fHwgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuYmxhbmtBbmNob3JU
YXJnZXRJbXBsaWVzTm9PcGVuZXJFbmFibGVkKCkgJiYgZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShl
ZmZlY3RpdmVUYXJnZXQsICJfYmxhbmsiKSkpCisgICAgZWxzZSBpZiAoaGFzUmVsKFJlbGF0aW9u
OjpOb09wZW5lcikgfHwgKGRvY3VtZW50KCkuc2V0dGluZ3MoKS5ibGFua0FuY2hvclRhcmdldElt
cGxpZXNOb09wZW5lckVuYWJsZWQoKSAmJiBlcXVhbElnbm9yaW5nQVNDSUlDYXNlKGVmZmVjdGl2
ZVRhcmdldCwgIl9ibGFuayIpKSkKICAgICAgICAgbmV3RnJhbWVPcGVuZXJQb2xpY3kgPSBOZXdG
cmFtZU9wZW5lclBvbGljeTo6U3VwcHJlc3M7CiAKICAgICBhdXRvIGFkQ2xpY2tBdHRyaWJ1dGlv
biA9IHBhcnNlQWRDbGlja0F0dHJpYnV0aW9uKCk7CkBAIC02MzEsNyArNjMxLDcgQEAgU3RyaW5n
IEhUTUxBbmNob3JFbGVtZW50OjpyZWZlcnJlclBvbGljeQogCiBSZWZlcnJlclBvbGljeSBIVE1M
QW5jaG9yRWxlbWVudDo6cmVmZXJyZXJQb2xpY3koKSBjb25zdAogewotICAgIGlmIChSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnJlZmVycmVyUG9saWN5QXR0cmlidXRl
RW5hYmxlZCgpKQorICAgIGlmIChkb2N1bWVudCgpLnNldHRpbmdzKCkucmVmZXJyZXJQb2xpY3lB
dHRyaWJ1dGVFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiBwYXJzZVJlZmVycmVyUG9saWN5KGF0
dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24ocmVmZXJyZXJwb2xpY3lBdHRyKSwgUmVmZXJy
ZXJQb2xpY3lTb3VyY2U6OlJlZmVycmVyUG9saWN5QXR0cmlidXRlKS52YWx1ZU9yKFJlZmVycmVy
UG9saWN5OjpFbXB0eVN0cmluZyk7CiAgICAgcmV0dXJuIFJlZmVycmVyUG9saWN5OjpFbXB0eVN0
cmluZzsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaWRs
CShyZXZpc2lvbiAyNjYzNDEpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVt
ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMTksMTEgKzE5LDExIEBACiAgKi8KIAogaW50ZXJm
YWNlIEhUTUxBbmNob3JFbGVtZW50IDogSFRNTEVsZW1lbnQgewotICAgIFtDRVJlYWN0aW9ucz1O
b3ROZWVkZWQsIEVuYWJsZWRBdFJ1bnRpbWU9QWRDbGlja0F0dHJpYnV0aW9uLCBSZWZsZWN0XSBh
dHRyaWJ1dGUgRE9NU3RyaW5nIGFkY2FtcGFpZ25pZDsKLSAgICBbQ0VSZWFjdGlvbnM9Tm90TmVl
ZGVkLCBFbmFibGVkQXRSdW50aW1lPUFkQ2xpY2tBdHRyaWJ1dGlvbiwgUmVmbGVjdF0gYXR0cmli
dXRlIERPTVN0cmluZyBhZGRlc3RpbmF0aW9uOworICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWQs
IEVuYWJsZWRCeVNldHRpbmc9QWRDbGlja0F0dHJpYnV0aW9uLCBSZWZsZWN0XSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIGFkY2FtcGFpZ25pZDsKKyAgICBbQ0VSZWFjdGlvbnM9Tm90TmVlZGVkLCBFbmFi
bGVkQnlTZXR0aW5nPUFkQ2xpY2tBdHRyaWJ1dGlvbiwgUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0
cmluZyBhZGRlc3RpbmF0aW9uOwogICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWQsIFJlZmxlY3Rd
IGF0dHJpYnV0ZSBET01TdHJpbmcgY2hhcnNldDsKICAgICBbQ0VSZWFjdGlvbnM9Tm90TmVlZGVk
LCBSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGNvb3JkczsKLSAgICBbQ0VSZWFjdGlvbnM9
Tm90TmVlZGVkLCBDb25kaXRpb25hbD1ET1dOTE9BRF9BVFRSSUJVVEUsIEVuYWJsZWRBdFJ1bnRp
bWU9RG93bmxvYWRBdHRyaWJ1dGUsIFJlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgZG93bmxv
YWQ7CisgICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRlZCwgQ29uZGl0aW9uYWw9RE9XTkxPQURfQVRU
UklCVVRFLCBFbmFibGVkQnlTZXR0aW5nPURvd25sb2FkQXR0cmlidXRlLCBSZWZsZWN0XSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIGRvd25sb2FkOwogICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWQsIFJl
ZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgaHJlZmxhbmc7CiAgICAgW0NFUmVhY3Rpb25zPU5v
dE5lZWRlZCwgUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwogICAgIFtDRVJlYWN0
aW9ucz1Ob3ROZWVkZWQsIFJlZmxlY3RdIGF0dHJpYnV0ZSBVU1ZTdHJpbmcgcGluZzsKQEAgLTM3
LDcgKzM3LDcgQEAgaW50ZXJmYWNlIEhUTUxBbmNob3JFbGVtZW50IDogSFRNTEVsZW1lbgogCiAg
ICAgW1B1dEZvcndhcmRzPXZhbHVlXSByZWFkb25seSBhdHRyaWJ1dGUgRE9NVG9rZW5MaXN0IHJl
bExpc3Q7CiAKLSAgICBbRW5hYmxlZEF0UnVudGltZT1SZWZlcnJlclBvbGljeUF0dHJpYnV0ZSwg
SW1wbGVtZW50ZWRBcz1yZWZlcnJlclBvbGljeUZvckJpbmRpbmdzLCBDRVJlYWN0aW9ucz1Ob3RO
ZWVkZWRdIGF0dHJpYnV0ZSBET01TdHJpbmcgcmVmZXJyZXJQb2xpY3k7CisgICAgW0VuYWJsZWRC
eVNldHRpbmc9UmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGUsIEltcGxlbWVudGVkQXM9cmVmZXJyZXJQ
b2xpY3lGb3JCaW5kaW5ncywgQ0VSZWFjdGlvbnM9Tm90TmVlZGVkXSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIHJlZmVycmVyUG9saWN5OwogfTsKIAogSFRNTEFuY2hvckVsZW1lbnQgaW1wbGVtZW50cyBI
VE1MSHlwZXJsaW5rRWxlbWVudFV0aWxzOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
QXJlYUVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFy
ZWFFbGVtZW50LmlkbAkocmV2aXNpb24gMjY2MzQxKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MQXJlYUVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw3IEBAIGludGVy
ZmFjZSBIVE1MQXJlYUVsZW1lbnQgOiBIVE1MRWxlbWVudCAKICAgICBbQ0VSZWFjdGlvbnM9Tm90
TmVlZGVkLCBSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNoYXBlOwogICAgIFtDRVJlYWN0
aW9ucz1Ob3ROZWVkZWQsIFJlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgdGFyZ2V0OwogCi0g
ICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRlZCwgQ29uZGl0aW9uYWw9RE9XTkxPQURfQVRUUklCVVRF
LCBFbmFibGVkQXRSdW50aW1lPURvd25sb2FkQXR0cmlidXRlLCBSZWZsZWN0XSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIGRvd25sb2FkOworICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWQsIENvbmRpdGlv
bmFsPURPV05MT0FEX0FUVFJJQlVURSwgRW5hYmxlZEJ5U2V0dGluZz1Eb3dubG9hZEF0dHJpYnV0
ZSwgUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBkb3dubG9hZDsKIAogICAgIFtQdXRGb3J3
YXJkcz12YWx1ZV0gcmVhZG9ubHkgYXR0cmlidXRlIERPTVRva2VuTGlzdCByZWxMaXN0OwogfTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuaWRsCShyZXZpc2lv
biAyNjYzNDEpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCdXR0b25FbGVtZW50LmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMzcsNyArMzcsNyBAQCBpbnRlcmZhY2UgSFRNTEJ1dHRvbkVsZW1l
bnQgOiBIVE1MRWxlbWVuCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFZhbGlkaXR5U3RhdGUgdmFs
aWRpdHk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB2YWxpZGF0aW9uTWVzc2Fn
ZTsKICAgICBib29sZWFuIGNoZWNrVmFsaWRpdHkoKTsKLSAgICBbRW5hYmxlZEF0UnVudGltZT1J
bnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uXSBib29sZWFuIHJlcG9ydFZhbGlkaXR5KCk7CisgICAg
W0VuYWJsZWRCeVNldHRpbmc9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0gYm9vbGVhbiByZXBv
cnRWYWxpZGl0eSgpOwogICAgIHVuZGVmaW5lZCBzZXRDdXN0b21WYWxpZGl0eShET01TdHJpbmcg
ZXJyb3IpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5vZGVMaXN0IGxhYmVsczsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZpZWxkU2V0RWxlbWVudC5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRmllbGRTZXRFbGVtZW50LmlkbAkocmV2aXNpb24g
MjY2MzQxKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRmllbGRTZXRFbGVtZW50LmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsNiBAQCBpbnRlcmZhY2UgSFRNTEZpZWxkU2V0RWxl
bWVudCA6IEhUTUxFbGVtCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFZhbGlkaXR5U3RhdGUgICB2
YWxpZGl0eTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nICAgICAgIHZhbGlkYXRp
b25NZXNzYWdlOwogICAgIGJvb2xlYW4gIGNoZWNrVmFsaWRpdHkoKTsKLSAgICBbRW5hYmxlZEF0
UnVudGltZT1JbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uXSBib29sZWFuIHJlcG9ydFZhbGlkaXR5
KCk7CisgICAgW0VuYWJsZWRCeVNldHRpbmc9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0gYm9v
bGVhbiByZXBvcnRWYWxpZGl0eSgpOwogICAgIHVuZGVmaW5lZCBzZXRDdXN0b21WYWxpZGl0eShE
T01TdHJpbmcgZXJyb3IpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1F
bGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxl
bWVudC5pZGwJKHJldmlzaW9uIDI2NjM0MSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZv
cm1FbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDEsNSArNDEsNSBAQAogICAgIFtJbXBs
ZW1lbnRlZEFzPXN1Ym1pdEZyb21KYXZhU2NyaXB0XSB1bmRlZmluZWQgc3VibWl0KCk7CiAgICAg
W0NFUmVhY3Rpb25zPU5vdE5lZWRlZF0gdW5kZWZpbmVkIHJlc2V0KCk7CiAgICAgYm9vbGVhbiBj
aGVja1ZhbGlkaXR5KCk7Ci0gICAgW0VuYWJsZWRBdFJ1bnRpbWU9SW50ZXJhY3RpdmVGb3JtVmFs
aWRhdGlvbl0gYm9vbGVhbiByZXBvcnRWYWxpZGl0eSgpOworICAgIFtFbmFibGVkQnlTZXR0aW5n
PUludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25dIGJvb2xlYW4gcmVwb3J0VmFsaWRpdHkoKTsKIH07
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmNwcAkocmV2aXNp
b24gMjY2MzQxKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTMwLDggKzMwLDggQEAKICNpbmNsdWRlICJGcmFtZS5oIgogI2lu
Y2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIlJlbmRlcklGcmFtZS5oIgotI2luY2x1ZGUg
IlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKICNpbmNsdWRlICJTY3JpcHRhYmxlRG9jdW1lbnRQ
YXJzZXIuaCIKKyNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJ
bmxpbmVzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTEzMCw3ICsxMzAsNyBAQCBTdHJp
bmcgSFRNTElGcmFtZUVsZW1lbnQ6OnJlZmVycmVyUG9saWN5CiAKIFJlZmVycmVyUG9saWN5IEhU
TUxJRnJhbWVFbGVtZW50OjpyZWZlcnJlclBvbGljeSgpIGNvbnN0CiB7Ci0gICAgaWYgKFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkucmVmZXJyZXJQb2xpY3lBdHRyaWJ1
dGVFbmFibGVkKCkpCisgICAgaWYgKGRvY3VtZW50KCkuc2V0dGluZ3MoKS5yZWZlcnJlclBvbGlj
eUF0dHJpYnV0ZUVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuIHBhcnNlUmVmZXJyZXJQb2xpY3ko
YXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihyZWZlcnJlcnBvbGljeUF0dHIpLCBSZWZl
cnJlclBvbGljeVNvdXJjZTo6UmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGUpLnZhbHVlT3IoUmVmZXJy
ZXJQb2xpY3k6OkVtcHR5U3RyaW5nKTsKICAgICByZXR1cm4gUmVmZXJyZXJQb2xpY3k6OkVtcHR5
U3RyaW5nOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5p
ZGwJKHJldmlzaW9uIDI2NjM0MSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElGcmFtZUVs
ZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC00Miw1ICs0Miw1IEBAIGludGVyZmFjZSBIVE1M
SUZyYW1lRWxlbWVudCA6IEhUTUxFbGVtZW4KIAogICAgIFtDaGVja1NlY3VyaXR5Rm9yTm9kZSwg
TWF5VGhyb3dFeGNlcHRpb25dIERvY3VtZW50IGdldFNWR0RvY3VtZW50KCk7CiAKLSAgICBbRW5h
YmxlZEF0UnVudGltZT1SZWZlcnJlclBvbGljeUF0dHJpYnV0ZSwgSW1wbGVtZW50ZWRBcz1yZWZl
cnJlclBvbGljeUZvckJpbmRpbmdzLCBDRVJlYWN0aW9ucz1Ob3ROZWVkZWRdIGF0dHJpYnV0ZSBE
T01TdHJpbmcgcmVmZXJyZXJQb2xpY3k7CisgICAgW0VuYWJsZWRCeVNldHRpbmc9UmVmZXJyZXJQ
b2xpY3lBdHRyaWJ1dGUsIEltcGxlbWVudGVkQXM9cmVmZXJyZXJQb2xpY3lGb3JCaW5kaW5ncywg
Q0VSZWFjdGlvbnM9Tm90TmVlZGVkXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlZmVycmVyUG9saWN5
OwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcAkocmV2
aXNpb24gMjY2MzQxKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjUxLDcgKzI1MSw3IEBAIHZvaWQgSFRNTEltYWdlRWxlbWVu
dDo6YXR0cmlidXRlQ2hhbmdlZCgKIHsKICAgICBIVE1MRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdl
ZChuYW1lLCBvbGRWYWx1ZSwgbmV3VmFsdWUsIHJlYXNvbik7CiAKLSAgICBpZiAobmFtZSA9PSBy
ZWZlcnJlcnBvbGljeUF0dHIgJiYgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVy
ZXMoKS5yZWZlcnJlclBvbGljeUF0dHJpYnV0ZUVuYWJsZWQoKSkgeworICAgIGlmIChuYW1lID09
IHJlZmVycmVycG9saWN5QXR0ciAmJiBkb2N1bWVudCgpLnNldHRpbmdzKCkucmVmZXJyZXJQb2xp
Y3lBdHRyaWJ1dGVFbmFibGVkKCkpIHsKICAgICAgICAgYXV0byBvbGRSZWZlcnJlclBvbGljeSA9
IHBhcnNlUmVmZXJyZXJQb2xpY3kob2xkVmFsdWUsIFJlZmVycmVyUG9saWN5U291cmNlOjpSZWZl
cnJlclBvbGljeUF0dHJpYnV0ZSkudmFsdWVPcihSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmcp
OwogICAgICAgICBhdXRvIG5ld1JlZmVycmVyUG9saWN5ID0gcGFyc2VSZWZlcnJlclBvbGljeShu
ZXdWYWx1ZSwgUmVmZXJyZXJQb2xpY3lTb3VyY2U6OlJlZmVycmVyUG9saWN5QXR0cmlidXRlKS52
YWx1ZU9yKFJlZmVycmVyUG9saWN5OjpFbXB0eVN0cmluZyk7CiAgICAgICAgIGlmIChvbGRSZWZl
cnJlclBvbGljeSAhPSBuZXdSZWZlcnJlclBvbGljeSkKQEAgLTg4Miw3ICs4ODIsNyBAQCBib29s
IEhUTUxJbWFnZUVsZW1lbnQ6OndpbGxSZXNwb25kVG9Nb3VzCiAjaWYgVVNFKFNZU1RFTV9QUkVW
SUVXKQogYm9vbCBIVE1MSW1hZ2VFbGVtZW50Ojppc1N5c3RlbVByZXZpZXdJbWFnZSgpIGNvbnN0
CiB7Ci0gICAgaWYgKCFSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnN5
c3RlbVByZXZpZXdFbmFibGVkKCkpCisgICAgaWYgKCFkb2N1bWVudCgpLnNldHRpbmdzKCkuc3lz
dGVtUHJldmlld0VuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgYXV0byog
cGFyZW50ID0gcGFyZW50RWxlbWVudCgpOwpAQCAtOTcxLDcgKzk3MSw3IEBAIFN0cmluZyBIVE1M
SW1hZ2VFbGVtZW50OjpyZWZlcnJlclBvbGljeUYKIAogUmVmZXJyZXJQb2xpY3kgSFRNTEltYWdl
RWxlbWVudDo6cmVmZXJyZXJQb2xpY3koKSBjb25zdAogewotICAgIGlmIChSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnJlZmVycmVyUG9saWN5QXR0cmlidXRlRW5hYmxl
ZCgpKQorICAgIGlmIChkb2N1bWVudCgpLnNldHRpbmdzKCkucmVmZXJyZXJQb2xpY3lBdHRyaWJ1
dGVFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiBwYXJzZVJlZmVycmVyUG9saWN5KGF0dHJpYnV0
ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24ocmVmZXJyZXJwb2xpY3lBdHRyKSwgUmVmZXJyZXJQb2xp
Y3lTb3VyY2U6OlJlZmVycmVyUG9saWN5QXR0cmlidXRlKS52YWx1ZU9yKFJlZmVycmVyUG9saWN5
OjpFbXB0eVN0cmluZyk7CiAgICAgcmV0dXJuIFJlZmVycmVyUG9saWN5OjpFbXB0eVN0cmluZzsK
IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmlkbAkocmV2aXNp
b24gMjY2MzQxKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmlkbAko
d29ya2luZyBjb3B5KQpAQCAtNDQsOCArNDQsOCBAQAogCiAgICAgW0NvbmRpdGlvbmFsPUFUVEFD
SE1FTlRfRUxFTUVOVCwgRW5hYmxlZEF0UnVudGltZT1BdHRhY2htZW50RWxlbWVudF0gcmVhZG9u
bHkgYXR0cmlidXRlIERPTVN0cmluZyBhdHRhY2htZW50SWRlbnRpZmllcjsKIAotICAgIFtFbmFi
bGVkQXRSdW50aW1lPVJlZmVycmVyUG9saWN5QXR0cmlidXRlLCBJbXBsZW1lbnRlZEFzPXJlZmVy
cmVyUG9saWN5Rm9yQmluZGluZ3MsIENFUmVhY3Rpb25zPU5vdE5lZWRlZF0gYXR0cmlidXRlIERP
TVN0cmluZyByZWZlcnJlclBvbGljeTsKLSAgICBbQ0VSZWFjdGlvbnMsIEVuYWJsZWRBdFJ1bnRp
bWU9TGF6eUltYWdlTG9hZGluZywgSW1wbGVtZW50ZWRBcz1sb2FkaW5nRm9yQmluZGluZ3NdIGF0
dHJpYnV0ZSBET01TdHJpbmcgbG9hZGluZzsKKyAgICBbRW5hYmxlZEJ5U2V0dGluZz1SZWZlcnJl
clBvbGljeUF0dHJpYnV0ZSwgSW1wbGVtZW50ZWRBcz1yZWZlcnJlclBvbGljeUZvckJpbmRpbmdz
LCBDRVJlYWN0aW9ucz1Ob3ROZWVkZWRdIGF0dHJpYnV0ZSBET01TdHJpbmcgcmVmZXJyZXJQb2xp
Y3k7CisgICAgW0NFUmVhY3Rpb25zLCBFbmFibGVkQnlTZXR0aW5nPUxhenlJbWFnZUxvYWRpbmcs
IEltcGxlbWVudGVkQXM9bG9hZGluZ0ZvckJpbmRpbmdzXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGxv
YWRpbmc7CiAKICAgICAvLyBFeHRlbnNpb25zCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xl
YW4gY29tcGxldGU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5p
ZGwJKHJldmlzaW9uIDI2NjM0MSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxl
bWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTcxLDcgKzcxLDcgQEAKICAgICByZWFkb25seSBh
dHRyaWJ1dGUgVmFsaWRpdHlTdGF0ZSB2YWxpZGl0eTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlOwogICAgIGJvb2xlYW4gY2hlY2tWYWxpZGl0eSgp
OwotICAgIFtFbmFibGVkQXRSdW50aW1lPUludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25dIGJvb2xl
YW4gcmVwb3J0VmFsaWRpdHkoKTsKKyAgICBbRW5hYmxlZEJ5U2V0dGluZz1JbnRlcmFjdGl2ZUZv
cm1WYWxpZGF0aW9uXSBib29sZWFuIHJlcG9ydFZhbGlkaXR5KCk7CiAgICAgdW5kZWZpbmVkIHNl
dEN1c3RvbVZhbGlkaXR5KERPTVN0cmluZyBlcnJvcik7CiAKICAgICByZWFkb25seSBhdHRyaWJ1
dGUgTm9kZUxpc3QgbGFiZWxzOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MS2V5Z2Vu
RWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MS2V5Z2Vu
RWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjM0MSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEtleWdlbkVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC00Myw3ICs0Myw3IEBAIGludGVy
ZmFjZSBIVE1MS2V5Z2VuRWxlbWVudCA6IEhUTUxFbGVtZW4KICAgICByZWFkb25seSBhdHRyaWJ1
dGUgVmFsaWRpdHlTdGF0ZSB2YWxpZGl0eTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIHZhbGlkYXRpb25NZXNzYWdlOwogICAgIGJvb2xlYW4gY2hlY2tWYWxpZGl0eSgpOwotICAg
IFtFbmFibGVkQXRSdW50aW1lPUludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25dIGJvb2xlYW4gcmVw
b3J0VmFsaWRpdHkoKTsKKyAgICBbRW5hYmxlZEJ5U2V0dGluZz1JbnRlcmFjdGl2ZUZvcm1WYWxp
ZGF0aW9uXSBib29sZWFuIHJlcG9ydFZhbGlkaXR5KCk7CiAgICAgdW5kZWZpbmVkIHNldEN1c3Rv
bVZhbGlkaXR5KERPTVN0cmluZyBlcnJvcik7CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgTm9k
ZUxpc3QgbGFiZWxzOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNw
cAkocmV2aXNpb24gMjY2MzQxKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1l
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Miw3ICs1Miw2IEBACiAjaW5jbHVkZSAiTW91c2VF
dmVudC5oIgogI2luY2x1ZGUgIlBhcnNlZENvbnRlbnRUeXBlLmgiCiAjaW5jbHVkZSAiUmVuZGVy
U3R5bGUuaCIKLSNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCiAjaW5jbHVkZSAi
U2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlN0eWxl
SW5oZXJpdGVkRGF0YS5oIgpAQCAtMjQxLDkgKzI0MCw3IEBAIFN0cmluZyBIVE1MTGlua0VsZW1l
bnQ6OmFzKCkgY29uc3QKICAgICAgICAgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uo
YXMsICJpbWFnZSIpCiAgICAgICAgIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGFz
LCAic2NyaXB0IikKICAgICAgICAgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoYXMs
ICJzdHlsZSIpCi0gICAgICAgIHx8IChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0
dXJlcygpLm1lZGlhUHJlbG9hZGluZ0VuYWJsZWQoKQotICAgICAgICAgICAgJiYgKGVxdWFsTGV0
dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGFzLCAidmlkZW8iKQotICAgICAgICAgICAgICAgIHx8IGVx
dWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGFzLCAiYXVkaW8iKSkpCisgICAgICAgIHx8IChk
b2N1bWVudCgpLnNldHRpbmdzKCkubWVkaWFQcmVsb2FkaW5nRW5hYmxlZCgpICYmIChlcXVhbExl
dHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShhcywgInZpZGVvIikgfHwgZXF1YWxMZXR0ZXJzSWdub3Jp
bmdBU0NJSUNhc2UoYXMsICJhdWRpbyIpKSkKICAgICAgICAgfHwgZXF1YWxMZXR0ZXJzSWdub3Jp
bmdBU0NJSUNhc2UoYXMsICJ0cmFjayIpCiAgICAgICAgIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5n
QVNDSUlDYXNlKGFzLCAiZm9udCIpKQogICAgICAgICByZXR1cm4gYXMuY29udmVydFRvQVNDSUlM
b3dlcmNhc2UoKTsKQEAgLTY3OCw3ICs2NzUsNyBAQCBTdHJpbmcgSFRNTExpbmtFbGVtZW50Ojpy
ZWZlcnJlclBvbGljeUZvCiAKIFJlZmVycmVyUG9saWN5IEhUTUxMaW5rRWxlbWVudDo6cmVmZXJy
ZXJQb2xpY3koKSBjb25zdAogewotICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFy
ZWRGZWF0dXJlcygpLnJlZmVycmVyUG9saWN5QXR0cmlidXRlRW5hYmxlZCgpKQorICAgIGlmIChk
b2N1bWVudCgpLnNldHRpbmdzKCkucmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGVFbmFibGVkKCkpCiAg
ICAgICAgIHJldHVybiBwYXJzZVJlZmVycmVyUG9saWN5KGF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJv
bml6YXRpb24ocmVmZXJyZXJwb2xpY3lBdHRyKSwgUmVmZXJyZXJQb2xpY3lTb3VyY2U6OlJlZmVy
cmVyUG9saWN5QXR0cmlidXRlKS52YWx1ZU9yKFJlZmVycmVyUG9saWN5OjpFbXB0eVN0cmluZyk7
CiAgICAgcmV0dXJuIFJlZmVycmVyUG9saWN5OjpFbXB0eVN0cmluZzsKIH0KSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjM0MSkKKysrIFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAt
MzUsOCArMzUsOCBAQAogICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWQsIFJlZmxlY3RdIGF0dHJp
YnV0ZSBET01TdHJpbmcgdHlwZTsKICAgICBbQ0VSZWFjdGlvbnM9Tm90TmVlZGVkXSBhdHRyaWJ1
dGUgRE9NU3RyaW5nIGFzOwogICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWRdIGF0dHJpYnV0ZSBE
T01TdHJpbmc/IGNyb3NzT3JpZ2luOwotICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWQsIFJlZmxl
Y3QsIEVuYWJsZWRBdFJ1bnRpbWU9TGlua1ByZWxvYWRSZXNwb25zaXZlSW1hZ2VzXSBhdHRyaWJ1
dGUgRE9NU3RyaW5nIGltYWdlU3Jjc2V0OwotICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWQsIFJl
ZmxlY3QsIEVuYWJsZWRBdFJ1bnRpbWU9TGlua1ByZWxvYWRSZXNwb25zaXZlSW1hZ2VzXSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIGltYWdlU2l6ZXM7CisgICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRlZCwg
UmVmbGVjdCwgRW5hYmxlZEJ5U2V0dGluZz1MaW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFnZXNdIGF0
dHJpYnV0ZSBET01TdHJpbmcgaW1hZ2VTcmNzZXQ7CisgICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRl
ZCwgUmVmbGVjdCwgRW5hYmxlZEJ5U2V0dGluZz1MaW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFnZXNd
IGF0dHJpYnV0ZSBET01TdHJpbmcgaW1hZ2VTaXplczsKIAogICAgIC8vIERPTSBMZXZlbCAyIFN0
eWxlCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFN0eWxlU2hlZXQgc2hlZXQ7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAJKHJldmlzaW9uIDI2NjM0MSkKKysr
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTI0NTEsNyArMjQ1MSw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6dXBkYXRlU2hvdWxk
Q29udGkKIHsKICAgICBpZiAoIW1fcGxheWVyKQogICAgICAgICByZXR1cm47Ci0gICAgYm9vbCBz
aG91bGRDb250aW51ZSA9IGhhc0V2ZW50TGlzdGVuZXJzKCJ3ZWJraXRuZWVka2V5IikgfHwgKFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuZW5jcnlwdGVkTWVkaWFBUElF
bmFibGVkKCkgJiYgIWRvY3VtZW50KCkucXVpcmtzKCkuaGFzQnJva2VuRW5jcnlwdGVkTWVkaWFB
UElTdXBwb3J0UXVpcmsoKSk7CisgICAgYm9vbCBzaG91bGRDb250aW51ZSA9IGhhc0V2ZW50TGlz
dGVuZXJzKCJ3ZWJraXRuZWVka2V5IikgfHwgKGRvY3VtZW50KCkuc2V0dGluZ3MoKS5lbmNyeXB0
ZWRNZWRpYUFQSUVuYWJsZWQoKSAmJiAhZG9jdW1lbnQoKS5xdWlya3MoKS5oYXNCcm9rZW5FbmNy
eXB0ZWRNZWRpYUFQSVN1cHBvcnRRdWlyaygpKTsKICAgICBtX3BsYXllci0+c2V0U2hvdWxkQ29u
dGludWVBZnRlcktleU5lZWRlZChzaG91bGRDb250aW51ZSk7CiB9CiAjZW5kaWYKQEAgLTI0NjMs
MTQgKzI0NjMsMTQgQEAgUmVmUHRyPEFycmF5QnVmZmVyPiBIVE1MTWVkaWFFbGVtZW50OjptZQog
CiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyS2V5TmVlZGVkKFVpbnQ4QXJyYXkq
IGluaXREYXRhKQogewotICAgIGlmICghUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVh
dHVyZXMoKS5sZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQoKSkKKyAgICBpZiAoIWRvY3Vt
ZW50KCkuc2V0dGluZ3MoKS5sZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQoKSkKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgaWYgKCFoYXNFdmVudExpc3RlbmVycygid2Via2l0bmVlZGtleSIp
CiAjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKICAgICAgICAgLy8gT25seSBmaXJlIGFuIGVy
cm9yIGlmIEVOQ1JZUFRFRF9NRURJQSBpcyBub3QgZW5hYmxlZCwgdG8gZ2l2ZSBjbGllbnRzIG9m
IHRoZQogICAgICAgICAvLyAiZW5jcnlwdGVkIiBldmVudCBhIGNoYW5jZSB0byBoYW5kbGUgaXQg
d2l0aG91dCByZXN1bHRpbmcgaW4gYSBzeW50aGV0aWMgZXJyb3IuCi0gICAgICAgICYmICghUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5lbmNyeXB0ZWRNZWRpYUFQSUVu
YWJsZWQoKSB8fCBkb2N1bWVudCgpLnF1aXJrcygpLmhhc0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJ
U3VwcG9ydFF1aXJrKCkpCisgICAgICAgICYmICghZG9jdW1lbnQoKS5zZXR0aW5ncygpLmVuY3J5
cHRlZE1lZGlhQVBJRW5hYmxlZCgpIHx8IGRvY3VtZW50KCkucXVpcmtzKCkuaGFzQnJva2VuRW5j
cnlwdGVkTWVkaWFBUElTdXBwb3J0UXVpcmsoKSkKICNlbmRpZgogICAgICAgICApIHsKICAgICAg
ICAgbV9lcnJvciA9IE1lZGlhRXJyb3I6OmNyZWF0ZShNZWRpYUVycm9yOjpNRURJQV9FUlJfRU5D
UllQVEVEKTsKQEAgLTI0OTgsNyArMjQ5OCw3IEBAIFN0cmluZyBIVE1MTWVkaWFFbGVtZW50Ojpt
ZWRpYVBsYXllck1lZGkKIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp3ZWJraXRTZXRNZWRpYUtl
eXMoV2ViS2l0TWVkaWFLZXlzKiBtZWRpYUtleXMpCiB7Ci0gICAgaWYgKCFSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJRW5hYmxl
ZCgpKQorICAgIGlmICghZG9jdW1lbnQoKS5zZXR0aW5ncygpLmxlZ2FjeUVuY3J5cHRlZE1lZGlh
QVBJRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAobV93ZWJLaXRNZWRpYUtl
eXMgPT0gbWVkaWFLZXlzKQpAQCAtMjUxMyw3ICsyNTEzLDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVt
ZW50Ojp3ZWJraXRTZXRNZWRpYUtleQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmtleUFkZGVk
KCkKIHsKLSAgICBpZiAoIVJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCku
bGVnYWN5RW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKCkpCisgICAgaWYgKCFkb2N1bWVudCgpLnNl
dHRpbmdzKCkubGVnYWN5RW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKCkpCiAgICAgICAgIHJldHVy
bjsKIAogICAgIGlmIChtX3BsYXllcikKQEAgLTI2MDQsNyArMjYwNCw3IEBAIHZvaWQgSFRNTE1l
ZGlhRWxlbWVudDo6c2V0TWVkaWFLZXlzKE1lZGkKIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojpt
ZWRpYVBsYXllckluaXRpYWxpemF0aW9uRGF0YUVuY291bnRlcmVkKGNvbnN0IFN0cmluZyYgaW5p
dERhdGFUeXBlLCBSZWZQdHI8QXJyYXlCdWZmZXI+JiYgaW5pdERhdGEpCiB7Ci0gICAgaWYgKCFS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmVuY3J5cHRlZE1lZGlhQVBJ
RW5hYmxlZCgpIHx8IGRvY3VtZW50KCkucXVpcmtzKCkuaGFzQnJva2VuRW5jcnlwdGVkTWVkaWFB
UElTdXBwb3J0UXVpcmsoKSkKKyAgICBpZiAoIWRvY3VtZW50KCkuc2V0dGluZ3MoKS5lbmNyeXB0
ZWRNZWRpYUFQSUVuYWJsZWQoKSB8fCBkb2N1bWVudCgpLnF1aXJrcygpLmhhc0Jyb2tlbkVuY3J5
cHRlZE1lZGlhQVBJU3VwcG9ydFF1aXJrKCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIGh0
dHBzOi8vdzNjLmdpdGh1Yi5pby9lbmNyeXB0ZWQtbWVkaWEvI2luaXRkYXRhLWVuY291bnRlcmVk
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwJKHJldmlzaW9u
IDI2NjM0MSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTEwMiwxMiArMTAyLDEyIEBAIHR5cGVkZWYgKAogICAgIFtDb25kaXRp
b25hbD1NRURJQV9TVEFUSVNUSUNTXSByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyB3
ZWJraXRBdWRpb0RlY29kZWRCeXRlQ291bnQ7CiAgICAgW0NvbmRpdGlvbmFsPU1FRElBX1NUQVRJ
U1RJQ1NdIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHdlYmtpdFZpZGVvRGVjb2Rl
ZEJ5dGVDb3VudDsKIAotICAgIFtDb25kaXRpb25hbD1MRUdBQ1lfRU5DUllQVEVEX01FRElBLCBF
bmFibGVkQXRSdW50aW1lPUxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJXSByZWFkb25seSBhdHRyaWJ1
dGUgV2ViS2l0TWVkaWFLZXlzIHdlYmtpdEtleXM7Ci0gICAgW0NvbmRpdGlvbmFsPUxFR0FDWV9F
TkNSWVBURURfTUVESUEsIEVuYWJsZWRBdFJ1bnRpbWU9TGVnYWN5RW5jcnlwdGVkTWVkaWFBUEld
IHVuZGVmaW5lZCB3ZWJraXRTZXRNZWRpYUtleXMoV2ViS2l0TWVkaWFLZXlzPyBtZWRpYUtleXMp
OwotICAgIFtDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEsIEVuYWJsZWRBdFJ1bnRpbWU9RW5j
cnlwdGVkTWVkaWFBUEksIERpc2FibGVkQnlRdWlyaz1oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQ
SVN1cHBvcnRdIHJlYWRvbmx5IGF0dHJpYnV0ZSBNZWRpYUtleXMgbWVkaWFLZXlzOwotICAgIFtD
b25kaXRpb25hbD1FTkNSWVBURURfTUVESUEsIEVuYWJsZWRBdFJ1bnRpbWU9RW5jcnlwdGVkTWVk
aWFBUEksIERpc2FibGVkQnlRdWlyaz1oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnRd
IGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25lbmNyeXB0ZWQ7Ci0gICAgW0NvbmRpdGlvbmFsPUVO
Q1JZUFRFRF9NRURJQSwgRW5hYmxlZEF0UnVudGltZT1FbmNyeXB0ZWRNZWRpYUFQSSwgRGlzYWJs
ZWRCeVF1aXJrPWhhc0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydF0gYXR0cmlidXRlIEV2
ZW50SGFuZGxlciBvbndhaXRpbmdmb3JrZXk7Ci0gICAgW0NvbmRpdGlvbmFsPUVOQ1JZUFRFRF9N
RURJQSwgRW5hYmxlZEF0UnVudGltZT1FbmNyeXB0ZWRNZWRpYUFQSSwgRGlzYWJsZWRCeVF1aXJr
PWhhc0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydF0gUHJvbWlzZTx1bmRlZmluZWQ+IHNl
dE1lZGlhS2V5cyhNZWRpYUtleXM/IG1lZGlhS2V5cyk7CisgICAgW0NvbmRpdGlvbmFsPUxFR0FD
WV9FTkNSWVBURURfTUVESUEsIEVuYWJsZWRCeVNldHRpbmc9TGVnYWN5RW5jcnlwdGVkTWVkaWFB
UEldIHJlYWRvbmx5IGF0dHJpYnV0ZSBXZWJLaXRNZWRpYUtleXMgd2Via2l0S2V5czsKKyAgICBb
Q29uZGl0aW9uYWw9TEVHQUNZX0VOQ1JZUFRFRF9NRURJQSwgRW5hYmxlZEJ5U2V0dGluZz1MZWdh
Y3lFbmNyeXB0ZWRNZWRpYUFQSV0gdW5kZWZpbmVkIHdlYmtpdFNldE1lZGlhS2V5cyhXZWJLaXRN
ZWRpYUtleXM/IG1lZGlhS2V5cyk7CisgICAgW0NvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwg
RW5hYmxlZEJ5U2V0dGluZz1FbmNyeXB0ZWRNZWRpYUFQSSwgRGlzYWJsZWRCeVF1aXJrPWhhc0Jy
b2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydF0gcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlhS2V5
cyBtZWRpYUtleXM7CisgICAgW0NvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwgRW5hYmxlZEJ5
U2V0dGluZz1FbmNyeXB0ZWRNZWRpYUFQSSwgRGlzYWJsZWRCeVF1aXJrPWhhc0Jyb2tlbkVuY3J5
cHRlZE1lZGlhQVBJU3VwcG9ydF0gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmVuY3J5cHRlZDsK
KyAgICBbQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBLCBFbmFibGVkQnlTZXR0aW5nPUVuY3J5
cHRlZE1lZGlhQVBJLCBEaXNhYmxlZEJ5UXVpcms9aGFzQnJva2VuRW5jcnlwdGVkTWVkaWFBUElT
dXBwb3J0XSBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ud2FpdGluZ2ZvcmtleTsKKyAgICBbQ29u
ZGl0aW9uYWw9RU5DUllQVEVEX01FRElBLCBFbmFibGVkQnlTZXR0aW5nPUVuY3J5cHRlZE1lZGlh
QVBJLCBEaXNhYmxlZEJ5UXVpcms9aGFzQnJva2VuRW5jcnlwdGVkTWVkaWFBUElTdXBwb3J0XSBQ
cm9taXNlPHVuZGVmaW5lZD4gc2V0TWVkaWFLZXlzKE1lZGlhS2V5cz8gbWVkaWFLZXlzKTsKIAog
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gVGV4dFRyYWNrIGFkZFRleHRUcmFjayhET01TdHJpbmcg
a2luZCwgb3B0aW9uYWwgRE9NU3RyaW5nIGxhYmVsID0gIiIsIG9wdGlvbmFsIERPTVN0cmluZyBs
YW5ndWFnZSA9ICIiKTsKICAgICBbSW1wbGVtZW50ZWRBcz1lbnN1cmVBdWRpb1RyYWNrc10gcmVh
ZG9ubHkgYXR0cmlidXRlIEF1ZGlvVHJhY2tMaXN0IGF1ZGlvVHJhY2tzOwpJbmRleDogU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWV0YUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1ldGFFbGVtZW50LmNwcAkocmV2aXNpb24gMjY2MzQxKQorKysgU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWV0YUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
Nyw3ICsyNyw2IEBACiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJIVE1MSGVhZEVs
ZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKLSNpbmNsdWRlICJSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzLmgiCiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpAQCAtODksNyArODgsNyBAQCB2b2lkIEhUTUxNZXRhRWxlbWVudDo6cHJv
Y2VzcygpCiAKICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UobmFtZSgpLCAi
dmlld3BvcnQiKSkKICAgICAgICAgZG9jdW1lbnQoKS5wcm9jZXNzVmlld3BvcnQoY29udGVudFZh
bHVlLCBWaWV3cG9ydEFyZ3VtZW50czo6Vmlld3BvcnRNZXRhKTsKLSAgICBlbHNlIGlmIChSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmRpc2FibGVkQWRhcHRhdGlvbnNN
ZXRhVGFnRW5hYmxlZCgpICYmIGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKG5hbWUoKSwg
ImRpc2FibGVkLWFkYXB0YXRpb25zIikpCisgICAgZWxzZSBpZiAoZG9jdW1lbnQoKS5zZXR0aW5n
cygpLmRpc2FibGVkQWRhcHRhdGlvbnNNZXRhVGFnRW5hYmxlZCgpICYmIGVxdWFsTGV0dGVyc0ln
bm9yaW5nQVNDSUlDYXNlKG5hbWUoKSwgImRpc2FibGVkLWFkYXB0YXRpb25zIikpCiAgICAgICAg
IGRvY3VtZW50KCkucHJvY2Vzc0Rpc2FibGVkQWRhcHRhdGlvbnMoY29udGVudFZhbHVlKTsKICNp
ZiBFTkFCTEUoREFSS19NT0RFX0NTUykKICAgICBlbHNlIGlmIChlcXVhbExldHRlcnNJZ25vcmlu
Z0FTQ0lJQ2FzZShuYW1lKCksICJjb2xvci1zY2hlbWUiKSB8fCBlcXVhbExldHRlcnNJZ25vcmlu
Z0FTQ0lJQ2FzZShuYW1lKCksICJzdXBwb3J0ZWQtY29sb3Itc2NoZW1lcyIpKQpJbmRleDogU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjM0MSkK
KysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC00Miw3ICs0Miw3IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFZhbGlkaXR5U3Rh
dGUgdmFsaWRpdHk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB2YWxpZGF0aW9u
TWVzc2FnZTsKICAgICBib29sZWFuIGNoZWNrVmFsaWRpdHkoKTsKLSAgICBbRW5hYmxlZEF0UnVu
dGltZT1JbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uXSBib29sZWFuIHJlcG9ydFZhbGlkaXR5KCk7
CisgICAgW0VuYWJsZWRCeVNldHRpbmc9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0gYm9vbGVh
biByZXBvcnRWYWxpZGl0eSgpOwogICAgIHVuZGVmaW5lZCBzZXRDdXN0b21WYWxpZGl0eShET01T
dHJpbmcgZXJyb3IpOwogCiAgICAgW0NoZWNrU2VjdXJpdHlGb3JOb2RlXSByZWFkb25seSBhdHRy
aWJ1dGUgRG9jdW1lbnQgY29udGVudERvY3VtZW50OwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MT3V0cHV0RWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MT3V0cHV0RWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjM0MSkKKysrIFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE91dHB1dEVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICsz
Niw3IEBAIGludGVyZmFjZSBIVE1MT3V0cHV0RWxlbWVudCA6IEhUTUxFbGVtZW4KICAgICByZWFk
b25seSBhdHRyaWJ1dGUgVmFsaWRpdHlTdGF0ZSB2YWxpZGl0eTsKICAgICByZWFkb25seSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlOwogICAgIGJvb2xlYW4gY2hlY2tWYWxp
ZGl0eSgpOwotICAgIFtFbmFibGVkQXRSdW50aW1lPUludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25d
IGJvb2xlYW4gcmVwb3J0VmFsaWRpdHkoKTsKKyAgICBbRW5hYmxlZEJ5U2V0dGluZz1JbnRlcmFj
dGl2ZUZvcm1WYWxpZGF0aW9uXSBib29sZWFuIHJlcG9ydFZhbGlkaXR5KCk7CiAgICAgdW5kZWZp
bmVkIHNldEN1c3RvbVZhbGlkaXR5KERPTVN0cmluZyBlcnJvcik7CiAKICAgICByZWFkb25seSBh
dHRyaWJ1dGUgTm9kZUxpc3QgbGFiZWxzOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
UGljdHVyZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFBpY3R1cmVFbGVtZW50LmNwcAkocmV2aXNpb24gMjY2MzQxKQorKysgU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MUGljdHVyZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3
IEBACiAjaW5jbHVkZSAiSFRNTEltYWdlRWxlbWVudC5oIgogI2luY2x1ZGUgIkltYWdlTG9hZGVy
LmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgotI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXMuaCIKKyNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxp
bmVzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTY3LDcgKzY3LDcgQEAgdm9pZCBIVE1M
UGljdHVyZUVsZW1lbnQ6OnNvdXJjZXNDaGFuZ2VkKAogI2lmIFVTRShTWVNURU1fUFJFVklFVykK
IGJvb2wgSFRNTFBpY3R1cmVFbGVtZW50Ojppc1N5c3RlbVByZXZpZXdJbWFnZSgpCiB7Ci0gICAg
aWYgKCFSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnN5c3RlbVByZXZp
ZXdFbmFibGVkKCkpCisgICAgaWYgKCFkb2N1bWVudCgpLnNldHRpbmdzKCkuc3lzdGVtUHJldmll
d0VuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgYXV0byogcGFyZW50ID0g
cGFyZW50RWxlbWVudCgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2NyaXB0RWxl
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2NyaXB0RWxl
bWVudC5jcHAJKHJldmlzaW9uIDI2NjM0MSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNj
cmlwdEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw3IEBACiAjaW5jbHVk
ZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxQ
YXJzZXJJZGlvbXMuaCIKLSNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCisjaW5j
bHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJUZXh0LmgiCiAjaW5jbHVkZSA8d3RmL0lzb01h
bGxvY0lubGluZXMuaD4KICNpbmNsdWRlIDx3dGYvUmVmLmg+CkBAIC0xOTcsNyArMTk3LDcgQEAg
U3RyaW5nIEhUTUxTY3JpcHRFbGVtZW50OjpyZWZlcnJlclBvbGljeQogCiBSZWZlcnJlclBvbGlj
eSBIVE1MU2NyaXB0RWxlbWVudDo6cmVmZXJyZXJQb2xpY3koKSBjb25zdAogewotICAgIGlmIChS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnJlZmVycmVyUG9saWN5QXR0
cmlidXRlRW5hYmxlZCgpKQorICAgIGlmIChkb2N1bWVudCgpLnNldHRpbmdzKCkucmVmZXJyZXJQ
b2xpY3lBdHRyaWJ1dGVFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiBwYXJzZVJlZmVycmVyUG9s
aWN5KGF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24ocmVmZXJyZXJwb2xpY3lBdHRyKSwg
UmVmZXJyZXJQb2xpY3lTb3VyY2U6OlJlZmVycmVyUG9saWN5QXR0cmlidXRlKS52YWx1ZU9yKFJl
ZmVycmVyUG9saWN5OjpFbXB0eVN0cmluZyk7CiAgICAgcmV0dXJuIFJlZmVycmVyUG9saWN5OjpF
bXB0eVN0cmluZzsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNjcmlwdEVsZW1l
bnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNjcmlwdEVsZW1l
bnQuaWRsCShyZXZpc2lvbiAyNjYzNDEpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTY3Jp
cHRFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzEsNSArMzEsNSBAQCBpbnRlcmZhY2Ug
SFRNTFNjcmlwdEVsZW1lbnQgOiBIVE1MRWxlbWVuCiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBE
T01TdHJpbmcgbm9uY2U7CiAgICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRlZCwgUmVmbGVjdF0gYXR0
cmlidXRlIGJvb2xlYW4gbm9Nb2R1bGU7CiAgICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRlZCwgUmVm
bGVjdCwgRW5hYmxlZEJ5U2V0dGluZz1TdWJyZXNvdXJjZUludGVncml0eV0gYXR0cmlidXRlIERP
TVN0cmluZyBpbnRlZ3JpdHk7Ci0gICAgW0VuYWJsZWRBdFJ1bnRpbWU9UmVmZXJyZXJQb2xpY3lB
dHRyaWJ1dGUsIEltcGxlbWVudGVkQXM9cmVmZXJyZXJQb2xpY3lGb3JCaW5kaW5ncywgQ0VSZWFj
dGlvbnM9Tm90TmVlZGVkXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlZmVycmVyUG9saWN5OworICAg
IFtFbmFibGVkQnlTZXR0aW5nPVJlZmVycmVyUG9saWN5QXR0cmlidXRlLCBJbXBsZW1lbnRlZEFz
PXJlZmVycmVyUG9saWN5Rm9yQmluZGluZ3MsIENFUmVhY3Rpb25zPU5vdE5lZWRlZF0gYXR0cmli
dXRlIERPTVN0cmluZyByZWZlcnJlclBvbGljeTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxTZWxlY3RFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxTZWxlY3RFbGVtZW50LmlkbAkocmV2aXNpb24gMjY2MzQxKQorKysgU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTUwLDcg
KzUwLDcgQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgVmFsaWRpdHlTdGF0ZSB2YWxpZGl0eTsK
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlOwogICAg
IGJvb2xlYW4gY2hlY2tWYWxpZGl0eSgpOwotICAgIFtFbmFibGVkQXRSdW50aW1lPUludGVyYWN0
aXZlRm9ybVZhbGlkYXRpb25dIGJvb2xlYW4gcmVwb3J0VmFsaWRpdHkoKTsKKyAgICBbRW5hYmxl
ZEJ5U2V0dGluZz1JbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uXSBib29sZWFuIHJlcG9ydFZhbGlk
aXR5KCk7CiAgICAgdW5kZWZpbmVkIHNldEN1c3RvbVZhbGlkaXR5KERPTVN0cmluZyBlcnJvcik7
CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgTm9kZUxpc3QgbGFiZWxzOwpJbmRleDogU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYzNDEp
CisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC00Myw3ICs0Myw3IEBAIGludGVyZmFjZSBIVE1MVGV4dEFyZWFFbGVtZW50IDog
SFRNTEVsZW0KICAgICByZWFkb25seSBhdHRyaWJ1dGUgVmFsaWRpdHlTdGF0ZSB2YWxpZGl0eTsK
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlOwogICAg
IGJvb2xlYW4gY2hlY2tWYWxpZGl0eSgpOwotICAgIFtFbmFibGVkQXRSdW50aW1lPUludGVyYWN0
aXZlRm9ybVZhbGlkYXRpb25dIGJvb2xlYW4gcmVwb3J0VmFsaWRpdHkoKTsKKyAgICBbRW5hYmxl
ZEJ5U2V0dGluZz1JbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uXSBib29sZWFuIHJlcG9ydFZhbGlk
aXR5KCk7CiAgICAgdW5kZWZpbmVkIHNldEN1c3RvbVZhbGlkaXR5KERPTVN0cmluZyBlcnJvcik7
CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgTm9kZUxpc3QgbGFiZWxzOwpJbmRleDogU291cmNl
L1dlYkNvcmUvaHRtbC9MaW5rUmVsQXR0cmlidXRlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9odG1sL0xpbmtSZWxBdHRyaWJ1dGUuY3BwCShyZXZpc2lvbiAyNjYzNDEpCisrKyBT
b3VyY2UvV2ViQ29yZS9odG1sL0xpbmtSZWxBdHRyaWJ1dGUuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC03MSw5ICs3MSw5IEBAIExpbmtSZWxBdHRyaWJ1dGU6OkxpbmtSZWxBdHRyaWJ1dGUoRG9jdW0K
ICAgICAgICAgaXNETlNQcmVmZXRjaCA9IHRydWU7CiAgICAgZWxzZSBpZiAoZG9jdW1lbnQuc2V0
dGluZ3MoKS5saW5rUHJlY29ubmVjdEVuYWJsZWQoKSAmJiBlcXVhbExldHRlcnNJZ25vcmluZ0FT
Q0lJQ2FzZShyZWwsICJwcmVjb25uZWN0IikpCiAgICAgICAgIGlzTGlua1ByZWNvbm5lY3QgPSB0
cnVlOwotICAgIGVsc2UgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVz
KCkubGlua1ByZWxvYWRFbmFibGVkKCkgJiYgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uo
cmVsLCAicHJlbG9hZCIpKQorICAgIGVsc2UgaWYgKGRvY3VtZW50LnNldHRpbmdzKCkubGlua1By
ZWxvYWRFbmFibGVkKCkgJiYgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UocmVsLCAicHJl
bG9hZCIpKQogICAgICAgICBpc0xpbmtQcmVsb2FkID0gdHJ1ZTsKLSAgICBlbHNlIGlmIChSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmxpbmtQcmVmZXRjaEVuYWJsZWQo
KSAmJiBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShyZWwsICJwcmVmZXRjaCIpKQorICAg
IGVsc2UgaWYgKGRvY3VtZW50LnNldHRpbmdzKCkubGlua1ByZWZldGNoRW5hYmxlZCgpICYmIGVx
dWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHJlbCwgInByZWZldGNoIikpCiAgICAgICAgIGlz
TGlua1ByZWZldGNoID0gdHJ1ZTsKICAgICBlbHNlIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FT
Q0lJQ2FzZShyZWwsICJhbHRlcm5hdGUgc3R5bGVzaGVldCIpIHx8IGVxdWFsTGV0dGVyc0lnbm9y
aW5nQVNDSUlDYXNlKHJlbCwgInN0eWxlc2hlZXQgYWx0ZXJuYXRlIikpIHsKICAgICAgICAgaXNT
dHlsZVNoZWV0ID0gdHJ1ZTsKQEAgLTExOSwxMCArMTE5LDEwIEBAIGJvb2wgTGlua1JlbEF0dHJp
YnV0ZTo6aXNTdXBwb3J0ZWQoRG9jdW0KICAgICBpZiAoZG9jdW1lbnQuc2V0dGluZ3MoKS5saW5r
UHJlY29ubmVjdEVuYWJsZWQoKSAmJiBlcXVhbElnbm9yaW5nQVNDSUlDYXNlKGF0dHJpYnV0ZSwg
InByZWNvbm5lY3QiKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICBpZiAoUnVudGltZUVu
YWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5saW5rUHJlbG9hZEVuYWJsZWQoKSAmJiBl
cXVhbElnbm9yaW5nQVNDSUlDYXNlKGF0dHJpYnV0ZSwgInByZWxvYWQiKSkKKyAgICBpZiAoZG9j
dW1lbnQuc2V0dGluZ3MoKS5saW5rUHJlbG9hZEVuYWJsZWQoKSAmJiBlcXVhbElnbm9yaW5nQVND
SUlDYXNlKGF0dHJpYnV0ZSwgInByZWxvYWQiKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAg
ICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5saW5rUHJlZmV0
Y2hFbmFibGVkKCkgJiYgZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShhdHRyaWJ1dGUsICJwcmVmZXRj
aCIpKQorICAgIGlmIChkb2N1bWVudC5zZXR0aW5ncygpLmxpbmtQcmVmZXRjaEVuYWJsZWQoKSAm
JiBlcXVhbElnbm9yaW5nQVNDSUlDYXNlKGF0dHJpYnV0ZSwgInByZWZldGNoIikpCiAgICAgICAg
IHJldHVybiB0cnVlOwogCiAgICAgcmV0dXJuIGZhbHNlOwpJbmRleDogU291cmNlL1dlYkNvcmUv
aHRtbC9NZWRpYUVuY3J5cHRlZEV2ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9odG1sL01lZGlhRW5jcnlwdGVkRXZlbnQuaWRsCShyZXZpc2lvbiAyNjYzNDEpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9odG1sL01lZGlhRW5jcnlwdGVkRXZlbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0zMyw3ICszMyw3IEBAIGRpY3Rpb25hcnkgTWVkaWFFbmNyeXB0ZWRFdmVudEluaXQgOiBFdmUK
IAogWwogICAgIENvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwKLSAgICBFbmFibGVkQXRSdW50
aW1lPUVuY3J5cHRlZE1lZGlhQVBJLAorICAgIEVuYWJsZWRCeVNldHRpbmc9RW5jcnlwdGVkTWVk
aWFBUEksCiAgICAgRGlzYWJsZWRCeVF1aXJrPWhhc0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJU3Vw
cG9ydCwKIF0gaW50ZXJmYWNlIE1lZGlhRW5jcnlwdGVkRXZlbnQgOiBFdmVudCB7CiAgICAgY29u
c3RydWN0b3IoRE9NU3RyaW5nIHR5cGUsIG9wdGlvbmFsIE1lZGlhRW5jcnlwdGVkRXZlbnRJbml0
IGV2ZW50SW5pdERpY3QpOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9XZWJLaXRNZWRpYUtl
eUVycm9yLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL1dlYktpdE1lZGlh
S2V5RXJyb3IuaWRsCShyZXZpc2lvbiAyNjYzNDEpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL1dl
YktpdE1lZGlhS2V5RXJyb3IuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiBb
CiAgICAgQ29uZGl0aW9uYWw9TEVHQUNZX0VOQ1JZUFRFRF9NRURJQSwKICAgICBJbXBsZW1lbnRh
dGlvbkxhY2tzVlRhYmxlLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9TGVnYWN5RW5jcnlwdGVkTWVk
aWFBUEksCisgICAgRW5hYmxlZEJ5U2V0dGluZz1MZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSSwKIF0g
aW50ZXJmYWNlIFdlYktpdE1lZGlhS2V5RXJyb3IgewogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0
IE1FRElBX0tFWUVSUl9VTktOT1dOID0gMTsKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBNRURJ
QV9LRVlFUlJfQ0xJRU5UID0gMjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxQcmVsb2FkU2Nhbm5lci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmNwcAkocmV2aXNpb24gMjY2MzQxKQorKysgU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDIsNyArNDIsNiBAQAogI2luY2x1ZGUgIk1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKICNp
bmNsdWRlICJNZWRpYVF1ZXJ5UGFyc2VyLmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgotI2lu
Y2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKICNpbmNsdWRlICJTZWN1cml0eVBvbGlj
eS5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU2l6ZXNBdHRyaWJ1dGVQYXJz
ZXIuaCIKQEAgLTEwNSw4ICsxMDQsOSBAQCBTdHJpbmcgVG9rZW5QcmVsb2FkU2Nhbm5lcjo6aW5p
dGlhdG9yRm9yCiAKIGNsYXNzIFRva2VuUHJlbG9hZFNjYW5uZXI6OlN0YXJ0VGFnU2Nhbm5lciB7
CiBwdWJsaWM6Ci0gICAgZXhwbGljaXQgU3RhcnRUYWdTY2FubmVyKFRhZ0lkIHRhZ0lkLCBmbG9h
dCBkZXZpY2VTY2FsZUZhY3RvciA9IDEuMCkKLSAgICAgICAgOiBtX3RhZ0lkKHRhZ0lkKQorICAg
IGV4cGxpY2l0IFN0YXJ0VGFnU2Nhbm5lcihEb2N1bWVudCYgZG9jdW1lbnQsIFRhZ0lkIHRhZ0lk
LCBmbG9hdCBkZXZpY2VTY2FsZUZhY3RvciA9IDEuMCkKKyAgICAgICAgOiBtX2RvY3VtZW50KGRv
Y3VtZW50KQorICAgICAgICAsIG1fdGFnSWQodGFnSWQpCiAgICAgICAgICwgbV9saW5rSXNTdHls
ZVNoZWV0KGZhbHNlKQogICAgICAgICAsIG1fbGlua0lzUHJlbG9hZChmYWxzZSkKICAgICAgICAg
LCBtX21ldGFJc1ZpZXdwb3J0KGZhbHNlKQpAQCAtMTE2LDcgKzExNiw3IEBAIHB1YmxpYzoKICAg
ICB7CiAgICAgfQogCi0gICAgdm9pZCBwcm9jZXNzQXR0cmlidXRlcyhjb25zdCBIVE1MVG9rZW46
OkF0dHJpYnV0ZUxpc3QmIGF0dHJpYnV0ZXMsIERvY3VtZW50JiBkb2N1bWVudCwgVmVjdG9yPGJv
b2w+JiBwaWN0dXJlU3RhdGUpCisgICAgdm9pZCBwcm9jZXNzQXR0cmlidXRlcyhjb25zdCBIVE1M
VG9rZW46OkF0dHJpYnV0ZUxpc3QmIGF0dHJpYnV0ZXMsIFZlY3Rvcjxib29sPiYgcGljdHVyZVN0
YXRlKQogICAgIHsKICAgICAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKICAgICAgICAgaWYg
KG1fdGFnSWQgPj0gVGFnSWQ6OlVua25vd24pCkBAIC0xMjUsMTIgKzEyNSwxMiBAQCBwdWJsaWM6
CiAgICAgICAgIGZvciAoYXV0byYgYXR0cmlidXRlIDogYXR0cmlidXRlcykgewogICAgICAgICAg
ICAgQXRvbVN0cmluZyBhdHRyaWJ1dGVOYW1lKGF0dHJpYnV0ZS5uYW1lKTsKICAgICAgICAgICAg
IFN0cmluZyBhdHRyaWJ1dGVWYWx1ZSA9IFN0cmluZ0ltcGw6OmNyZWF0ZThCaXRJZlBvc3NpYmxl
KGF0dHJpYnV0ZS52YWx1ZSk7Ci0gICAgICAgICAgICBwcm9jZXNzQXR0cmlidXRlKGF0dHJpYnV0
ZU5hbWUsIGF0dHJpYnV0ZVZhbHVlLCBkb2N1bWVudCwgcGljdHVyZVN0YXRlKTsKKyAgICAgICAg
ICAgIHByb2Nlc3NBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSwgYXR0cmlidXRlVmFsdWUsIHBpY3R1
cmVTdGF0ZSk7CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIGlmIChtX3RhZ0lkID09IFRh
Z0lkOjpTb3VyY2UgJiYgIXBpY3R1cmVTdGF0ZS5pc0VtcHR5KCkgJiYgIXBpY3R1cmVTdGF0ZS5s
YXN0KCkgJiYgbV9tZWRpYU1hdGNoZWQgJiYgbV90eXBlTWF0Y2hlZCAmJiAhbV9zcmNTZXRBdHRy
aWJ1dGUuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIGF1dG8gc291cmNl
U2l6ZSA9IFNpemVzQXR0cmlidXRlUGFyc2VyKG1fc2l6ZXNBdHRyaWJ1dGUsIGRvY3VtZW50KS5s
ZW5ndGgoKTsKKyAgICAgICAgICAgIGF1dG8gc291cmNlU2l6ZSA9IFNpemVzQXR0cmlidXRlUGFy
c2VyKG1fc2l6ZXNBdHRyaWJ1dGUsIG1fZG9jdW1lbnQpLmxlbmd0aCgpOwogICAgICAgICAgICAg
SW1hZ2VDYW5kaWRhdGUgaW1hZ2VDYW5kaWRhdGUgPSBiZXN0Rml0U291cmNlRm9ySW1hZ2VBdHRy
aWJ1dGVzKG1fZGV2aWNlU2NhbGVGYWN0b3IsIG1fdXJsVG9Mb2FkLCBtX3NyY1NldEF0dHJpYnV0
ZSwgc291cmNlU2l6ZSk7CiAgICAgICAgICAgICBpZiAoIWltYWdlQ2FuZGlkYXRlLmlzRW1wdHko
KSkgewogICAgICAgICAgICAgICAgIHBpY3R1cmVTdGF0ZS5sYXN0KCkgPSB0cnVlOwpAQCAtMTQw
LDE2ICsxNDAsMTYgQEAgcHVibGljOgogICAgICAgICAKICAgICAgICAgLy8gUmVzb2x2ZSBiZXR3
ZWVuIHNyYyBhbmQgc3JjU2V0IGlmIHdlIGhhdmUgdGhlbSBhbmQgdGhlIHRhZyBpcyBpbWcuCiAg
ICAgICAgIGlmIChtX3RhZ0lkID09IFRhZ0lkOjpJbWcgJiYgIW1fc3JjU2V0QXR0cmlidXRlLmlz
RW1wdHkoKSkgewotICAgICAgICAgICAgYXV0byBzb3VyY2VTaXplID0gU2l6ZXNBdHRyaWJ1dGVQ
YXJzZXIobV9zaXplc0F0dHJpYnV0ZSwgZG9jdW1lbnQpLmxlbmd0aCgpOworICAgICAgICAgICAg
YXV0byBzb3VyY2VTaXplID0gU2l6ZXNBdHRyaWJ1dGVQYXJzZXIobV9zaXplc0F0dHJpYnV0ZSwg
bV9kb2N1bWVudCkubGVuZ3RoKCk7CiAgICAgICAgICAgICBJbWFnZUNhbmRpZGF0ZSBpbWFnZUNh
bmRpZGF0ZSA9IGJlc3RGaXRTb3VyY2VGb3JJbWFnZUF0dHJpYnV0ZXMobV9kZXZpY2VTY2FsZUZh
Y3RvciwgbV91cmxUb0xvYWQsIG1fc3JjU2V0QXR0cmlidXRlLCBzb3VyY2VTaXplKTsKICAgICAg
ICAgICAgIHNldFVybFRvTG9hZChpbWFnZUNhbmRpZGF0ZS5zdHJpbmcudG9TdHJpbmcoKSwgdHJ1
ZSk7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAobV9tZXRhSXNWaWV3cG9ydCAmJiAhbV9tZXRh
Q29udGVudC5pc051bGwoKSkKLSAgICAgICAgICAgIGRvY3VtZW50LnByb2Nlc3NWaWV3cG9ydCht
X21ldGFDb250ZW50LCBWaWV3cG9ydEFyZ3VtZW50czo6Vmlld3BvcnRNZXRhKTsKKyAgICAgICAg
ICAgIG1fZG9jdW1lbnQucHJvY2Vzc1ZpZXdwb3J0KG1fbWV0YUNvbnRlbnQsIFZpZXdwb3J0QXJn
dW1lbnRzOjpWaWV3cG9ydE1ldGEpOwogCiAgICAgICAgIGlmIChtX21ldGFJc0Rpc2FibGVkQWRh
cHRhdGlvbnMgJiYgIW1fbWV0YUNvbnRlbnQuaXNOdWxsKCkpCi0gICAgICAgICAgICBkb2N1bWVu
dC5wcm9jZXNzRGlzYWJsZWRBZGFwdGF0aW9ucyhtX21ldGFDb250ZW50KTsKKyAgICAgICAgICAg
IG1fZG9jdW1lbnQucHJvY2Vzc0Rpc2FibGVkQWRhcHRhdGlvbnMobV9tZXRhQ29udGVudCk7CiAg
ICAgfQogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFByZWxvYWRSZXF1ZXN0PiBjcmVhdGVQcmVsb2Fk
UmVxdWVzdChjb25zdCBVUkwmIHByZWRpY3RlZEJhc2VVUkwpCkBAIC0xNjEsNyArMTYxLDcgQEAg
cHVibGljOgogICAgICAgICBpZiAoIXR5cGUpCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsK
IAotICAgICAgICBpZiAoIUxpbmtMb2FkZXI6OmlzU3VwcG9ydGVkVHlwZSh0eXBlLnZhbHVlKCks
IG1fdHlwZUF0dHJpYnV0ZSkpCisgICAgICAgIGlmICghTGlua0xvYWRlcjo6aXNTdXBwb3J0ZWRU
eXBlKHR5cGUudmFsdWUoKSwgbV90eXBlQXR0cmlidXRlLCBtX2RvY3VtZW50KSkKICAgICAgICAg
ICAgIHJldHVybiBudWxscHRyOwogCiAgICAgICAgIC8vIERvIG5vdCBwcmVsb2FkIGlmIGxhenls
b2FkIGlzIHBvc3NpYmxlIGJ1dCBtZXRhZGF0YSBmZXRjaCBpcyBkaXNhYmxlZC4KQEAgLTE5Nyw3
ICsxOTcsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgbV9jaGFyc2V0ID0gYXR0cmlidXRlVmFs
dWU7CiAgICAgfQogCi0gICAgdm9pZCBwcm9jZXNzQXR0cmlidXRlKGNvbnN0IEF0b21TdHJpbmcm
IGF0dHJpYnV0ZU5hbWUsIGNvbnN0IFN0cmluZyYgYXR0cmlidXRlVmFsdWUsIERvY3VtZW50JiBk
b2N1bWVudCwgY29uc3QgVmVjdG9yPGJvb2w+JiBwaWN0dXJlU3RhdGUpCisgICAgdm9pZCBwcm9j
ZXNzQXR0cmlidXRlKGNvbnN0IEF0b21TdHJpbmcmIGF0dHJpYnV0ZU5hbWUsIGNvbnN0IFN0cmlu
ZyYgYXR0cmlidXRlVmFsdWUsIGNvbnN0IFZlY3Rvcjxib29sPiYgcGljdHVyZVN0YXRlKQogICAg
IHsKICAgICAgICAgYm9vbCBpblBpY3R1cmUgPSAhcGljdHVyZVN0YXRlLmlzRW1wdHkoKTsKICAg
ICAgICAgYm9vbCBhbHJlYWR5TWF0Y2hlZFNvdXJjZSA9IGluUGljdHVyZSAmJiBwaWN0dXJlU3Rh
dGUubGFzdCgpOwpAQCAtMjE0LDcgKzIxNCw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAg
bV9zaXplc0F0dHJpYnV0ZSA9IGF0dHJpYnV0ZVZhbHVlOwogICAgICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNoYXJlZEZlYXR1cmVzKCkubGF6eUltYWdlTG9hZGluZ0VuYWJsZWQoKSkgeworICAgICAgICAg
ICAgaWYgKG1fZG9jdW1lbnQuc2V0dGluZ3MoKS5sYXp5SW1hZ2VMb2FkaW5nRW5hYmxlZCgpKSB7
CiAgICAgICAgICAgICAgICAgaWYgKG1hdGNoKGF0dHJpYnV0ZU5hbWUsIGxvYWRpbmdBdHRyKSAm
JiBtX2xhenlsb2FkQXR0cmlidXRlLmlzTnVsbCgpKSB7CiAgICAgICAgICAgICAgICAgICAgIG1f
bGF6eWxvYWRBdHRyaWJ1dGUgPSBhdHRyaWJ1dGVWYWx1ZTsKICAgICAgICAgICAgICAgICAgICAg
YnJlYWs7CkBAIC0yMzUsMTAgKzIzNSwxMCBAQCBwcml2YXRlOgogICAgICAgICAgICAgfQogICAg
ICAgICAgICAgaWYgKG1hdGNoKGF0dHJpYnV0ZU5hbWUsIG1lZGlhQXR0cikgJiYgbV9tZWRpYUF0
dHJpYnV0ZS5pc051bGwoKSkgewogICAgICAgICAgICAgICAgIG1fbWVkaWFBdHRyaWJ1dGUgPSBh
dHRyaWJ1dGVWYWx1ZTsKLSAgICAgICAgICAgICAgICBhdXRvIG1lZGlhU2V0ID0gTWVkaWFRdWVy
eVNldDo6Y3JlYXRlKGF0dHJpYnV0ZVZhbHVlLCBNZWRpYVF1ZXJ5UGFyc2VyQ29udGV4dChkb2N1
bWVudCkpOwotICAgICAgICAgICAgICAgIGF1dG8gZG9jdW1lbnRFbGVtZW50ID0gbWFrZVJlZlB0
cihkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQoKSk7CisgICAgICAgICAgICAgICAgYXV0byBtZWRp
YVNldCA9IE1lZGlhUXVlcnlTZXQ6OmNyZWF0ZShhdHRyaWJ1dGVWYWx1ZSwgTWVkaWFRdWVyeVBh
cnNlckNvbnRleHQobV9kb2N1bWVudCkpOworICAgICAgICAgICAgICAgIGF1dG8gZG9jdW1lbnRF
bGVtZW50ID0gbWFrZVJlZlB0cihtX2RvY3VtZW50LmRvY3VtZW50RWxlbWVudCgpKTsKICAgICAg
ICAgICAgICAgICBMT0coTWVkaWFRdWVyaWVzLCAiSFRNTFByZWxvYWRTY2FubmVyICVwIHByb2Nl
c3NBdHRyaWJ1dGUgZXZhbHVhdGluZyBtZWRpYSBxdWVyaWVzIiwgdGhpcyk7Ci0gICAgICAgICAg
ICAgICAgbV9tZWRpYU1hdGNoZWQgPSBNZWRpYVF1ZXJ5RXZhbHVhdG9yIHsgZG9jdW1lbnQucHJp
bnRpbmcoKSA/ICJwcmludCIgOiAic2NyZWVuIiwgZG9jdW1lbnQsIGRvY3VtZW50RWxlbWVudCA/
IGRvY3VtZW50RWxlbWVudC0+Y29tcHV0ZWRTdHlsZSgpIDogbnVsbHB0ciB9LmV2YWx1YXRlKG1l
ZGlhU2V0LmdldCgpKTsKKyAgICAgICAgICAgICAgICBtX21lZGlhTWF0Y2hlZCA9IE1lZGlhUXVl
cnlFdmFsdWF0b3IgeyBtX2RvY3VtZW50LnByaW50aW5nKCkgPyAicHJpbnQiIDogInNjcmVlbiIs
IG1fZG9jdW1lbnQsIGRvY3VtZW50RWxlbWVudCA/IGRvY3VtZW50RWxlbWVudC0+Y29tcHV0ZWRT
dHlsZSgpIDogbnVsbHB0ciB9LmV2YWx1YXRlKG1lZGlhU2V0LmdldCgpKTsKICAgICAgICAgICAg
IH0KICAgICAgICAgICAgIGlmIChtYXRjaChhdHRyaWJ1dGVOYW1lLCB0eXBlQXR0cikgJiYgbV90
eXBlQXR0cmlidXRlLmlzTnVsbCgpKSB7CiAgICAgICAgICAgICAgICAgLy8gd2hlbiBtdWx0aXBs
ZSB0eXBlIGF0dHJpYnV0ZXMgcHJlc2VudDogZmlyc3QgdmFsdWUgd2lucywgaWdub3JlIHN1YnNl
cXVlbnQgKHRvIG1hdGNoIEltYWdlRWxlbWVudCBwYXJzZXIgYW5kIEJsaW5rIGJlaGF2aW91cnMp
CkBAIC0yNjksNyArMjY5LDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIGlmIChtYXRjaChhdHRy
aWJ1dGVOYW1lLCBocmVmQXR0cikpCiAgICAgICAgICAgICAgICAgc2V0VXJsVG9Mb2FkKGF0dHJp
YnV0ZVZhbHVlKTsKICAgICAgICAgICAgIGVsc2UgaWYgKG1hdGNoKGF0dHJpYnV0ZU5hbWUsIHJl
bEF0dHIpKSB7Ci0gICAgICAgICAgICAgICAgTGlua1JlbEF0dHJpYnV0ZSBwYXJzZWRBdHRyaWJ1
dGUgeyBkb2N1bWVudCwgYXR0cmlidXRlVmFsdWUgfTsKKyAgICAgICAgICAgICAgICBMaW5rUmVs
QXR0cmlidXRlIHBhcnNlZEF0dHJpYnV0ZSB7IG1fZG9jdW1lbnQsIGF0dHJpYnV0ZVZhbHVlIH07
CiAgICAgICAgICAgICAgICAgbV9saW5rSXNTdHlsZVNoZWV0ID0gcmVsQXR0cmlidXRlSXNTdHls
ZVNoZWV0KHBhcnNlZEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgbV9saW5rSXNQcmVsb2Fk
ID0gcGFyc2VkQXR0cmlidXRlLmlzTGlua1ByZWxvYWQ7CiAgICAgICAgICAgICB9IGVsc2UgaWYg
KG1hdGNoKGF0dHJpYnV0ZU5hbWUsIG1lZGlhQXR0cikpCkBAIC0yOTgsNyArMjk4LDcgQEAgcHJp
dmF0ZToKICAgICAgICAgICAgICAgICBtX21ldGFDb250ZW50ID0gYXR0cmlidXRlVmFsdWU7CiAg
ICAgICAgICAgICBlbHNlIGlmIChtYXRjaChhdHRyaWJ1dGVOYW1lLCBuYW1lQXR0cikpCiAgICAg
ICAgICAgICAgICAgbV9tZXRhSXNWaWV3cG9ydCA9IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlD
YXNlKGF0dHJpYnV0ZVZhbHVlLCAidmlld3BvcnQiKTsKLSAgICAgICAgICAgIGVsc2UgaWYgKFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuZGlzYWJsZWRBZGFwdGF0aW9u
c01ldGFUYWdFbmFibGVkKCkgJiYgbWF0Y2goYXR0cmlidXRlTmFtZSwgbmFtZUF0dHIpKQorICAg
ICAgICAgICAgZWxzZSBpZiAobV9kb2N1bWVudC5zZXR0aW5ncygpLmRpc2FibGVkQWRhcHRhdGlv
bnNNZXRhVGFnRW5hYmxlZCgpICYmIG1hdGNoKGF0dHJpYnV0ZU5hbWUsIG5hbWVBdHRyKSkKICAg
ICAgICAgICAgICAgICBtX21ldGFJc0Rpc2FibGVkQWRhcHRhdGlvbnMgPSBlcXVhbExldHRlcnNJ
Z25vcmluZ0FTQ0lJQ2FzZShhdHRyaWJ1dGVWYWx1ZSwgImRpc2FibGVkLWFkYXB0YXRpb25zIik7
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBUYWdJZDo6QmFzZToKQEAgLTM0Niw3
ICszNDYsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgaWYgKG1fbGlua0lzU3R5bGVTaGVldCkK
ICAgICAgICAgICAgICAgICByZXR1cm4gQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OkNTU1N0eWxlU2hl
ZXQ7CiAgICAgICAgICAgICBpZiAobV9saW5rSXNQcmVsb2FkKQotICAgICAgICAgICAgICAgIHJl
dHVybiBMaW5rTG9hZGVyOjpyZXNvdXJjZVR5cGVGcm9tQXNBdHRyaWJ1dGUobV9hc0F0dHJpYnV0
ZSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIExpbmtMb2FkZXI6OnJlc291cmNlVHlwZUZyb21B
c0F0dHJpYnV0ZShtX2FzQXR0cmlidXRlLCBtX2RvY3VtZW50KTsKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICBjYXNlIFRhZ0lkOjpNZXRhOgogICAgICAgICBjYXNlIFRhZ0lkOjpVbmtub3du
OgpAQCAtMzgwLDYgKzM4MCw3IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiB0cnVlOwogICAg
IH0KIAorICAgIERvY3VtZW50JiBtX2RvY3VtZW50OwogICAgIFRhZ0lkIG1fdGFnSWQ7CiAgICAg
U3RyaW5nIG1fdXJsVG9Mb2FkOwogICAgIFN0cmluZyBtX3NyY1NldEF0dHJpYnV0ZTsKQEAgLTQ2
Miw4ICs0NjMsOCBAQCB2b2lkIFRva2VuUHJlbG9hZFNjYW5uZXI6OnNjYW4oY29uc3QgSFRNCiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICBTdGFydFRhZ1NjYW5uZXIg
c2Nhbm5lcih0YWdJZCwgbV9kZXZpY2VTY2FsZUZhY3Rvcik7Ci0gICAgICAgIHNjYW5uZXIucHJv
Y2Vzc0F0dHJpYnV0ZXModG9rZW4uYXR0cmlidXRlcygpLCBkb2N1bWVudCwgbV9waWN0dXJlU291
cmNlU3RhdGUpOworICAgICAgICBTdGFydFRhZ1NjYW5uZXIgc2Nhbm5lcihkb2N1bWVudCwgdGFn
SWQsIG1fZGV2aWNlU2NhbGVGYWN0b3IpOworICAgICAgICBzY2FubmVyLnByb2Nlc3NBdHRyaWJ1
dGVzKHRva2VuLmF0dHJpYnV0ZXMoKSwgbV9waWN0dXJlU291cmNlU3RhdGUpOwogICAgICAgICBp
ZiAoYXV0byByZXF1ZXN0ID0gc2Nhbm5lci5jcmVhdGVQcmVsb2FkUmVxdWVzdChtX3ByZWRpY3Rl
ZEJhc2VFbGVtZW50VVJMKSkKICAgICAgICAgICAgIHJlcXVlc3RzLmFwcGVuZChXVEZNb3ZlKHJl
cXVlc3QpKTsKICAgICAgICAgcmV0dXJuOwpJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL0lt
YWdlTG9hZGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VM
b2FkZXIuY3BwCShyZXZpc2lvbiAyNjYzNDEpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1h
Z2VMb2FkZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDgsNyArMjA4LDcgQEAgdm9pZCBJbWFn
ZUxvYWRlcjo6dXBkYXRlRnJvbUVsZW1lbnQoUmVsZQogICAgICAgICB9IGVsc2UgewogICAgICAg
ICAgICAgaWYgKG1fbGF6eUltYWdlTG9hZFN0YXRlID09IExhenlJbWFnZUxvYWRTdGF0ZTo6Tm9u
ZSAmJiBpc0ltYWdlRWxlbWVudCkgewogICAgICAgICAgICAgICAgIGF1dG8mIGltYWdlRWxlbWVu
dCA9IGRvd25jYXN0PEhUTUxJbWFnZUVsZW1lbnQ+KGVsZW1lbnQoKSk7Ci0gICAgICAgICAgICAg
ICAgaWYgKGltYWdlRWxlbWVudC5pc0xhenlMb2FkYWJsZSgpICYmIFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkubGF6eUltYWdlTG9hZGluZ0VuYWJsZWQoKSkgeworICAg
ICAgICAgICAgICAgIGlmIChpbWFnZUVsZW1lbnQuaXNMYXp5TG9hZGFibGUoKSAmJiBkb2N1bWVu
dC5zZXR0aW5ncygpLmxhenlJbWFnZUxvYWRpbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAg
ICAgICAgbV9sYXp5SW1hZ2VMb2FkU3RhdGUgPSBMYXp5SW1hZ2VMb2FkU3RhdGU6OkRlZmVycmVk
OwogICAgICAgICAgICAgICAgICAgICByZXF1ZXN0LnNldElnbm9yZUZvclJlcXVlc3RDb3VudCh0
cnVlKTsKICAgICAgICAgICAgICAgICB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlu
a0xvYWRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2Fk
ZXIuY3BwCShyZXZpc2lvbiAyNjYzNDEpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xv
YWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExNyw3ICsxMTcsNyBAQCB2b2lkIExpbmtMb2Fk
ZXI6OmxvYWRMaW5rc0Zyb21IZWFkZXIoY29uCiAgICAgfQogfQogCi1PcHRpb25hbDxDYWNoZWRS
ZXNvdXJjZTo6VHlwZT4gTGlua0xvYWRlcjo6cmVzb3VyY2VUeXBlRnJvbUFzQXR0cmlidXRlKGNv
bnN0IFN0cmluZyYgYXMpCitPcHRpb25hbDxDYWNoZWRSZXNvdXJjZTo6VHlwZT4gTGlua0xvYWRl
cjo6cmVzb3VyY2VUeXBlRnJvbUFzQXR0cmlidXRlKGNvbnN0IFN0cmluZyYgYXMsIERvY3VtZW50
JiBkb2N1bWVudCkKIHsKICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoYXMs
ICJmZXRjaCIpKQogICAgICAgICByZXR1cm4gQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlJhd1Jlc291
cmNlOwpAQCAtMTI3LDcgKzEyNyw3IEBAIE9wdGlvbmFsPENhY2hlZFJlc291cmNlOjpUeXBlPiBM
aW5rTG9hZGUKICAgICAgICAgcmV0dXJuIENhY2hlZFJlc291cmNlOjpUeXBlOjpTY3JpcHQ7CiAg
ICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGFzLCAic3R5bGUiKSkKICAgICAg
ICAgcmV0dXJuIENhY2hlZFJlc291cmNlOjpUeXBlOjpDU1NTdHlsZVNoZWV0OwotICAgIGlmIChS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLm1lZGlhUHJlbG9hZGluZ0Vu
YWJsZWQoKSAmJiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoYXMsICJ2aWRlbyIpIHx8
IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGFzLCAiYXVkaW8iKSkpCisgICAgaWYgKGRv
Y3VtZW50LnNldHRpbmdzKCkubWVkaWFQcmVsb2FkaW5nRW5hYmxlZCgpICYmIChlcXVhbExldHRl
cnNJZ25vcmluZ0FTQ0lJQ2FzZShhcywgInZpZGVvIikgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdB
U0NJSUNhc2UoYXMsICJhdWRpbyIpKSkKICAgICAgICAgcmV0dXJuIENhY2hlZFJlc291cmNlOjpU
eXBlOjpNZWRpYVJlc291cmNlOwogICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2Fz
ZShhcywgImZvbnQiKSkKICAgICAgICAgcmV0dXJuIENhY2hlZFJlc291cmNlOjpUeXBlOjpGb250
UmVzb3VyY2U7CkBAIC0xMzYsNyArMTM2LDcgQEAgT3B0aW9uYWw8Q2FjaGVkUmVzb3VyY2U6OlR5
cGU+IExpbmtMb2FkZQogICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiB9CiAKLXN0YXRpYyBzdGQ6
OnVuaXF1ZV9wdHI8TGlua1ByZWxvYWRSZXNvdXJjZUNsaWVudD4gY3JlYXRlTGlua1ByZWxvYWRS
ZXNvdXJjZUNsaWVudChDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UsIExpbmtMb2FkZXImIGxvYWRl
cikKK3N0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8TGlua1ByZWxvYWRSZXNvdXJjZUNsaWVudD4gY3Jl
YXRlTGlua1ByZWxvYWRSZXNvdXJjZUNsaWVudChDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UsIExp
bmtMb2FkZXImIGxvYWRlciwgRG9jdW1lbnQmIGRvY3VtZW50KQogewogICAgIHN3aXRjaCAocmVz
b3VyY2UudHlwZSgpKSB7CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6SW1hZ2VSZXNv
dXJjZToKQEAgLTE1MCw3ICsxNTAsNyBAQCBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPExpbmtQcmVs
b2FkUmVzb3VyCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6VGV4dFRyYWNrUmVzb3Vy
Y2U6CiAgICAgICAgIHJldHVybiBtYWtlVW5pcXVlPExpbmtQcmVsb2FkRGVmYXVsdFJlc291cmNl
Q2xpZW50Pihsb2FkZXIsIGRvd25jYXN0PENhY2hlZFRleHRUcmFjaz4ocmVzb3VyY2UpKTsKICAg
ICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpNZWRpYVJlc291cmNlOgotICAgICAgICBBU1NF
UlQoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5tZWRpYVByZWxvYWRp
bmdFbmFibGVkKCkpOworICAgICAgICBBU1NFUlRfVU5VU0VEKGRvY3VtZW50LCBkb2N1bWVudC5z
ZXR0aW5ncygpLm1lZGlhUHJlbG9hZGluZ0VuYWJsZWQoKSk7CiAgICAgICAgIEZBTExUSFJPVUdI
OwogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlJhd1Jlc291cmNlOgogICAgICAgICBy
ZXR1cm4gbWFrZVVuaXF1ZTxMaW5rUHJlbG9hZFJhd1Jlc291cmNlQ2xpZW50Pihsb2FkZXIsIGRv
d25jYXN0PENhY2hlZFJhd1Jlc291cmNlPihyZXNvdXJjZSkpOwpAQCAtMTc1LDcgKzE3NSw3IEBA
IHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8TGlua1ByZWxvYWRSZXNvdXIKICAgICByZXR1cm4gbnVs
bHB0cjsKIH0KIAotYm9vbCBMaW5rTG9hZGVyOjppc1N1cHBvcnRlZFR5cGUoQ2FjaGVkUmVzb3Vy
Y2U6OlR5cGUgcmVzb3VyY2VUeXBlLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlKQorYm9vbCBMaW5r
TG9hZGVyOjppc1N1cHBvcnRlZFR5cGUoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgcmVzb3VyY2VUeXBl
LCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBEb2N1bWVudCYgZG9jdW1lbnQpCiB7CiAgICAgaWYg
KG1pbWVUeXBlLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0xODksNyArMTg5
LDcgQEAgYm9vbCBMaW5rTG9hZGVyOjppc1N1cHBvcnRlZFR5cGUoQ2FjaGVkUgogICAgIGNhc2Ug
Q2FjaGVkUmVzb3VyY2U6OlR5cGU6OkZvbnRSZXNvdXJjZToKICAgICAgICAgcmV0dXJuIE1JTUVU
eXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkRm9udE1JTUVUeXBlKG1pbWVUeXBlKTsKICAgICBjYXNl
IENhY2hlZFJlc291cmNlOjpUeXBlOjpNZWRpYVJlc291cmNlOgotICAgICAgICBpZiAoIVJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkubWVkaWFQcmVsb2FkaW5nRW5hYmxl
ZCgpKQorICAgICAgICBpZiAoIWRvY3VtZW50LnNldHRpbmdzKCkubWVkaWFQcmVsb2FkaW5nRW5h
YmxlZCgpKQogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVy
biBNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZE1lZGlhTUlNRVR5cGUobWltZVR5cGUpOwog
ICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlRleHRUcmFja1Jlc291cmNlOgpAQCAtMjMx
LDE0ICsyMzEsMTQgQEAgc3RkOjp1bmlxdWVfcHRyPExpbmtQcmVsb2FkUmVzb3VyY2VDbGllbgog
ICAgIGlmICghZG9jdW1lbnQubG9hZGVyKCkgfHwgIXBhcmFtcy5yZWxBdHRyaWJ1dGUuaXNMaW5r
UHJlbG9hZCkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICBBU1NFUlQoUnVudGltZUVu
YWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5saW5rUHJlbG9hZEVuYWJsZWQoKSk7Ci0g
ICAgYXV0byB0eXBlID0gTGlua0xvYWRlcjo6cmVzb3VyY2VUeXBlRnJvbUFzQXR0cmlidXRlKHBh
cmFtcy5hcyk7CisgICAgQVNTRVJUKGRvY3VtZW50LnNldHRpbmdzKCkubGlua1ByZWxvYWRFbmFi
bGVkKCkpOworICAgIGF1dG8gdHlwZSA9IExpbmtMb2FkZXI6OnJlc291cmNlVHlwZUZyb21Bc0F0
dHJpYnV0ZShwYXJhbXMuYXMsIGRvY3VtZW50KTsKICAgICBpZiAoIXR5cGUpIHsKICAgICAgICAg
ZG9jdW1lbnQuYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6T3RoZXIsIE1lc3NhZ2VM
ZXZlbDo6RXJyb3IsICI8bGluayByZWw9cHJlbG9hZD4gbXVzdCBoYXZlIGEgdmFsaWQgYGFzYCB2
YWx1ZSJfcyk7CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KICAgICBVUkwgdXJsOwot
ICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmxpbmtQcmVs
b2FkUmVzcG9uc2l2ZUltYWdlc0VuYWJsZWQoKSAmJiB0eXBlID09IENhY2hlZFJlc291cmNlOjpU
eXBlOjpJbWFnZVJlc291cmNlICYmICFwYXJhbXMuaW1hZ2VTcmNTZXQuaXNFbXB0eSgpKSB7Cisg
ICAgaWYgKGRvY3VtZW50LnNldHRpbmdzKCkubGlua1ByZWxvYWRSZXNwb25zaXZlSW1hZ2VzRW5h
YmxlZCgpICYmIHR5cGUgPT0gQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OkltYWdlUmVzb3VyY2UgJiYg
IXBhcmFtcy5pbWFnZVNyY1NldC5pc0VtcHR5KCkpIHsKICAgICAgICAgYXV0byBzb3VyY2VTaXpl
ID0gU2l6ZXNBdHRyaWJ1dGVQYXJzZXIocGFyYW1zLmltYWdlU2l6ZXMsIGRvY3VtZW50KS5sZW5n
dGgoKTsKICAgICAgICAgYXV0byBjYW5kaWRhdGUgPSBiZXN0Rml0U291cmNlRm9ySW1hZ2VBdHRy
aWJ1dGVzKGRvY3VtZW50LmRldmljZVNjYWxlRmFjdG9yKCksIHBhcmFtcy5ocmVmLnN0cmluZygp
LCBwYXJhbXMuaW1hZ2VTcmNTZXQsIHNvdXJjZVNpemUpOwogICAgICAgICB1cmwgPSBkb2N1bWVu
dC5jb21wbGV0ZVVSTChVUkwoeyB9LCBjYW5kaWRhdGUuc3RyaW5nLnRvU3RyaW5nKCkpLnN0cmlu
ZygpKTsKQEAgLTI1NCw3ICsyNTQsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8TGlua1ByZWxvYWRSZXNv
dXJjZUNsaWVuCiAgICAgfQogICAgIGlmICghTWVkaWFRdWVyeUV2YWx1YXRvcjo6bWVkaWFBdHRy
aWJ1dGVNYXRjaGVzKGRvY3VtZW50LCBwYXJhbXMubWVkaWEpKQogICAgICAgICByZXR1cm4gbnVs
bHB0cjsKLSAgICBpZiAoIWlzU3VwcG9ydGVkVHlwZSh0eXBlLnZhbHVlKCksIHBhcmFtcy5taW1l
VHlwZSkpCisgICAgaWYgKCFpc1N1cHBvcnRlZFR5cGUodHlwZS52YWx1ZSgpLCBwYXJhbXMubWlt
ZVR5cGUsIGRvY3VtZW50KSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBhdXRvIG9w
dGlvbnMgPSBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6ZGVmYXVsdENhY2hlZFJlc291cmNlT3B0aW9u
cygpOwpAQCAtMjcxLDcgKzI3MSw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxMaW5rUHJlbG9hZFJlc291
cmNlQ2xpZW4KICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBpZiAoY2FjaGVkTGlua1Jl
c291cmNlICYmIGxvYWRlcikKLSAgICAgICAgcmV0dXJuIGNyZWF0ZUxpbmtQcmVsb2FkUmVzb3Vy
Y2VDbGllbnQoKmNhY2hlZExpbmtSZXNvdXJjZSwgKmxvYWRlcik7CisgICAgICAgIHJldHVybiBj
cmVhdGVMaW5rUHJlbG9hZFJlc291cmNlQ2xpZW50KCpjYWNoZWRMaW5rUmVzb3VyY2UsICpsb2Fk
ZXIsIGRvY3VtZW50KTsKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIApAQCAtMjgwLDcgKzI4MCw3
IEBAIHZvaWQgTGlua0xvYWRlcjo6cHJlZmV0Y2hJZk5lZWRlZChjb25zdCAKICAgICBpZiAoIXBh
cmFtcy5ocmVmLmlzVmFsaWQoKSB8fCAhZG9jdW1lbnQuZnJhbWUoKSkKICAgICAgICAgcmV0dXJu
OwogCi0gICAgQVNTRVJUKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCku
bGlua1ByZWZldGNoRW5hYmxlZCgpKTsKKyAgICBBU1NFUlQoZG9jdW1lbnQuc2V0dGluZ3MoKS5s
aW5rUHJlZmV0Y2hFbmFibGVkKCkpOwogICAgIE9wdGlvbmFsPFJlc291cmNlTG9hZFByaW9yaXR5
PiBwcmlvcml0eTsKICAgICBDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlID0gQ2FjaGVkUmVzb3Vy
Y2U6OlR5cGU6OkxpbmtQcmVmZXRjaDsKIApJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL0xp
bmtMb2FkZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRl
ci5oCShyZXZpc2lvbiAyNjYzNDEpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRl
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC02MywxMSArNjMsMTEgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgfkxpbmtMb2FkZXIoKTsKIAogICAgIHZvaWQgbG9hZExpbmsoY29uc3QgTGlua0xvYWRQYXJh
bWV0ZXJzJiwgRG9jdW1lbnQmKTsKLSAgICBzdGF0aWMgT3B0aW9uYWw8Q2FjaGVkUmVzb3VyY2U6
OlR5cGU+IHJlc291cmNlVHlwZUZyb21Bc0F0dHJpYnV0ZShjb25zdCBTdHJpbmcmIGFzKTsKKyAg
ICBzdGF0aWMgT3B0aW9uYWw8Q2FjaGVkUmVzb3VyY2U6OlR5cGU+IHJlc291cmNlVHlwZUZyb21B
c0F0dHJpYnV0ZShjb25zdCBTdHJpbmcmLCBEb2N1bWVudCYpOwogCiAgICAgZW51bSBjbGFzcyBN
ZWRpYUF0dHJpYnV0ZUNoZWNrIHsgTWVkaWFBdHRyaWJ1dGVFbXB0eSwgTWVkaWFBdHRyaWJ1dGVO
b3RFbXB0eSwgU2tpcE1lZGlhQXR0cmlidXRlQ2hlY2sgfTsKICAgICBzdGF0aWMgdm9pZCBsb2Fk
TGlua3NGcm9tSGVhZGVyKGNvbnN0IFN0cmluZyYgaGVhZGVyVmFsdWUsIGNvbnN0IFVSTCYgYmFz
ZVVSTCwgRG9jdW1lbnQmLCBNZWRpYUF0dHJpYnV0ZUNoZWNrKTsKLSAgICBzdGF0aWMgYm9vbCBp
c1N1cHBvcnRlZFR5cGUoQ2FjaGVkUmVzb3VyY2U6OlR5cGUsIGNvbnN0IFN0cmluZyYgbWltZVR5
cGUpOworICAgIHN0YXRpYyBib29sIGlzU3VwcG9ydGVkVHlwZShDYWNoZWRSZXNvdXJjZTo6VHlw
ZSwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgRG9jdW1lbnQmKTsKIAogICAgIHZvaWQgdHJpZ2dl
ckV2ZW50cyhjb25zdCBDYWNoZWRSZXNvdXJjZSYpOwogICAgIHZvaWQgY2FuY2VsTG9hZCgpOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAkocmV2aXNpb24gMjY2MzQxKQorKysgU291
cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC01Nyw3ICs1
Nyw3IEBAIHR5cGVkZWYgVVNWU3RyaW5nIENTU09NU3RyaW5nOwogICAgIGF0dHJpYnV0ZSBET01T
dHJpbmcgbmFtZTsKICAgICBbRG9Ob3RDaGVja1NlY3VyaXR5LCBQdXRGb3J3YXJkcz1ocmVmLCBV
bmZvcmdlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIExvY2F0aW9uIGxvY2F0aW9uOwogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBIaXN0b3J5IGhpc3Rvcnk7Ci0gICAgW0VuYWJsZWRBdFJ1bnRpbWU9
Q3VzdG9tRWxlbWVudHMsIEltcGxlbWVudGVkQXM9ZW5zdXJlQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5
XSByZWFkb25seSBhdHRyaWJ1dGUgQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5IGN1c3RvbUVsZW1lbnRz
OworICAgIFtFbmFibGVkQnlTZXR0aW5nPUN1c3RvbUVsZW1lbnRzLCBJbXBsZW1lbnRlZEFzPWVu
c3VyZUN1c3RvbUVsZW1lbnRSZWdpc3RyeV0gcmVhZG9ubHkgYXR0cmlidXRlIEN1c3RvbUVsZW1l
bnRSZWdpc3RyeSBjdXN0b21FbGVtZW50czsKICAgICBbUmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0
dHJpYnV0ZSBCYXJQcm9wIGxvY2F0aW9uYmFyOwogICAgIFtSZXBsYWNlYWJsZV0gcmVhZG9ubHkg
YXR0cmlidXRlIEJhclByb3AgbWVudWJhcjsKICAgICBbUmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0
dHJpYnV0ZSBCYXJQcm9wIHBlcnNvbmFsYmFyOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9J
bnRlcnNlY3Rpb25PYnNlcnZlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFn
ZS9JbnRlcnNlY3Rpb25PYnNlcnZlci5pZGwJKHJldmlzaW9uIDI2NjM0MSkKKysrIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0y
OCw3ICsyOCw3IEBACiBbCiAgICAgQWN0aXZlRE9NT2JqZWN0LAogICAgIENvbmRpdGlvbmFsPUlO
VEVSU0VDVElPTl9PQlNFUlZFUiwKLSAgICBFbmFibGVkQXRSdW50aW1lPUludGVyc2VjdGlvbk9i
c2VydmVyCisgICAgRW5hYmxlZEJ5U2V0dGluZz1JbnRlcnNlY3Rpb25PYnNlcnZlcgogXSBpbnRl
cmZhY2UgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgewogICAgIFtDYWxsV2l0aD1Eb2N1bWVudCwgTWF5
VGhyb3dFeGNlcHRpb25dIGNvbnN0cnVjdG9yKEludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJhY2sg
Y2FsbGJhY2ssIG9wdGlvbmFsIEludGVyc2VjdGlvbk9ic2VydmVySW5pdCBvcHRpb25zKTsKIApJ
bmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5LmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyRW50
cnkuaWRsCShyZXZpc2lvbiAyNjYzNDEpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2Vj
dGlvbk9ic2VydmVyRW50cnkuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBAIHR5
cGVkZWYgZG91YmxlIERPTUhpZ2hSZXNUaW1lU3RhbXA7CiBbCiAgICAgQ29uZGl0aW9uYWw9SU5U
RVJTRUNUSU9OX09CU0VSVkVSLAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCi0gICAg
RW5hYmxlZEF0UnVudGltZT1JbnRlcnNlY3Rpb25PYnNlcnZlciwKKyAgICBFbmFibGVkQnlTZXR0
aW5nPUludGVyc2VjdGlvbk9ic2VydmVyLAogICAgIEpTQ3VzdG9tTWFya0Z1bmN0aW9uLAogXSBp
bnRlcmZhY2UgSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeSB7CiAgICAgY29uc3RydWN0b3IoSW50
ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeUluaXQgaW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeUluaXQp
OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNwcAkocmV2aXNpb24gMjY2MzQxKQorKysg
U291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjQs
MTYgKzEyNCwxNiBAQCBzdGF0aWMgT3B0aW9uYWw8VVJMPiBzaGFyZWFibGVVUkxGb3JTaGFyCiAg
ICAgcmV0dXJuIHVybDsKIH0KIAotYm9vbCBOYXZpZ2F0b3I6OmNhblNoYXJlKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IFNoYXJlRGF0YSYgZGF0YSkKK2Jvb2wgTmF2aWdh
dG9yOjpjYW5TaGFyZShEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFNoYXJlRGF0YSYgZGF0YSkK
IHsKICAgICBhdXRvKiBmcmFtZSA9IHRoaXMtPmZyYW1lKCk7CiAgICAgaWYgKCFmcmFtZSB8fCAh
ZnJhbWUtPnBhZ2UoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgYm9vbCBoYXNTaGFy
ZWFibGVUaXRsZU9yVGV4dCA9ICFkYXRhLnRpdGxlLmlzTnVsbCgpIHx8ICFkYXRhLnRleHQuaXNO
dWxsKCk7Ci0gICAgYm9vbCBoYXNTaGFyZWFibGVVUkwgPSAhIXNoYXJlYWJsZVVSTEZvclNoYXJl
RGF0YShjb250ZXh0LCBkYXRhKTsKKyAgICBib29sIGhhc1NoYXJlYWJsZVVSTCA9ICEhc2hhcmVh
YmxlVVJMRm9yU2hhcmVEYXRhKGRvY3VtZW50LCBkYXRhKTsKICNpZiBFTkFCTEUoRklMRV9TSEFS
RSkKLSAgICBib29sIGhhc1NoYXJlYWJsZUZpbGVzID0gUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS53ZWJTaGFyZUZpbGVBUElFbmFibGVkKCkgJiYgIWRhdGEuZmlsZXMu
aXNFbXB0eSgpOworICAgIGJvb2wgaGFzU2hhcmVhYmxlRmlsZXMgPSBkb2N1bWVudC5zZXR0aW5n
cygpLndlYlNoYXJlRmlsZUFQSUVuYWJsZWQoKSAmJiAhZGF0YS5maWxlcy5pc0VtcHR5KCk7CiAj
ZWxzZQogICAgIGJvb2wgaGFzU2hhcmVhYmxlRmlsZXMgPSBmYWxzZTsKICNlbmRpZgpAQCAtMTQx
LDkgKzE0MSw5IEBAIGJvb2wgTmF2aWdhdG9yOjpjYW5TaGFyZShTY3JpcHRFeGVjdXRpb24KICAg
ICByZXR1cm4gaGFzU2hhcmVhYmxlVGl0bGVPclRleHQgfHwgaGFzU2hhcmVhYmxlVVJMIHx8IGhh
c1NoYXJlYWJsZUZpbGVzOwogfQogCi12b2lkIE5hdmlnYXRvcjo6c2hhcmUoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgU2hhcmVEYXRhJiBkYXRhLCBSZWY8RGVmZXJyZWRQ
cm9taXNlPiYmIHByb21pc2UpCit2b2lkIE5hdmlnYXRvcjo6c2hhcmUoRG9jdW1lbnQmIGRvY3Vt
ZW50LCBjb25zdCBTaGFyZURhdGEmIGRhdGEsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlz
ZSkKIHsKLSAgICBpZiAoIWNhblNoYXJlKGNvbnRleHQsIGRhdGEpKSB7CisgICAgaWYgKCFjYW5T
aGFyZShkb2N1bWVudCwgZGF0YSkpIHsKICAgICAgICAgcHJvbWlzZS0+cmVqZWN0KFR5cGVFcnJv
cik7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0xNTUsMjEgKzE1NSwyMSBAQCB2b2lkIE5h
dmlnYXRvcjo6c2hhcmUoU2NyaXB0RXhlY3V0aW9uQ29uCiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKLSAgICBPcHRpb25hbDxVUkw+IHVybCA9IHNoYXJlYWJsZVVSTEZvclNoYXJlRGF0YShjb250
ZXh0LCBkYXRhKTsKKyAgICBPcHRpb25hbDxVUkw+IHVybCA9IHNoYXJlYWJsZVVSTEZvclNoYXJl
RGF0YShkb2N1bWVudCwgZGF0YSk7CiAgICAgU2hhcmVEYXRhV2l0aFBhcnNlZFVSTCBzaGFyZURh
dGEgPSB7CiAgICAgICAgIGRhdGEsCiAgICAgICAgIHVybCwKICAgICAgICAgeyB9LAogICAgIH07
CiAjaWYgRU5BQkxFKEZJTEVfU0hBUkUpCi0gICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNoYXJlZEZlYXR1cmVzKCkud2ViU2hhcmVGaWxlQVBJRW5hYmxlZCgpICYmICFkYXRhLmZpbGVz
LmlzRW1wdHkoKSkgeworICAgIGlmIChkb2N1bWVudC5zZXR0aW5ncygpLndlYlNoYXJlRmlsZUFQ
SUVuYWJsZWQoKSAmJiAhZGF0YS5maWxlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgaWYgKG1fbG9h
ZGVyKQogICAgICAgICAgICAgbV9sb2FkZXItPmNhbmNlbCgpOwogICAgICAgICAKICAgICAgICAg
bV9sb2FkZXIgPSBTaGFyZURhdGFSZWFkZXI6OmNyZWF0ZShbdGhpcywgcHJvbWlzZSA9IFdURk1v
dmUocHJvbWlzZSldIChFeGNlcHRpb25PcjxTaGFyZURhdGFXaXRoUGFyc2VkVVJMJj4gcmVhZERh
dGEpIG11dGFibGUgewogICAgICAgICAgICAgc2hvd1NoYXJlRGF0YShyZWFkRGF0YSwgV1RGTW92
ZShwcm9taXNlKSk7CiAgICAgICAgIH0pOwotICAgICAgICBtX2xvYWRlci0+c3RhcnQoZnJhbWUo
KS0+ZG9jdW1lbnQoKSwgV1RGTW92ZShzaGFyZURhdGEpKTsKKyAgICAgICAgbV9sb2FkZXItPnN0
YXJ0KCZkb2N1bWVudCwgV1RGTW92ZShzaGFyZURhdGEpKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5oCShyZXZpc2lvbiAyNjYzNDEp
CisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5oCSh3b3JraW5nIGNvcHkpCkBAIC00
OSw4ICs0OSw4IEBAIHB1YmxpYzoKICAgICBTdHJpbmcgcGxhdGZvcm0oKSBjb25zdCBmaW5hbDsK
ICAgICB2b2lkIHVzZXJBZ2VudENoYW5nZWQoKTsKICAgICBib29sIG9uTGluZSgpIGNvbnN0IGZp
bmFsOwotICAgIGJvb2wgY2FuU2hhcmUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0IFNo
YXJlRGF0YSYpOwotICAgIHZvaWQgc2hhcmUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0
IFNoYXJlRGF0YSYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOworICAgIGJvb2wgY2FuU2hhcmUo
RG9jdW1lbnQmLCBjb25zdCBTaGFyZURhdGEmKTsKKyAgICB2b2lkIHNoYXJlKERvY3VtZW50Jiwg
Y29uc3QgU2hhcmVEYXRhJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CiAgICAgCiAjaWYgUExB
VEZPUk0oSU9TX0ZBTUlMWSkKICAgICBib29sIHN0YW5kYWxvbmUoKSBjb25zdDsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yU2hhcmUuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yU2hhcmUuaWRsCShyZXZpc2lvbiAyNjYzNDEpCisrKyBT
b3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclNoYXJlLmlkbAkod29ya2luZyBjb3B5KQpAQCAt
MjYsOCArMjYsOCBAQAogCiBbCiAgICAgTm9JbnRlcmZhY2VPYmplY3QsCi0gICAgRW5hYmxlZEF0
UnVudGltZT1XZWJTaGFyZQorICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViU2hhcmUKIF0gaW50ZXJm
YWNlIE5hdmlnYXRvclNoYXJlIHsKLSAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4
dCwgU2VjdXJlQ29udGV4dF0gYm9vbGVhbiBjYW5TaGFyZShvcHRpb25hbCBTaGFyZURhdGEgc2hh
cmVEYXRhKTsKLSAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgU2VjdXJlQ29u
dGV4dF0gUHJvbWlzZTx1bmRlZmluZWQ+IHNoYXJlKG9wdGlvbmFsIFNoYXJlRGF0YSBzaGFyZURh
dGEpOworICAgIFtDYWxsV2l0aD1Eb2N1bWVudCwgU2VjdXJlQ29udGV4dF0gYm9vbGVhbiBjYW5T
aGFyZShvcHRpb25hbCBTaGFyZURhdGEgc2hhcmVEYXRhKTsKKyAgICBbQ2FsbFdpdGg9RG9jdW1l
bnQsIFNlY3VyZUNvbnRleHRdIFByb21pc2U8dW5kZWZpbmVkPiBzaGFyZShvcHRpb25hbCBTaGFy
ZURhdGEgc2hhcmVEYXRhKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVF
bmFibGVkRmVhdHVyZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVu
dGltZUVuYWJsZWRGZWF0dXJlcy5jcHAJKHJldmlzaW9uIDI2NjM0MSkKKysrIFNvdXJjZS9XZWJD
b3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQx
LDkgKzQxLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzKCkKIHsKLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKSAm
JiBQTEFURk9STShDT0NPQSkKLSAgICBtX2lzTWVkaWFEZXZpY2VzRW5hYmxlZCA9IGZhbHNlOwot
I2VuZGlmCiAjaWYgUExBVEZPUk0oV0FUQ0hPUykKICAgICBtX2lzV2ViU29ja2V0RW5hYmxlZCA9
IGZhbHNlOwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVk
RmVhdHVyZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFi
bGVkRmVhdHVyZXMuaAkocmV2aXNpb24gMjY2MzQxKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9S
dW50aW1lRW5hYmxlZEZlYXR1cmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDE4ICs0NCw2IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMgewogICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMpOwogcHVibGljOgot
ICAgIHZvaWQgc2V0QmxhbmtBbmNob3JUYXJnZXRJbXBsaWVzTm9PcGVuZXJFbmFibGVkKGJvb2wg
aXNFbmFibGVkKSB7IG1fYmxhbmtBbmNob3JUYXJnZXRJbXBsaWVzTm9PcGVuZXJFbmFibGVkID0g
aXNFbmFibGVkOyB9Ci0gICAgYm9vbCBibGFua0FuY2hvclRhcmdldEltcGxpZXNOb09wZW5lckVu
YWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2JsYW5rQW5jaG9yVGFyZ2V0SW1wbGllc05vT3BlbmVy
RW5hYmxlZDsgfQotCi0gICAgdm9pZCBzZXRMaW5rUHJlbG9hZEVuYWJsZWQoYm9vbCBpc0VuYWJs
ZWQpIHsgbV9pc0xpbmtQcmVsb2FkRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotICAgIGJvb2wgbGlu
a1ByZWxvYWRFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc0xpbmtQcmVsb2FkRW5hYmxlZDsg
fQotCi0gICAgdm9pZCBzZXRMaW5rUHJlZmV0Y2hFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1f
aXNMaW5rUHJlZmV0Y2hFbmFibGVkID0gaXNFbmFibGVkOyB9Ci0gICAgYm9vbCBsaW5rUHJlZmV0
Y2hFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc0xpbmtQcmVmZXRjaEVuYWJsZWQ7IH0KLQot
ICAgIHZvaWQgc2V0TWVkaWFQcmVsb2FkaW5nRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lz
TWVkaWFQcmVsb2FkaW5nRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotICAgIGJvb2wgbWVkaWFQcmVs
b2FkaW5nRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNNZWRpYVByZWxvYWRpbmdFbmFibGVk
OyB9Ci0KICAgICB2b2lkIHNldFJlc291cmNlVGltaW5nRW5hYmxlZChib29sIGlzRW5hYmxlZCkg
eyBtX2lzUmVzb3VyY2VUaW1pbmdFbmFibGVkID0gaXNFbmFibGVkOyB9CiAgICAgYm9vbCByZXNv
dXJjZVRpbWluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzUmVzb3VyY2VUaW1pbmdFbmFi
bGVkOyB9CiAKQEAgLTcwLDM5ICs1OCwxOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTaGFkb3dE
T01FbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNTaGFkb3dET01FbmFibGVkID0gaXNFbmFi
bGVkOyB9CiAgICAgYm9vbCBzaGFkb3dET01FbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1No
YWRvd0RPTUVuYWJsZWQ7IH0KIAotICAgIHZvaWQgc2V0SW5wdXRFdmVudHNFbmFibGVkKGJvb2wg
aXNFbmFibGVkKSB7IG1faW5wdXRFdmVudHNFbmFibGVkID0gaXNFbmFibGVkOyB9Ci0gICAgYm9v
bCBpbnB1dEV2ZW50c0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lucHV0RXZlbnRzRW5hYmxl
ZDsgfQotCi0gICAgdm9pZCBzZXRJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZChib29s
IGlzRW5hYmxlZCkgeyBtX2lzSW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQgPSBpc0Vu
YWJsZWQ7IH0KLSAgICBib29sIGludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkKCkgY29u
c3QgeyByZXR1cm4gbV9pc0ludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkOyB9Ci0KLSAg
ICB2b2lkIHNldEN1c3RvbUVsZW1lbnRzRW5hYmxlZChib29sIGFyZUVuYWJsZWQpIHsgbV9hcmVD
dXN0b21FbGVtZW50c0VuYWJsZWQgPSBhcmVFbmFibGVkOyB9Ci0gICAgYm9vbCBjdXN0b21FbGVt
ZW50c0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2FyZUN1c3RvbUVsZW1lbnRzRW5hYmxlZDsg
fQotCiAgICAgdm9pZCBzZXRNZW51SXRlbUVsZW1lbnRFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7
IG1faXNNZW51SXRlbUVsZW1lbnRFbmFibGVkID0gaXNFbmFibGVkOyB9CiAgICAgYm9vbCBtZW51
SXRlbUVsZW1lbnRFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc01lbnVJdGVtRWxlbWVudEVu
YWJsZWQ7IH0KIAogICAgIHZvaWQgc2V0RGlyZWN0b3J5VXBsb2FkRW5hYmxlZChib29sIGlzRW5h
YmxlZCkgeyBtX2lzRGlyZWN0b3J5VXBsb2FkRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogICAgIGJv
b2wgZGlyZWN0b3J5VXBsb2FkRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNEaXJlY3RvcnlV
cGxvYWRFbmFibGVkOyB9CiAKLSAgICB2b2lkIHNldERhdGFUcmFuc2Zlckl0ZW1zRW5hYmxlZChi
b29sIGFyZUVuYWJsZWQpIHsgbV9hcmVEYXRhVHJhbnNmZXJJdGVtc0VuYWJsZWQgPSBhcmVFbmFi
bGVkOyB9Ci0gICAgYm9vbCBkYXRhVHJhbnNmZXJJdGVtc0VuYWJsZWQoKSBjb25zdCB7IHJldHVy
biBtX2FyZURhdGFUcmFuc2Zlckl0ZW1zRW5hYmxlZDsgfQotCiAgICAgdm9pZCBzZXRDdXN0b21Q
YXN0ZWJvYXJkRGF0YUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc0N1c3RvbVBhc3RlYm9h
cmREYXRhRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogICAgIGJvb2wgY3VzdG9tUGFzdGVib2FyZERh
dGFFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc0N1c3RvbVBhc3RlYm9hcmREYXRhRW5hYmxl
ZDsgfQogCi0gICAgdm9pZCBzZXRXZWJTaGFyZUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9p
c1dlYlNoYXJlRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotICAgIGJvb2wgd2ViU2hhcmVFbmFibGVk
KCkgY29uc3QgeyByZXR1cm4gbV9pc1dlYlNoYXJlRW5hYmxlZDsgfQotCiAgICAgdm9pZCBzZXRN
b2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZChib29sIGFyZUVuYWJsZWQpIHsgbV9hcmVNb2Rlcm5N
ZWRpYUNvbnRyb2xzRW5hYmxlZCA9IGFyZUVuYWJsZWQ7IH0KICAgICBib29sIG1vZGVybk1lZGlh
Q29udHJvbHNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9hcmVNb2Rlcm5NZWRpYUNvbnRyb2xz
RW5hYmxlZDsgfQogCi0gICAgdm9pZCBzZXRXZWJBdXRoZW50aWNhdGlvbkVuYWJsZWQoYm9vbCBp
c0VuYWJsZWQpIHsgbV9pc1dlYkF1dGhlbnRpY2F0aW9uRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQot
ICAgIGJvb2wgd2ViQXV0aGVudGljYXRpb25FbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1dl
YkF1dGhlbnRpY2F0aW9uRW5hYmxlZDsgfQotCi0gICAgdm9pZCBzZXRXZWJBdXRoZW50aWNhdGlv
bkxvY2FsQXV0aGVudGljYXRvckVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1dlYkF1dGhl
bnRpY2F0aW9uTG9jYWxBdXRoZW50aWNhdG9yRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotICAgIGJv
b2wgd2ViQXV0aGVudGljYXRpb25Mb2NhbEF1dGhlbnRpY2F0b3JFbmFibGVkKCkgY29uc3QgeyBy
ZXR1cm4gbV9pc1dlYkF1dGhlbnRpY2F0aW9uTG9jYWxBdXRoZW50aWNhdG9yRW5hYmxlZDsgfQot
CiAgICAgdm9pZCBzZXRJc1NlY3VyZUNvbnRleHRBdHRyaWJ1dGVFbmFibGVkKGJvb2wgaXNFbmFi
bGVkKSB7IG1faXNTZWN1cmVDb250ZXh0QXR0cmlidXRlRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQog
ICAgIGJvb2wgaXNTZWN1cmVDb250ZXh0QXR0cmlidXRlRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJu
IG1faXNTZWN1cmVDb250ZXh0QXR0cmlidXRlRW5hYmxlZDsgfQogCkBAIC0xNzAsMjEgKzEzNywx
MiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRFeHBlcmltZW50YWxQbHVnSW5TYW5kYm94UHJvZmls
ZXNFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fZXhwZXJpbWVudGFsUGx1Z0luU2FuZGJveFBy
b2ZpbGVzRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogICAgIGJvb2wgZXhwZXJpbWVudGFsUGx1Z0lu
U2FuZGJveFByb2ZpbGVzRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZXhwZXJpbWVudGFsUGx1
Z0luU2FuZGJveFByb2ZpbGVzRW5hYmxlZDsgfQogCi0gICAgdm9pZCBzZXREaXNhYmxlZEFkYXB0
YXRpb25zTWV0YVRhZ0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9kaXNhYmxlZEFkYXB0YXRp
b25zTWV0YVRhZ0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAgICBib29sIGRpc2FibGVkQWRhcHRh
dGlvbnNNZXRhVGFnRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZGlzYWJsZWRBZGFwdGF0aW9u
c01ldGFUYWdFbmFibGVkOyB9Ci0KICAgICB2b2lkIHNldEF0dHJTdHlsZUVuYWJsZWQoYm9vbCBp
c0VuYWJsZWQpIHsgbV9hdHRyU3R5bGVFbmFibGVkID0gaXNFbmFibGVkOyB9CiAgICAgYm9vbCBh
dHRyU3R5bGVFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9hdHRyU3R5bGVFbmFibGVkOyB9CiAK
ICAgICB2b2lkIHNldFdlYkFQSVN0YXRpc3RpY3NFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1f
d2ViQVBJU3RhdGlzdGljc0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIHdlYkFQSVN0
YXRpc3RpY3NFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV93ZWJBUElTdGF0aXN0aWNzRW5hYmxl
ZDsgfQogCi0gICAgdm9pZCBzZXRDU1NDdXN0b21Qcm9wZXJ0aWVzQW5kVmFsdWVzRW5hYmxlZChi
b29sIGlzRW5hYmxlZCkgeyBtX0NTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVkID0g
aXNFbmFibGVkOyB9Ci0gICAgYm9vbCBjc3NDdXN0b21Qcm9wZXJ0aWVzQW5kVmFsdWVzRW5hYmxl
ZCgpIGNvbnN0IHsgcmV0dXJuIG1fQ1NTQ3VzdG9tUHJvcGVydGllc0FuZFZhbHVlc0VuYWJsZWQ7
IH0KLQotICAgIHZvaWQgc2V0U3ludGhldGljRWRpdGluZ0NvbW1hbmRzRW5hYmxlZChib29sIGlz
RW5hYmxlZCkgeyBtX3N5bnRoZXRpY0VkaXRpbmdDb21tYW5kc0VuYWJsZWQgPSBpc0VuYWJsZWQ7
IH0KLSAgICBib29sIHN5bnRoZXRpY0VkaXRpbmdDb21tYW5kc0VuYWJsZWQoKSBjb25zdCB7IHJl
dHVybiBtX3N5bnRoZXRpY0VkaXRpbmdDb21tYW5kc0VuYWJsZWQ7IH0KLQogI2lmIEVOQUJMRShM
QVlPVVRfRk9STUFUVElOR19DT05URVhUKQogICAgIHZvaWQgc2V0TGF5b3V0Rm9ybWF0dGluZ0Nv
bnRleHRFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fbGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRF
bmFibGVkID0gaXNFbmFibGVkOyB9CiAgICAgYm9vbCBsYXlvdXRGb3JtYXR0aW5nQ29udGV4dEVu
YWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2xheW91dEZvcm1hdHRpbmdDb250ZXh0RW5hYmxlZDsg
fQpAQCAtMjI4LDE3ICsxODYsNiBAQCBwdWJsaWM6CiAgICAgYm9vbCB1c2VyR2VzdHVyZVByb21p
c2VQcm9wYWdhdGlvbkVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3VzZXJHZXN0dXJlUHJvbWlz
ZVByb3BhZ2F0aW9uRW5hYmxlZDsgfQogICAgIHZvaWQgc2V0VXNlckdlc3R1cmVQcm9taXNlUHJv
cGFnYXRpb25FbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fdXNlckdlc3R1cmVQcm9taXNlUHJv
cGFnYXRpb25FbmFibGVkID0gaXNFbmFibGVkOyB9CiAKLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFN
KQotICAgIGJvb2wgbWVkaWFSZWNvcmRlckVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzTWVk
aWFSZWNvcmRlckVuYWJsZWQ7IH0KLSAgICB2b2lkIHNldE1lZGlhUmVjb3JkZXJFbmFibGVkKGJv
b2wgaXNFbmFibGVkKSB7IG1faXNNZWRpYVJlY29yZGVyRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQot
ICAgIGJvb2wgbWVkaWFEZXZpY2VzRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNNZWRpYURl
dmljZXNFbmFibGVkOyB9Ci0gICAgdm9pZCBzZXRNZWRpYURldmljZXNFbmFibGVkKGJvb2wgaXNF
bmFibGVkKSB7IG1faXNNZWRpYURldmljZXNFbmFibGVkID0gaXNFbmFibGVkOyB9Ci0gICAgYm9v
bCBtZWRpYVN0cmVhbUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzTWVkaWFTdHJlYW1FbmFi
bGVkOyB9Ci0gICAgdm9pZCBzZXRNZWRpYVN0cmVhbUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsg
bV9pc01lZGlhU3RyZWFtRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotICAgIGJvb2wgc2NyZWVuQ2Fw
dHVyZUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzU2NyZWVuQ2FwdHVyZUVuYWJsZWQ7IH0K
LSAgICB2b2lkIHNldFNjcmVlbkNhcHR1cmVFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNT
Y3JlZW5DYXB0dXJlRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotI2VuZGlmCi0KICNpZiBFTkFCTEUo
V0VCX1JUQykKICAgICBib29sIHdlYlJUQ0RUTUZFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9p
c1dlYlJUQ0RUTUZFbmFibGVkOyB9CiAgICAgdm9pZCBzZXRXZWJSVENEVE1GRW5hYmxlZChib29s
IGlzRW5hYmxlZCkgeyBtX2lzV2ViUlRDRFRNRkVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KQEAgLTI2
OCwxMSArMjE1LDYgQEAgcHVibGljOgogICAgIHZvaWQgc2V0RGF0YUxpc3RFbGVtZW50RW5hYmxl
ZChib29sIGlzRW5hYmxlZCkgeyBtX2lzRGF0YUxpc3RFbGVtZW50RW5hYmxlZCA9IGlzRW5hYmxl
ZDsgfQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoR0FNRVBBRCkKLSAgICB2b2lkIHNldEdhbWVwYWRz
RW5hYmxlZChib29sIGFyZUVuYWJsZWQpIHsgbV9hcmVHYW1lcGFkc0VuYWJsZWQgPSBhcmVFbmFi
bGVkOyB9Ci0gICAgYm9vbCBnYW1lcGFkc0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2FyZUdh
bWVwYWRzRW5hYmxlZDsgfQotI2VuZGlmCi0KICNpZiBFTkFCTEUoV0VCR0wyKQogICAgIHZvaWQg
c2V0V2ViR0wyRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzV2ViR0wyRW5hYmxlZCA9IGlz
RW5hYmxlZDsgfQogICAgIGJvb2wgd2ViR0wyRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNX
ZWJHTDJFbmFibGVkOyB9CkBAIC0yOTUsNTAgKzIzNywxNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBz
ZXRUcmFuc2Zvcm1TdHJlYW1BUElFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNUcmFuc2Zv
cm1TdHJlYW1BUElFbmFibGVkID0gaXNFbmFibGVkOyB9CiAgICAgYm9vbCB0cmFuc2Zvcm1TdHJl
YW1BUElFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1RyYW5zZm9ybVN0cmVhbUFQSUVuYWJs
ZWQ7IH0KIAotI2lmIEVOQUJMRShET1dOTE9BRF9BVFRSSUJVVEUpCi0gICAgdm9pZCBzZXREb3du
bG9hZEF0dHJpYnV0ZUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc0Rvd25sb2FkQXR0cmli
dXRlRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotICAgIGJvb2wgZG93bmxvYWRBdHRyaWJ1dGVFbmFi
bGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc0Rvd25sb2FkQXR0cmlidXRlRW5hYmxlZDsgfQotI2Vu
ZGlmCi0KLSNpZiBFTkFCTEUoSU5URVJTRUNUSU9OX09CU0VSVkVSKQotICAgIHZvaWQgc2V0SW50
ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faW50ZXJzZWN0aW9u
T2JzZXJ2ZXJFbmFibGVkID0gaXNFbmFibGVkOyB9Ci0gICAgYm9vbCBpbnRlcnNlY3Rpb25PYnNl
cnZlckVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2ludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxl
ZDsgfQotI2VuZGlmCi0KLSAgICB2b2lkIHNldFVuZG9NYW5hZ2VyQVBJRW5hYmxlZChib29sIGlz
RW5hYmxlZCkgeyBtX3VuZG9NYW5hZ2VyQVBJRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotICAgIGJv
b2wgdW5kb01hbmFnZXJBUElFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV91bmRvTWFuYWdlckFQ
SUVuYWJsZWQ7IH0KLQotI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCi0gICAgdm9pZCBzZXRF
bmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9lbmNyeXB0ZWRNZWRp
YUFQSUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAgICBib29sIGVuY3J5cHRlZE1lZGlhQVBJRW5h
YmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZW5jcnlwdGVkTWVkaWFBUElFbmFibGVkOyB9Ci0jZW5k
aWYKLQotI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQotICAgIHZvaWQgc2V0TGVn
YWN5RW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fbGVnYWN5RW5j
cnlwdGVkTWVkaWFBUElFbmFibGVkID0gaXNFbmFibGVkOyB9Ci0gICAgYm9vbCBsZWdhY3lFbmNy
eXB0ZWRNZWRpYUFQSUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2xlZ2FjeUVuY3J5cHRlZE1l
ZGlhQVBJRW5hYmxlZDsgfQotI2VuZGlmCi0KICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAg
ICAgYm9vbCBzZXJ2aWNlV29ya2VyRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc2VydmljZVdv
cmtlckVuYWJsZWQ7IH0KICAgICB2b2lkIHNldFNlcnZpY2VXb3JrZXJFbmFibGVkKGJvb2wgaXNF
bmFibGVkKSB7IG1fc2VydmljZVdvcmtlckVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICNlbmRpZgog
Ci0jaWYgVVNFKFNZU1RFTV9QUkVWSUVXKQotICAgIHZvaWQgc2V0U3lzdGVtUHJldmlld0VuYWJs
ZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9zeXN0ZW1QcmV2aWV3RW5hYmxlZCA9IGlzRW5hYmxlZDsg
fQotICAgIGJvb2wgc3lzdGVtUHJldmlld0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3N5c3Rl
bVByZXZpZXdFbmFibGVkOyB9Ci0jZW5kaWYKLQogICAgIHZvaWQgc2V0Q1NTTG9naWNhbEVuYWJs
ZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9DU1NMb2dpY2FsRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQog
ICAgIGJvb2wgY3NzTG9naWNhbEVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX0NTU0xvZ2ljYWxF
bmFibGVkOyB9CiAKLSAgICB2b2lkIHNldExlZ2FjeUJlZm9yZUxvYWRFdmVudEVuYWJsZWQoYm9v
bCBpc0VuYWJsZWQpIHsgbV9sZWdhY3lCZWZvcmVMb2FkRXZlbnRFbmFibGVkID0gaXNFbmFibGVk
OyB9Ci0gICAgYm9vbCBsZWdhY3lCZWZvcmVMb2FkRXZlbnRFbmFibGVkKCkgY29uc3QgeyByZXR1
cm4gbV9sZWdhY3lCZWZvcmVMb2FkRXZlbnRFbmFibGVkOyB9Ci0KICAgICB2b2lkIHNldExpbmVI
ZWlnaHRVbml0c0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9saW5lSGVpZ2h0VW5pdHNFbmFi
bGVkID0gaXNFbmFibGVkOyB9CiAgICAgYm9vbCBsaW5lSGVpZ2h0VW5pdHNFbmFibGVkKCkgY29u
c3QgeyByZXR1cm4gbV9saW5lSGVpZ2h0VW5pdHNFbmFibGVkOyB9CiAKLSAgICBib29sIGFkQ2xp
Y2tBdHRyaWJ1dGlvbkVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2FkQ2xpY2tBdHRyaWJ1dGlv
bkVuYWJsZWQ7IH0KLSAgICB2b2lkIHNldEFkQ2xpY2tBdHRyaWJ1dGlvbkVuYWJsZWQoYm9vbCBp
c0VuYWJsZWQpIHsgbV9hZENsaWNrQXR0cmlidXRpb25FbmFibGVkID0gaXNFbmFibGVkOyB9CiAg
ICAgYm9vbCBhZENsaWNrQXR0cmlidXRpb25EZWJ1Z01vZGVFbmFibGVkKCkgY29uc3QgeyByZXR1
cm4gbV9hZENsaWNrQXR0cmlidXRpb25EZWJ1Z01vZGVFbmFibGVkOyB9CiAgICAgdm9pZCBzZXRB
ZENsaWNrQXR0cmlidXRpb25EZWJ1Z01vZGVFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fYWRD
bGlja0F0dHJpYnV0aW9uRGVidWdNb2RlRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogCkBAIC0zNDks
MjEgKzI1OCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFRvdWNoRXZlbnRzRW5hYmxlZChib29s
IGlzRW5hYmxlZCkgeyBtX3RvdWNoRXZlbnRzRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogI2VuZGlm
CiAKLSAgICBib29sIHJlZmVycmVyUG9saWN5QXR0cmlidXRlRW5hYmxlZCgpIGNvbnN0IHsgcmV0
dXJuIG1fcmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGVFbmFibGVkOyB9Ci0gICAgdm9pZCBzZXRSZWZl
cnJlclBvbGljeUF0dHJpYnV0ZUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9yZWZlcnJlclBv
bGljeUF0dHJpYnV0ZUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLQogICAgIGJvb2wgcGFnZUF0UnVs
ZVN1cHBvcnRFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9wYWdlQXRSdWxlU3VwcG9ydEVuYWJs
ZWQ7IH0KICAgICB2b2lkIHNldFBhZ2VBdFJ1bGVTdXBwb3J0RW5hYmxlZChib29sIGlzRW5hYmxl
ZCkgeyBtX3BhZ2VBdFJ1bGVTdXBwb3J0RW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogCi0gICAgYm9v
bCBpbnRlcnJ1cHRBdWRpb09uUGFnZVZpc2liaWxpdHlDaGFuZ2VFbmFibGVkKCkgY29uc3QgeyBy
ZXR1cm4gbV9pbnRlcnJ1cHRBdWRpb09uUGFnZVZpc2liaWxpdHlDaGFuZ2VFbmFibGVkOyB9Ci0g
ICAgdm9pZCBzZXRJbnRlcnJ1cHRBdWRpb09uUGFnZVZpc2liaWxpdHlDaGFuZ2VFbmFibGVkKGJv
b2wgZW5hYmxlZCkgeyBtX2ludGVycnVwdEF1ZGlvT25QYWdlVmlzaWJpbGl0eUNoYW5nZUVuYWJs
ZWQgPSBlbmFibGVkOyB9Ci0KLSAgICBib29sIGxpbmtQcmVsb2FkUmVzcG9uc2l2ZUltYWdlc0Vu
YWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2xpbmtQcmVsb2FkUmVzcG9uc2l2ZUltYWdlc0VuYWJs
ZWQ7IH0KLSAgICB2b2lkIHNldExpbmtQcmVsb2FkUmVzcG9uc2l2ZUltYWdlc0VuYWJsZWQoYm9v
bCBpc0VuYWJsZWQpIHsgbV9saW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVkID0gaXNF
bmFibGVkOyB9Ci0KLSAgICB2b2lkIHNldExhenlJbWFnZUxvYWRpbmdFbmFibGVkKGJvb2wgYXJl
RW5hYmxlZCkgeyBtX2xhenlJbWFnZUxvYWRpbmdFbmFibGVkID0gYXJlRW5hYmxlZDsgfQotICAg
IGJvb2wgbGF6eUltYWdlTG9hZGluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2xhenlJbWFn
ZUxvYWRpbmdFbmFibGVkOyB9Ci0KICAgICB2b2lkIHNldENTU1NoYWRvd1BhcnRzRW5hYmxlZChi
b29sIGlzRW5hYmxlZCkgeyBtX2lzQ1NTU2hhZG93UGFydHNFbmFibGVkID0gaXNFbmFibGVkOyB9
CiAgICAgYm9vbCBjc3NTaGFkb3dQYXJ0c0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzQ1NT
U2hhZG93UGFydHNFbmFibGVkOyB9CiAKQEAgLTM3NywyMCArMjc0LDExIEBAIHB1YmxpYzoKICAg
ICBib29sIHNlY3VyZUNvbnRleHRDaGVja3NFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9zZWN1
cmVDb250ZXh0Q2hlY2tzRW5hYmxlZDsgfQogICAgIHZvaWQgc2V0U2VjdXJlQ29udGV4dENoZWNr
c0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9zZWN1cmVDb250ZXh0Q2hlY2tzRW5hYmxlZCA9
IGlzRW5hYmxlZDsgfQogCi0gICAgdm9pZCBzZXRJc0luQXBwQnJvd3NlclByaXZhY3lFbmFibGVk
KGJvb2wgaXNFbmFibGVkKSB7IG1faXNJbkFwcEJyb3dzZXJQcml2YWN5RW5hYmxlZCA9IGlzRW5h
YmxlZDsgfQotICAgIGJvb2wgaXNJbkFwcEJyb3dzZXJQcml2YWN5RW5hYmxlZCgpIGNvbnN0IHsg
cmV0dXJuIG1faXNJbkFwcEJyb3dzZXJQcml2YWN5RW5hYmxlZDsgfQotCi0gICAgdm9pZCBzZXRO
ZWVkc0luQXBwQnJvd3NlclByaXZhY3lRdWlya3MoYm9vbCBpc0VuYWJsZWQpIHsgbV9uZWVkc0lu
QXBwQnJvd3NlclByaXZhY3lRdWlya3MgPSBpc0VuYWJsZWQ7IH0KLSAgICBib29sIG5lZWRzSW5B
cHBCcm93c2VyUHJpdmFjeVF1aXJrcygpIGNvbnN0IHsgcmV0dXJuIG1fbmVlZHNJbkFwcEJyb3dz
ZXJQcml2YWN5UXVpcmtzOyB9Ci0KICNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9U
UkVFKQogICAgIHZvaWQgc2V0SXNBY2Nlc3NpYmlsaXR5SXNvbGF0ZWRUcmVlRW5hYmxlZChib29s
IGlzRW5hYmxlZCkgeyBtX2FjY2Vzc2liaWxpdHlJc29sYXRlZFRyZWUgPSBpc0VuYWJsZWQ7IH0K
ICAgICBib29sIGlzQWNjZXNzaWJpbGl0eUlzb2xhdGVkVHJlZUVuYWJsZWQoKSBjb25zdCB7IHJl
dHVybiBtX2FjY2Vzc2liaWxpdHlJc29sYXRlZFRyZWU7IH0KICNlbmRpZgogICAgIAotICAgIHZv
aWQgc2V0V2ViU2hhcmVGaWxlQVBJRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX3dlYlNoYXJl
RmlsZUFQSUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAgICBib29sIHdlYlNoYXJlRmlsZUFQSUVu
YWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3dlYlNoYXJlRmlsZUFQSUVuYWJsZWQ7IH0KLQogI2lm
IEhBVkUoSU5DUkVNRU5UQUxfUERGX0FQSVMpCiAgICAgdm9pZCBzZXRJbmNyZW1lbnRhbFBERkxv
YWRpbmdFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faW5jcmVtZW50YWxQREZMb2FkaW5nRW5h
YmxlZCA9IGlzRW5hYmxlZDsgfQogICAgIGJvb2wgaW5jcmVtZW50YWxQREZMb2FkaW5nRW5hYmxl
ZCgpIGNvbnN0IHsgcmV0dXJuIG1faW5jcmVtZW50YWxQREZMb2FkaW5nRW5hYmxlZDsgfQpAQCAt
NDA1LDI2ICsyOTMsMTUgQEAgcHJpdmF0ZToKICAgICAvLyBOZXZlciBpbnN0YW50aWF0ZS4KICAg
ICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzKCk7CiAKLSAgICBib29sIG1fYmxhbmtBbmNob3JUYXJn
ZXRJbXBsaWVzTm9PcGVuZXJFbmFibGVkIHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9hcmVNb2Rlcm5N
ZWRpYUNvbnRyb2xzRW5hYmxlZCB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX2lzTGlua1ByZWxvYWRF
bmFibGVkIHsgdHJ1ZSB9OwotICAgIGJvb2wgbV9pc0xpbmtQcmVmZXRjaEVuYWJsZWQgeyBmYWxz
ZSB9OwotICAgIGJvb2wgbV9pc01lZGlhUHJlbG9hZGluZ0VuYWJsZWQgeyBmYWxzZSB9OwogICAg
IGJvb2wgbV9pc1BhaW50VGltaW5nRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzUmVz
b3VyY2VUaW1pbmdFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNVc2VyVGltaW5nRW5h
YmxlZCB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX2lzSW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVu
YWJsZWQgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9pc1dlYkF1dGhlbnRpY2F0aW9uRW5hYmxlZCB7
IGZhbHNlIH07Ci0gICAgYm9vbCBtX2lzV2ViQXV0aGVudGljYXRpb25Mb2NhbEF1dGhlbnRpY2F0
b3JFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNTZWN1cmVDb250ZXh0QXR0cmlidXRl
RW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzU2hhZG93RE9NRW5hYmxlZCB7IHRydWUg
fTsKLSAgICBib29sIG1fYXJlQ3VzdG9tRWxlbWVudHNFbmFibGVkIHsgdHJ1ZSB9OwogICAgIGJv
b2wgbV9pc01lbnVJdGVtRWxlbWVudEVuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc0Rp
cmVjdG9yeVVwbG9hZEVuYWJsZWQgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9hcmVEYXRhVHJhbnNm
ZXJJdGVtc0VuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc0N1c3RvbVBhc3RlYm9hcmRE
YXRhRW5hYmxlZCB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX2lzV2ViU2hhcmVFbmFibGVkIHsgZmFs
c2UgfTsKLSAgICBib29sIG1faW5wdXRFdmVudHNFbmFibGVkIHsgdHJ1ZSB9OwogICAgIGJvb2wg
bV9hcmVXZWJBbmltYXRpb25zRW5hYmxlZCB7IHRydWUgfTsKICAgICBib29sIG1faXNXZWJBbmlt
YXRpb25zQ1NTSW50ZWdyYXRpb25FbmFibGVkIHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9hcmVXZWJB
bmltYXRpb25zQ29tcG9zaXRlT3BlcmF0aW9uc0VuYWJsZWQgeyBmYWxzZSB9OwpAQCAtNDQ4LDEw
ICszMjUsOCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9jcm9zc09yaWdpblJlc291cmNlUG9saWN5
RW5hYmxlZCB7IHRydWUgfTsKICAgICBib29sIG1faXNTZXJ2ZXJUaW1pbmdFbmFibGVkIHsgZmFs
c2UgfTsKICAgICBib29sIG1fZXhwZXJpbWVudGFsUGx1Z0luU2FuZGJveFByb2ZpbGVzRW5hYmxl
ZCB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX2Rpc2FibGVkQWRhcHRhdGlvbnNNZXRhVGFnRW5hYmxl
ZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2F0dHJTdHlsZUVuYWJsZWQgeyBmYWxzZSB9OwogICAg
IGJvb2wgbV93ZWJBUElTdGF0aXN0aWNzRW5hYmxlZCB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX0NT
U0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1f
c3ludGhldGljRWRpdGluZ0NvbW1hbmRzRW5hYmxlZCB7IHRydWUgfTsKICAgICBib29sIG1fZGlh
bG9nRWxlbWVudEVuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV93ZWJTUUxFbmFibGVkIHsg
ZmFsc2UgfTsKQEAgLTQ4MSwxMiArMzU2LDYgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAgICAgYm9v
bCBtX3VzZXJHZXN0dXJlUHJvbWlzZVByb3BhZ2F0aW9uRW5hYmxlZCB7IHRydWUgfTsKLSNpZiBF
TkFCTEUoTUVESUFfU1RSRUFNKQotICAgIGJvb2wgbV9pc01lZGlhUmVjb3JkZXJFbmFibGVkIHsg
ZmFsc2UgfTsKLSAgICBib29sIG1faXNNZWRpYURldmljZXNFbmFibGVkIHsgZmFsc2UgfTsKLSAg
ICBib29sIG1faXNNZWRpYVN0cmVhbUVuYWJsZWQgeyB0cnVlIH07Ci0gICAgYm9vbCBtX2lzU2Ny
ZWVuQ2FwdHVyZUVuYWJsZWQgeyBmYWxzZSB9OwotI2VuZGlmCiAKICNpZiBFTkFCTEUoV0VCX1JU
QykKICAgICBib29sIG1faXNXZWJSVENEVE1GRW5hYmxlZCB7IHRydWUgfTsKQEAgLTUwNywxMCAr
Mzc2LDYgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNEYXRhTGlzdEVsZW1lbnRFbmFibGVkIHsg
ZmFsc2UgfTsKICNlbmRpZgogCi0jaWYgRU5BQkxFKEdBTUVQQUQpCi0gICAgYm9vbCBtX2FyZUdh
bWVwYWRzRW5hYmxlZCB7IGZhbHNlIH07Ci0jZW5kaWYKLQogICAgIGJvb2wgbV9pc1JlYWRhYmxl
Qnl0ZVN0cmVhbUFQSUVuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc1dyaXRhYmxlU3Ry
ZWFtQVBJRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzVHJhbnNmb3JtU3RyZWFtQVBJ
RW5hYmxlZCB7IGZhbHNlIH07CkBAIC01MjcsMzkgKzM5MiwxNiBAQCBwcml2YXRlOgogICAgIGJv
b2wgbV9pc01hc2tXZWJHTFN0cmluZ3NFbmFibGVkIHsgZmFsc2UgfTsKICNlbmRpZgogCi0jaWYg
RU5BQkxFKERPV05MT0FEX0FUVFJJQlVURSkKLSAgICBib29sIG1faXNEb3dubG9hZEF0dHJpYnV0
ZUVuYWJsZWQgeyBmYWxzZSB9OwotI2VuZGlmCi0KLSNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElB
KQotICAgIGJvb2wgbV9lbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQgeyBmYWxzZSB9OwotI2VuZGlm
Ci0KLSNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkKLSAgICBib29sIG1fbGVnYWN5
RW5jcnlwdGVkTWVkaWFBUElFbmFibGVkIHsgdHJ1ZSB9OwotI2VuZGlmCi0KLSNpZiBFTkFCTEUo
SU5URVJTRUNUSU9OX09CU0VSVkVSKQotICAgIGJvb2wgbV9pbnRlcnNlY3Rpb25PYnNlcnZlckVu
YWJsZWQgeyBmYWxzZSB9OwotI2VuZGlmCi0KICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAg
ICAgYm9vbCBtX3NlcnZpY2VXb3JrZXJFbmFibGVkIHsgZmFsc2UgfTsKICNlbmRpZgogCi0jaWYg
VVNFKFNZU1RFTV9QUkVWSUVXKQotICAgIGJvb2wgbV9zeXN0ZW1QcmV2aWV3RW5hYmxlZCB7IGZh
bHNlIH07Ci0jZW5kaWYKLQotICAgIGJvb2wgbV91bmRvTWFuYWdlckFQSUVuYWJsZWQgeyBmYWxz
ZSB9OwotCiAgICAgYm9vbCBtX0NTU0xvZ2ljYWxFbmFibGVkIHsgZmFsc2UgfTsKIAogICAgIC8v
IEZhbHNlIGJ5IGRlZmF1bHQgdW50aWwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxMTM1MSAvCiAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy1kcmFm
dHMvaXNzdWVzLzMyNTcgaGF2ZSBiZWVuIHNvcnRlZCBvdXQuCiAgICAgYm9vbCBtX2xpbmVIZWln
aHRVbml0c0VuYWJsZWQgeyBmYWxzZSB9OwogCi0gICAgYm9vbCBtX2FkQ2xpY2tBdHRyaWJ1dGlv
bkVuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9hZENsaWNrQXR0cmlidXRpb25EZWJ1Z01v
ZGVFbmFibGVkIHsgZmFsc2UgfTsKIAogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCkBAIC01Njks
MjggKzQxMSwxNiBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBtX2lzSVRQRGF0YWJhc2VFbmFibGVk
IHsgdHJ1ZSB9OwogCi0gICAgYm9vbCBtX3JlZmVycmVyUG9saWN5QXR0cmlidXRlRW5hYmxlZCB7
IHRydWUgfTsKLSAgICBib29sIG1faW50ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5Q2hhbmdl
RW5hYmxlZCB7IGZhbHNlIH07Ci0KLSAgICBib29sIG1fbGlua1ByZWxvYWRSZXNwb25zaXZlSW1h
Z2VzRW5hYmxlZCB7IGZhbHNlIH07Ci0KICNpZiBIQVZFKE5TVVJMU0VTU0lPTl9XRUJTT0NLRVQp
CiAgICAgYm9vbCBtX2lzTlNVUkxTZXNzaW9uV2ViU29ja2V0RW5hYmxlZCB7IGZhbHNlIH07CiAj
ZW5kaWYKIAotICAgIGJvb2wgbV9sYXp5SW1hZ2VMb2FkaW5nRW5hYmxlZCB7IGZhbHNlIH07CiAg
ICAgYm9vbCBtX3NlY3VyZUNvbnRleHRDaGVja3NFbmFibGVkIHsgdHJ1ZSB9OwogICAgIGJvb2wg
bV9pc0NTU1NoYWRvd1BhcnRzRW5hYmxlZCB7IHRydWUgfTsKIAotICAgIGJvb2wgbV9pc0luQXBw
QnJvd3NlclByaXZhY3lFbmFibGVkIHsgZmFsc2UgfTsKLSAgICBib29sIG1fbmVlZHNJbkFwcEJy
b3dzZXJQcml2YWN5UXVpcmtzIHsgZmFsc2UgfTsKLQotICAgIGJvb2wgbV9sZWdhY3lCZWZvcmVM
b2FkRXZlbnRFbmFibGVkIHsgZmFsc2UgfTsKLQogI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lT
T0xBVEVEX1RSRUUpCiAgICAgYm9vbCBtX2FjY2Vzc2liaWxpdHlJc29sYXRlZFRyZWUgeyBmYWxz
ZSB9OwogI2VuZGlmCi0gICAgYm9vbCBtX3dlYlNoYXJlRmlsZUFQSUVuYWJsZWQgeyBmYWxzZSB9
OwogCiAjaWYgSEFWRShJTkNSRU1FTlRBTF9QREZfQVBJUykKICAgICBib29sIG1faW5jcmVtZW50
YWxQREZMb2FkaW5nRW5hYmxlZCB7IGZhbHNlIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLnlhbWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5n
cy55YW1sCShyZXZpc2lvbiAyNjYzNDEpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdz
LnlhbWwJKHdvcmtpbmcgY29weSkKQEAgLTIwNCw3ICsyMDQsNyBAQCBkb21UaW1lcnNUaHJvdHRs
aW5nRW5hYmxlZDoKICAgaW5pdGlhbDogdHJ1ZQogd2ViQXJjaGl2ZURlYnVnTW9kZUVuYWJsZWQ6
CiAgIGluaXRpYWw6IGZhbHNlCi0gIGNvbmRpdGlvbmFsOiBXRUJfQVJDSElWRQorICBjb25kaXRp
b25hbDogRU5BQkxFKFdFQl9BUkNISVZFKQogbG9jYWxGaWxlQ29udGVudFNuaWZmaW5nRW5hYmxl
ZDoKICAgaW5pdGlhbDogZmFsc2UKIG9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZDoK
QEAgLTIzNyw3ICsyMzcsNyBAQCBhY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlv
bkVuCiAgIGluaXRpYWw6IGRlZmF1bHRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yRml4ZWRQb3Np
dGlvbkVuYWJsZWQKIHJ1YmJlckJhbmRpbmdGb3JTdWJTY3JvbGxhYmxlUmVnaW9uc0VuYWJsZWQ6
CiAgIGluaXRpYWw6IHRydWUKLSAgY29uZGl0aW9uYWw6IFJVQkJFUl9CQU5ESU5HCisgIGNvbmRp
dGlvbmFsOiBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpCiAKIGV4cGVyaW1lbnRhbE5vdGlmaWNhdGlv
bnNFbmFibGVkOgogICBpbml0aWFsOiBmYWxzZQpAQCAtMjYzLDcgKzI2Myw3IEBAIHBhZ2luYXRl
RHVyaW5nTGF5b3V0RW5hYmxlZDoKICAgaW5pdGlhbDogZmFsc2UKIGZ1bGxTY3JlZW5FbmFibGVk
OgogICBpbml0aWFsOiBmYWxzZQotICBjb25kaXRpb25hbDogRlVMTFNDUkVFTl9BUEkKKyAgY29u
ZGl0aW9uYWw6IEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKIGFzeW5jaHJvbm91c1NwZWxsQ2hlY2tp
bmdFbmFibGVkOgogICBpbml0aWFsOiBmYWxzZQogCkBAIC0zMjIsMjYgKzMyMiwyNiBAQCBiYWNr
c3BhY2VLZXlOYXZpZ2F0aW9uRW5hYmxlZDoKICAgaW5pdGlhbDogdHJ1ZQogc2hvdWxkRGlzcGxh
eVN1YnRpdGxlczoKICAgaW5pdGlhbDogZmFsc2UKLSAgY29uZGl0aW9uYWw6IFZJREVPCisgIGNv
bmRpdGlvbmFsOiBFTkFCTEUoVklERU8pCiBzaG91bGREaXNwbGF5Q2FwdGlvbnM6CiAgIGluaXRp
YWw6IGZhbHNlCi0gIGNvbmRpdGlvbmFsOiBWSURFTworICBjb25kaXRpb25hbDogRU5BQkxFKFZJ
REVPKQogc2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnM6CiAgIGluaXRpYWw6IGZhbHNlCi0g
IGNvbmRpdGlvbmFsOiBWSURFTworICBjb25kaXRpb25hbDogRU5BQkxFKFZJREVPKQogZ2VuZXJp
Y0N1ZUFQSUVuYWJsZWQ6CiAgIGluaXRpYWw6IGZhbHNlCi0gIGNvbmRpdGlvbmFsOiBWSURFTwor
ICBjb25kaXRpb25hbDogRU5BQkxFKFZJREVPKQogdXNlR1BVUHJvY2Vzc0Zvck1lZGlhOgogICBp
bml0aWFsOiBmYWxzZQotICBjb25kaXRpb25hbDogR1BVX1BST0NFU1MKKyAgY29uZGl0aW9uYWw6
IEVOQUJMRShHUFVfUFJPQ0VTUykKIHNjcm9sbGluZ0Nvb3JkaW5hdG9yRW5hYmxlZDoKICAgaW5p
dGlhbDogZmFsc2UKIHNjcm9sbGluZ1RyZWVJbmNsdWRlc0ZyYW1lczoKICAgaW5pdGlhbDogZGVm
YXVsdFNjcm9sbGluZ1RyZWVJbmNsdWRlc0ZyYW1lcwogc2Nyb2xsQW5pbWF0b3JFbmFibGVkOgog
ICBpbml0aWFsOiB0cnVlCi0gIGNvbmRpdGlvbmFsOiBTTU9PVEhfU0NST0xMSU5HCisgIGNvbmRp
dGlvbmFsOiBFTkFCTEUoU01PT1RIX1NDUk9MTElORykKIGZvcmNlVXBkYXRlU2Nyb2xsYmFyc09u
TWFpblRocmVhZEZvclBlcmZvcm1hbmNlVGVzdGluZzoKICAgaW5pdGlhbDogZmFsc2UKIG5vdGlm
aWNhdGlvbnNFbmFibGVkOgpAQCAtNDI4LDcgKzQyOCw3IEBAIGNvcmVJbWFnZUFjY2VsZXJhdGVk
RmlsdGVyUmVuZGVyRW5hYmxlZDoKIGxlZ2FjeU92ZXJmbG93U2Nyb2xsaW5nVG91Y2hFbmFibGVk
OgogICBpbml0aWFsOiB0cnVlCiAgIG9uQ2hhbmdlOiBzZXROZWVkc1JlbGF5b3V0QWxsRnJhbWVz
Ci0gIGNvbmRpdGlvbmFsOiBPVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gKKyAgY29uZGl0aW9uYWw6
IEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpCiAKIHdlYlNlY3VyaXR5RW5hYmxlZDoK
ICAgaW5pdGlhbDogdHJ1ZQpAQCAtNDY4LDIyICs0NjgsMjIgQEAgZml4ZWRCYWNrZ3JvdW5kc1Bh
aW50UmVsYXRpdmVUb0RvY3VtZW50OgogdGV4dEF1dG9zaXppbmdFbmFibGVkOgogICBpbml0aWFs
OiBkZWZhdWx0VGV4dEF1dG9zaXppbmdFbmFibGVkKCkKICAgb25DaGFuZ2U6IHNldE5lZWRzUmVj
YWxjU3R5bGVJbkFsbEZyYW1lcwotICBjb25kaXRpb25hbDogVEVYVF9BVVRPU0laSU5HCisgIGNv
bmRpdGlvbmFsOiBFTkFCTEUoVEVYVF9BVVRPU0laSU5HKQogdGV4dEF1dG9zaXppbmdXaW5kb3dT
aXplT3ZlcnJpZGU6CiAgIHR5cGU6IEludFNpemUKICAgb25DaGFuZ2U6IHNldE5lZWRzUmVjYWxj
U3R5bGVJbkFsbEZyYW1lcwotICBjb25kaXRpb25hbDogVEVYVF9BVVRPU0laSU5HCisgIGNvbmRp
dGlvbmFsOiBFTkFCTEUoVEVYVF9BVVRPU0laSU5HKQogbWluaW11bVpvb21Gb250U2l6ZToKICAg
dHlwZTogZmxvYXQKICAgaW5pdGlhbDogZGVmYXVsdE1pbmltdW1ab29tRm9udFNpemUoKQotICBj
b25kaXRpb25hbDogVEVYVF9BVVRPU0laSU5HCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoVEVYVF9B
VVRPU0laSU5HKQogdGV4dEF1dG9zaXppbmdVc2VzSWRlbXBvdGVudE1vZGU6CiAgIGluaXRpYWw6
IGZhbHNlCiAgIG9uQ2hhbmdlOiBzZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMKLSAgY29u
ZGl0aW9uYWw6IFRFWFRfQVVUT1NJWklORworICBjb25kaXRpb25hbDogRU5BQkxFKFRFWFRfQVVU
T1NJWklORykKIGlkZW1wb3RlbnRNb2RlQXV0b3NpemluZ09ubHlIb25vcnNQZXJjZW50YWdlczoK
ICAgaW5pdGlhbDogZmFsc2UKLSAgY29uZGl0aW9uYWw6IFRFWFRfQVVUT1NJWklORworICBjb25k
aXRpb25hbDogRU5BQkxFKFRFWFRfQVVUT1NJWklORykKICAgIyBUaGlzIGlzIG9ubHkgc2V0IGJl
Zm9yZSB0aGUgbWFpbiBmcmFtZSBsb2FkLCBzbyB0aGVyZSdzIG5vIG5lZWQgdG8gc3BlY2lmeSBz
ZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMuCiAKIHN1YnBpeGVsQW50aWFsaWFzZWRMYXll
clRleHRFbmFibGVkOgpAQCAtNTA3LDExICs1MDcsMTEgQEAgdXNlR2lhbnRUaWxlczoKIAogbWVk
aWFTb3VyY2VFbmFibGVkOgogICBpbml0aWFsOiBwbGF0Zm9ybURlZmF1bHRNZWRpYVNvdXJjZUVu
YWJsZWQoKQotICBjb25kaXRpb25hbDogTUVESUFfU09VUkNFCisgIGNvbmRpdGlvbmFsOiBFTkFC
TEUoTUVESUFfU09VUkNFKQogCiBzb3VyY2VCdWZmZXJDaGFuZ2VUeXBlRW5hYmxlZDoKICAgaW5p
dGlhbDogdHJ1ZQotICBjb25kaXRpb25hbDogTUVESUFfU09VUkNFCisgIGNvbmRpdGlvbmFsOiBF
TkFCTEUoTUVESUFfU09VUkNFKQogCiAjIEZJWE1FOiBSZW5hbWUgdG8gYWxsb3dNdWx0aUVsZW1l
bnRJbXBsaWNpdEZvcm1TdWJtaXNzaW9uIG9uY2Ugd2UgdXBzdHJlYW0gdGhlIGlPUyBjaGFuZ2Vz
IHRvIFdlYlZpZXcubW0uCiBhbGxvd011bHRpRWxlbWVudEltcGxpY2l0U3VibWlzc2lvbjoKQEAg
LTUxOSwxMSArNTE5LDExIEBAIGFsbG93TXVsdGlFbGVtZW50SW1wbGljaXRTdWJtaXNzaW9uOgog
CiBhbGxvd3NBaXJQbGF5Rm9yTWVkaWFQbGF5YmFjazoKICAgaW5pdGlhbDogdHJ1ZQotICBjb25k
aXRpb25hbDogV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUo
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQogCiByZW1vdGVQbGF5YmFja0VuYWJsZWQ6CiAgIGlu
aXRpYWw6IHRydWUKLSAgY29uZGl0aW9uYWw6IFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVAorICBj
b25kaXRpb25hbDogRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkKIAogc2hvdWxkQ29u
dmVydFBvc2l0aW9uU3R5bGVPbkNvcHk6CiAgIGluaXRpYWw6IGZhbHNlCkBAIC01NDEsNyArNTQx
LDcgQEAgYWx3YXlzVXNlQWNjZWxlcmF0ZWRPdmVyZmxvd1Njcm9sbDoKICAgaW5pdGlhbDogZmFs
c2UKIGltYWdlQ29udHJvbHNFbmFibGVkOgogICBpbml0aWFsOiBmYWxzZQotICBjb25kaXRpb25h
bDogU0VSVklDRV9DT05UUk9MUworICBjb25kaXRpb25hbDogRU5BQkxFKFNFUlZJQ0VfQ09OVFJP
TFMpCiAKIGVuYWJsZUluaGVyaXRVUklRdWVyeUNvbXBvbmVudDoKICAgaW5pdGlhbDogZmFsc2UK
QEAgLTU1NiwxOCArNTU2LDE4IEBAIHVzZUltYWdlRG9jdW1lbnRGb3JTdWJmcmFtZVBERjoKIGRh
dGFEZXRlY3RvclR5cGVzOgogICB0eXBlOiBEYXRhRGV0ZWN0b3JUeXBlcwogICBpbml0aWFsOiAK
LSAgY29uZGl0aW9uYWw6IERBVEFfREVURUNUSU9OCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoREFU
QV9ERVRFQ1RJT04pCiAKICMgQWxsb3cgU291cmNlQnVmZmVycyB0byBzdG9yZSB1cCB0byAzMDRN
QiBlYWNoLCBlbm91Z2ggZm9yIGFwcHJveGltYXRlbHkgZml2ZSBtaW51dGVzCiAjIG9mIDEwODBw
IHZpZGVvIGFuZCBzdGVyZW8gYXVkaW8uCiBtYXhpbXVtU291cmNlQnVmZmVyU2l6ZToKICAgdHlw
ZTogaW50CiAgIGluaXRpYWw6IDMxODc2NzEwNAotICBjb25kaXRpb25hbDogTUVESUFfU09VUkNF
CisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoTUVESUFfU09VUkNFKQogCiBzZXJ2aWNlQ29udHJvbHNF
bmFibGVkOgogICBpbml0aWFsOiBmYWxzZQotICBjb25kaXRpb25hbDogU0VSVklDRV9DT05UUk9M
UworICBjb25kaXRpb25hbDogRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCiAKIGFwcGxlTWFpbFBh
Z2luYXRpb25RdWlya0VuYWJsZWQ6CiAgIGluaXRpYWw6IGZhbHNlCkBAIC02MjYsNyArNjI2LDYg
QEAgbGF5b3V0Vmlld3BvcnRIZWlnaHRFeHBhbnNpb25GYWN0b3I6CiAgIGluaXRpYWw6IDAKICAg
b25DaGFuZ2U6IHNldE5lZWRzUmVjYWxjU3R5bGVJbkFsbEZyYW1lcwogCi0jIFJ1bnRpbWUtZW5h
YmxlZCBmZWF0dXJlcwogdmlzdWFsVmlld3BvcnRFbmFibGVkOgogICBpbml0aWFsOiB0cnVlCiAg
IG9uQ2hhbmdlOiBzZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMKQEAgLTcyMCwxNiArNzE5
LDE2IEBAIHNob3VsZElnbm9yZUZvbnRMb2FkQ29tcGxldGlvbnM6CiAgIGluaXRpYWw6IGZhbHNl
CiAKIGFwcGxlUGF5Q2FwYWJpbGl0eURpc2Nsb3N1cmVBbGxvd2VkOgotICBjb25kaXRpb25hbDog
QVBQTEVfUEFZCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoQVBQTEVfUEFZKQogICBpbml0aWFsOiB0
cnVlCiBhcHBsZVBheUVuYWJsZWQ6Ci0gIGNvbmRpdGlvbmFsOiBBUFBMRV9QQVkKKyAgY29uZGl0
aW9uYWw6IEVOQUJMRShBUFBMRV9QQVkpCiAgIGluaXRpYWw6IGRlZmF1bHRBcHBsZVBheUVuYWJs
ZWQKIGFwcGxlUGF5UmVtb3RlVUlFbmFibGVkOgotICBjb25kaXRpb25hbDogQVBQTEVfUEFZX1JF
TU9URV9VSQorICBjb25kaXRpb25hbDogRU5BQkxFKEFQUExFX1BBWV9SRU1PVEVfVUkpCiAgIGlu
aXRpYWw6IHRydWUKIHBheW1lbnRSZXF1ZXN0RW5hYmxlZDoKLSAgY29uZGl0aW9uYWw6IFBBWU1F
TlRfUkVRVUVTVAorICBjb25kaXRpb25hbDogRU5BQkxFKFBBWU1FTlRfUkVRVUVTVCkKICAgaW5p
dGlhbDogZmFsc2UKIAogamF2YUVuYWJsZWQ6CkBAIC03OTksNyArNzk4LDcgQEAgc2hvdWxkQWxs
b3dVc2VySW5zdGFsbGVkRm9udHM6CiAKIHJlc2l6ZU9ic2VydmVyRW5hYmxlZDoKICAgaW5pdGlh
bDogZmFsc2UKLSAgY29uZGl0aW9uYWw6IFJFU0laRV9PQlNFUlZFUgorICBjb25kaXRpb25hbDog
RU5BQkxFKFJFU0laRV9PQlNFUlZFUikKIAogIyBPbmx5IHNldCBieSBMYXlvdXQgVGVzdHMuCiBt
ZWRpYVR5cGVPdmVycmlkZToKQEAgLTgyOSw3ICs4MjgsNyBAQCBleHBvc2VTcGVha2Vyc0VuYWJs
ZWQ6CiAKIG1lZGlhRGV2aWNlSWRlbnRpZmllclN0b3JhZ2VEaXJlY3Rvcnk6CiAgIHR5cGU6IFN0
cmluZwotICBjb25kaXRpb25hbDogTUVESUFfU1RSRUFNCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUo
TUVESUFfU1RSRUFNKQogCiAjIEZJWE1FOiBUaGlzIHF1aXJrIGlzIG5lZWRlZCBiZWNhdXNlIG9m
IFJhZGFyIDQ2NzQ1MzcgYW5kIDUyMTEyNzEuIFdlIG5lZWQgdG8gcGhhc2UgaXQgb3V0IG9uY2Ug
QWRvYmUKICMgY2FuIGZpeCB0aGUgYnVnIGZyb20gdGhlaXIgZW5kLgpAQCAtODQzLDIyICs4NDIs
MjIgQEAgcGFzc2l2ZVRvdWNoTGlzdGVuZXJzQXNEZWZhdWx0T25Eb2N1bWVudAogdG91Y2hFdmVu
dEVtdWxhdGlvbkVuYWJsZWQ6CiAgIGluaXRpYWw6IGZhbHNlCiAgIGdldHRlcjogaXNUb3VjaEV2
ZW50RW11bGF0aW9uRW5hYmxlZAotICBjb25kaXRpb25hbDogVE9VQ0hfRVZFTlRTCisgIGNvbmRp
dGlvbmFsOiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQogCiBkZXZpY2VPcmllbnRhdGlvbkV2ZW50RW5h
YmxlZDoKICAgdHlwZTogYm9vbAogICBpbml0aWFsOiB0cnVlCi0gIGNvbmRpdGlvbmFsOiBERVZJ
Q0VfT1JJRU5UQVRJT04KKyAgY29uZGl0aW9uYWw6IEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04p
CiAKIGRldmljZU9yaWVudGF0aW9uUGVybWlzc2lvbkFQSUVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wK
ICAgaW5pdGlhbDogZmFsc2UKLSAgY29uZGl0aW9uYWw6IERFVklDRV9PUklFTlRBVElPTgorICBj
b25kaXRpb25hbDogRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKIAogc2hvdWxkRW5hYmxlVGV4
dEF1dG9zaXppbmdCb29zdDoKICAgdHlwZTogYm9vbAogICBpbml0aWFsOiBmYWxzZQotICBjb25k
aXRpb25hbDogVEVYVF9BVVRPU0laSU5HCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoVEVYVF9BVVRP
U0laSU5HKQogICBvbkNoYW5nZTogc2hvdWxkRW5hYmxlVGV4dEF1dG9zaXppbmdCb29zdENoYW5n
ZWQKIAogbWVkaWFDYXBhYmlsaXRpZXNFbmFibGVkOgpAQCAtODg3LDcgKzg4Niw3IEBAIHNob3Vs
ZElnbm9yZU1ldGFWaWV3cG9ydDoKIAogdmlkZW9RdWFsaXR5SW5jbHVkZXNEaXNwbGF5Q29tcG9z
aXRpbmdFbmFibGVkOgogICBpbml0aWFsOiBmYWxzZQotICBjb25kaXRpb25hbDogVklERU8KKyAg
Y29uZGl0aW9uYWw6IEVOQUJMRShWSURFTykKIAogZWRpdGFibGVJbWFnZXNFbmFibGVkOgogICBp
bml0aWFsOiBmYWxzZQpAQCAtOTQxLDExICs5NDAsMTMgQEAgZW50ZXJLZXlIaW50RW5hYmxlZDoK
IAogbGVnYWN5R2V0VXNlck1lZGlhRW5hYmxlZDoKICAgaW5pdGlhbDogZmFsc2UKLSAgY29uZGl0
aW9uYWw6IE1FRElBX1NUUkVBTQorICBjb25kaXRpb25hbDogRU5BQkxFKE1FRElBX1NUUkVBTSkK
IAorIyBGSVhNRTogU2VlbXMgdG8gYmUgdW51c2VkLiBSZW1vdmUgb25jZSB2ZXJpZmllZC4KIGlz
SW5BcHBCcm93c2VyUHJpdmFjeUVuYWJsZWQ6CiAgIGluaXRpYWw6IGZhbHNlCiAKKyMgRklYTUU6
IFNlZW1zIHRvIGJlIHVudXNlZC4gUmVtb3ZlIG9uY2UgdmVyaWZpZWQuCiBOZWVkc0luQXBwQnJv
d3NlclByaXZhY3lRdWlya3M6CiAgIGluaXRpYWw6IGZhbHNlCiAKQEAgLTk1NywzMSArOTU4LDEy
NiBAQCBhc3BlY3RSYXRpb09mSW1nRnJvbVdpZHRoQW5kSGVpZ2h0RW5hYmxlCiAKIGlucHV0VHlw
ZUNvbG9yRW5hYmxlZDoKICAgaW5pdGlhbDogZmFsc2UKLSAgY29uZGl0aW9uYWw6IElOUFVUX1RZ
UEVfQ09MT1IKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQogCiBpbnB1
dFR5cGVEYXRlRW5hYmxlZDoKICAgaW5pdGlhbDogZmFsc2UKLSAgY29uZGl0aW9uYWw6IElOUFVU
X1RZUEVfREFURQorICBjb25kaXRpb25hbDogRU5BQkxFKElOUFVUX1RZUEVfREFURSkKIAogaW5w
dXRUeXBlRGF0ZVRpbWVMb2NhbEVuYWJsZWQ6CiAgIGluaXRpYWw6IGZhbHNlCi0gIGNvbmRpdGlv
bmFsOiBJTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShJTlBV
VF9UWVBFX0RBVEVUSU1FTE9DQUwpCiAKIGlucHV0VHlwZU1vbnRoRW5hYmxlZDoKICAgaW5pdGlh
bDogZmFsc2UKLSAgY29uZGl0aW9uYWw6IElOUFVUX1RZUEVfTU9OVEgKKyAgY29uZGl0aW9uYWw6
IEVOQUJMRShJTlBVVF9UWVBFX01PTlRIKQogCiBpbnB1dFR5cGVUaW1lRW5hYmxlZDoKICAgaW5p
dGlhbDogZmFsc2UKLSAgY29uZGl0aW9uYWw6IElOUFVUX1RZUEVfVElNRQorICBjb25kaXRpb25h
bDogRU5BQkxFKElOUFVUX1RZUEVfVElNRSkKIAogaW5wdXRUeXBlV2Vla0VuYWJsZWQ6CiAgIGlu
aXRpYWw6IGZhbHNlCi0gIGNvbmRpdGlvbmFsOiBJTlBVVF9UWVBFX1dFRUsKKyAgY29uZGl0aW9u
YWw6IEVOQUJMRShJTlBVVF9UWVBFX1dFRUspCiAKIGRhdGVUaW1lSW5wdXRzRWRpdGFibGVDb21w
b25lbnRzRW5hYmxlZDoKICAgaW5pdGlhbDogZmFsc2UKLSAgY29uZGl0aW9uYWw6IERBVEVfQU5E
X1RJTUVfSU5QVVRfVFlQRVMKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShEQVRFX0FORF9USU1FX0lO
UFVUX1RZUEVTKQorCitibGFua0FuY2hvclRhcmdldEltcGxpZXNOb09wZW5lckVuYWJsZWQ6Cisg
IGluaXRpYWw6IHRydWUKKworbGlua1ByZWxvYWRFbmFibGVkOgorICBpbml0aWFsOiB0cnVlCisK
K2xpbmtQcmVmZXRjaEVuYWJsZWQ6CisgIGluaXRpYWw6IGZhbHNlCisKK2xpbmtQcmVsb2FkUmVz
cG9uc2l2ZUltYWdlc0VuYWJsZWQ6CisgIGluaXRpYWw6IGZhbHNlCisKK2Rpc2FibGVkQWRhcHRh
dGlvbnNNZXRhVGFnRW5hYmxlZDoKKyAgaW5pdGlhbDogZmFsc2UKKworbGF6eUltYWdlTG9hZGlu
Z0VuYWJsZWQ6CisgIGluaXRpYWw6IGZhbHNlCisKK3JlZmVycmVyUG9saWN5QXR0cmlidXRlRW5h
YmxlZDoKKyAgaW5pdGlhbDogdHJ1ZQorCitjdXN0b21FbGVtZW50c0VuYWJsZWQ6CisgIGluaXRp
YWw6IHRydWUKKworZGF0YVRyYW5zZmVySXRlbXNFbmFibGVkOgorICBpbml0aWFsOiBmYWxzZQor
Cit3ZWJBdXRoZW50aWNhdGlvbkVuYWJsZWQ6CisgIGluaXRpYWw6IGZhbHNlCisKK3dlYkF1dGhl
bnRpY2F0aW9uTG9jYWxBdXRoZW50aWNhdG9yRW5hYmxlZDoKKyAgaW5pdGlhbDogZmFsc2UKKwor
IyBGSVhNRTogU2VlbXMgdG8gYmUgdW51c2VkLiBSZW1vdmUgb25jZSB2ZXJpZmllZC4KK21lZGlh
U3RyZWFtRW5hYmxlZDoKKyAgaW5pdGlhbDogdHJ1ZQorICBjb25kaXRpb25hbDogRU5BQkxFKE1F
RElBX1NUUkVBTSkKKworbWVkaWFSZWNvcmRlckVuYWJsZWQ6CisgIGluaXRpYWw6IGZhbHNlCisg
IGNvbmRpdGlvbmFsOiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCittZWRpYURldmljZXNFbmFibGVk
OgorICBpbml0aWFsOiBmYWxzZQorICBjb25kaXRpb25hbDogRU5BQkxFKE1FRElBX1NUUkVBTSkK
Kworc2NyZWVuQ2FwdHVyZUVuYWJsZWQ6CisgIGluaXRpYWw6IGZhbHNlCisgIGNvbmRpdGlvbmFs
OiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCitnYW1lcGFkc0VuYWJsZWQ6CisgIGluaXRpYWw6IGZh
bHNlCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoR0FNRVBBRCkKKworY3NzQ3VzdG9tUHJvcGVydGll
c0FuZFZhbHVlc0VuYWJsZWQ6CisgIGluaXRpYWw6IGZhbHNlCisKK3dlYlNoYXJlRW5hYmxlZDoK
KyAgaW5pdGlhbDogZmFsc2UKKword2ViU2hhcmVGaWxlQVBJRW5hYmxlZDoKKyAgaW5pdGlhbDog
ZmFsc2UKKwordW5kb01hbmFnZXJBUElFbmFibGVkOgorICBpbml0aWFsOiBmYWxzZQorCitpbnRl
cnNlY3Rpb25PYnNlcnZlckVuYWJsZWQ6CisgIGluaXRpYWw6IGZhbHNlCisgIGNvbmRpdGlvbmFs
OiBFTkFCTEUoSU5URVJTRUNUSU9OX09CU0VSVkVSKQorCitkb3dubG9hZEF0dHJpYnV0ZUVuYWJs
ZWQ6CisgIGluaXRpYWw6IGZhbHNlCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoRE9XTkxPQURfQVRU
UklCVVRFKQorCitzeXN0ZW1QcmV2aWV3RW5hYmxlZDoKKyAgaW5pdGlhbDogZmFsc2UKKyAgY29u
ZGl0aW9uYWw6IFVTRShTWVNURU1fUFJFVklFVykKKworaW50ZXJydXB0QXVkaW9PblBhZ2VWaXNp
YmlsaXR5Q2hhbmdlRW5hYmxlZDoKKyAgaW5pdGlhbDogZmFsc2UKKyAgY29uZGl0aW9uYWw6IEVO
QUJMRShNRURJQV9TVFJFQU0pCisKK2VuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZDoKKyAgaW50aWlh
bDogZmFsc2UKKyAgY29uZGl0aW9uYTogRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKworbGVnYWN5
RW5jcnlwdGVkTWVkaWFBUElFbmFibGVkOgorICBpbnRpaWFsOiB0cnVlCisgIGNvbmRpdGlvbmE6
IEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQorCisjIEZJTVhFOiBUaGlzIGRvZXMgbm90
IGFwcGVhciB0byBldmVyIGJlIHNldCB0byB0cnVlLiBSZW1vdmUgb25jZSB2ZXJpZmllZC4KK2xl
Z2FjeUJlZm9yZUxvYWRFdmVudEVuYWJsZWQ6CisgIGluaXRpYWw6IGZhbHNlCisKIAogaXNQb3N0
TG9hZENQVVVzYWdlTWVhc3VyZW1lbnRFbmFibGVkOgogICBpbml0aWFsOiBkZWZhdWx0UG9zdExv
YWRDUFVVc2FnZU1lYXN1cmVtZW50RW5hYmxlZApAQCAtMTAwNywxMyArMTEwMywxMyBAQCBpY2VD
YW5kaWRhdGVGaWx0ZXJpbmdFbmFibGVkOgogCiBtb2NrQ2FwdHVyZURldmljZXNFbmFibGVkOgog
ICBpbml0aWFsOiBmYWxzZQotICBjb25kaXRpb25hbDogTUVESUFfU1RSRUFNCisgIGNvbmRpdGlv
bmFsOiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICBvbkNoYW5nZTogbW9ja0NhcHR1cmVEZXZpY2Vz
RW5hYmxlZENoYW5nZWQKICAgaW5zcGVjdG9yT3ZlcnJpZGU6IHRydWUKIAogbWVkaWFDYXB0dXJl
UmVxdWlyZXNTZWN1cmVDb25uZWN0aW9uOgogICBpbml0aWFsOiB0cnVlCi0gIGNvbmRpdGlvbmFs
OiBNRURJQV9TVFJFQU0KKyAgY29uZGl0aW9uYWw6IEVOQUJMRShNRURJQV9TVFJFQU0pCiAgIGlu
c3BlY3Rvck92ZXJyaWRlOiB0cnVlCiAKIHNob3VsZFVzZVNlcnZpY2VXb3JrZXJTaG9ydFRpbWVv
dXQ6CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1VuZG9JdGVtLmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wYWdlL1VuZG9JdGVtLmlkbAkocmV2aXNpb24gMjY2MzQxKQorKysg
U291cmNlL1dlYkNvcmUvcGFnZS9VbmRvSXRlbS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI0LDcg
KzI0LDcgQEAKICAqLwogCiBbCi0gICAgRW5hYmxlZEF0UnVudGltZT1VbmRvTWFuYWdlckFQSSwK
KyAgICBFbmFibGVkQnlTZXR0aW5nPVVuZG9NYW5hZ2VyQVBJLAogXSBkaWN0aW9uYXJ5IFVuZG9J
dGVtSW5pdCB7CiAgICAgcmVxdWlyZWQgRE9NU3RyaW5nIGxhYmVsOwogICAgIHJlcXVpcmVkIFZv
aWRDYWxsYmFjayB1bmRvOwpAQCAtMzIsNyArMzIsNyBAQAogfTsKIAogWwotICAgIEVuYWJsZWRB
dFJ1bnRpbWU9VW5kb01hbmFnZXJBUEksCisgICAgRW5hYmxlZEJ5U2V0dGluZz1VbmRvTWFuYWdl
ckFQSSwKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEpTQ3VzdG9tTWFya0Z1
bmN0aW9uLAogICAgIEN1c3RvbUlzUmVhY2hhYmxlLApJbmRleDogU291cmNlL1dlYkNvcmUvcGFn
ZS9VbmRvTWFuYWdlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9VbmRv
TWFuYWdlci5pZGwJKHJldmlzaW9uIDI2NjM0MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvVW5k
b01hbmFnZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3ICsyNCw3IEBACiAgKi8KIAogWwot
ICAgIEVuYWJsZWRBdFJ1bnRpbWU9VW5kb01hbmFnZXJBUEksCisgICAgRW5hYmxlZEJ5U2V0dGlu
Zz1VbmRvTWFuYWdlckFQSSwKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEdl
bmVyYXRlSXNSZWFjaGFibGU9SW1wbERvY3VtZW50LAogXSBpbnRlcmZhY2UgVW5kb01hbmFnZXIg
ewpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCShyZXZpc2lv
biAyNjYzNDEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC03MTAsNyArNzEwLDcgQEAgSW1hZ2VEcmF3UmVzdWx0IFJlbmRlcklt
YWdlOjpwYWludEludG9SZQogICAgICAgICBpbWFnZVJlc291cmNlKCkuY2FjaGVkSW1hZ2UoKS0+
YWRkQ2xpZW50V2FpdGluZ0ZvckFzeW5jRGVjb2RpbmcoKnRoaXMpOwogCiAjaWYgVVNFKFNZU1RF
TV9QUkVWSUVXKQotICAgIGlmIChpbWFnZUVsZW1lbnQgJiYgaW1hZ2VFbGVtZW50LT5pc1N5c3Rl
bVByZXZpZXdJbWFnZSgpICYmIGRyYXdSZXN1bHQgPT0gSW1hZ2VEcmF3UmVzdWx0OjpEaWREcmF3
ICYmIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc3lzdGVtUHJldmll
d0VuYWJsZWQoKSkKKyAgICBpZiAoaW1hZ2VFbGVtZW50ICYmIGltYWdlRWxlbWVudC0+aXNTeXN0
ZW1QcmV2aWV3SW1hZ2UoKSAmJiBkcmF3UmVzdWx0ID09IEltYWdlRHJhd1Jlc3VsdDo6RGlkRHJh
dyAmJiBpbWFnZUVsZW1lbnQtPmRvY3VtZW50KCkuc2V0dGluZ3MoKS5zeXN0ZW1QcmV2aWV3RW5h
YmxlZCgpKQogICAgICAgICB0aGVtZSgpLnBhaW50U3lzdGVtUHJldmlld0JhZGdlKCppbWcsIHBh
aW50SW5mbywgcmVjdCk7CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbFNldHRpbmdzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFsU2V0dGluZ3MuY3BwCShyZXZpc2lvbiAyNjYzNDEpCisrKyBTb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTYsOSAr
MTE2LDYgQEAgSW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpCYWNrdXAoU2V0dGluZwogI2lmIEVO
QUJMRShXRUJHTDIpCiAgICAgLCBtX3dlYkdMMkVuYWJsZWQoUnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2hhcmVkRmVhdHVyZXMoKS53ZWJHTDJFbmFibGVkKCkpCiAjZW5kaWYKLSNpZiBFTkFCTEUo
TUVESUFfU1RSRUFNKQotICAgICwgbV9zZXRTY3JlZW5DYXB0dXJlRW5hYmxlZChSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNjcmVlbkNhcHR1cmVFbmFibGVkKCkpCi0j
ZW5kaWYKICAgICAsIG1fZmV0Y2hBUElLZWVwQWxpdmVBUElFbmFibGVkKFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuZmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKCkpCiAg
ICAgLCBtX3Nob3VsZE1vY2tCb2xkU3lzdGVtRm9udEZvckFjY2Vzc2liaWxpdHkoUmVuZGVyVGhl
bWU6OnNpbmdsZXRvbigpLnNob3VsZE1vY2tCb2xkU3lzdGVtRm9udEZvckFjY2Vzc2liaWxpdHko
KSkKICNpZiBVU0UoQVVESU9fU0VTU0lPTikKQEAgLTIyMCw5ICsyMTcsNiBAQCB2b2lkIEludGVy
bmFsU2V0dGluZ3M6OkJhY2t1cDo6cmVzdG9yZVRvCiAjaWYgRU5BQkxFKFdFQkdMMikKICAgICBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFdlYkdMMkVuYWJsZWQo
bV93ZWJHTDJFbmFibGVkKTsKICNlbmRpZgotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0gICAg
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRTY3JlZW5DYXB0dXJl
RW5hYmxlZChtX3NldFNjcmVlbkNhcHR1cmVFbmFibGVkKTsKLSNlbmRpZgogICAgIFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFi
bGVkKG1fZmV0Y2hBUElLZWVwQWxpdmVBUElFbmFibGVkKTsKICAgICBSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEN1c3RvbVBhc3RlYm9hcmREYXRhRW5hYmxlZCht
X2N1c3RvbVBhc3RlYm9hcmREYXRhRW5hYmxlZCk7CiAKQEAgLTgxNCwxNSArODA4LDYgQEAgdm9p
ZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRXZWJHUFVFbmFibGVkKAogI2VuZGlmCiB9CiAKLXZvaWQg
SW50ZXJuYWxTZXR0aW5nczo6c2V0U2NyZWVuQ2FwdHVyZUVuYWJsZWQoYm9vbCBlbmFibGVkKQot
ewotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS5zZXRTY3JlZW5DYXB0dXJlRW5hYmxlZChlbmFibGVkKTsKLSNlbHNl
Ci0gICAgVU5VU0VEX1BBUkFNKGVuYWJsZWQpOwotI2VuZGlmCi19Ci0KIHZvaWQgSW50ZXJuYWxT
ZXR0aW5nczo6c2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKGJvb2wgZW5hYmxlZCkKIHsKICAg
ICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEZldGNoQVBJS2Vl
cEFsaXZlRW5hYmxlZChlbmFibGVkKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxTZXR0aW5ncy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxTZXR0aW5ncy5oCShyZXZpc2lvbiAyNjYzNDEpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFsU2V0dGluZ3MuaAkod29ya2luZyBjb3B5KQpAQCAtMTMyLDcgKzEzMiw2IEBA
IHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBzZXRXZWJHTDJFbmFibGVkKGJvb2wpOwogICAgIHN0
YXRpYyB2b2lkIHNldFdlYkdQVUVuYWJsZWQoYm9vbCk7CiAgICAgc3RhdGljIHZvaWQgc2V0UGlj
dHVyZUluUGljdHVyZUFQSUVuYWJsZWQoYm9vbCk7Ci0gICAgc3RhdGljIHZvaWQgc2V0U2NyZWVu
Q2FwdHVyZUVuYWJsZWQoYm9vbCk7CiAgICAgc3RhdGljIHZvaWQgc2V0RmV0Y2hBUElLZWVwQWxp
dmVFbmFibGVkKGJvb2wpOwogCiAgICAgc3RhdGljIGJvb2wgd2ViQW5pbWF0aW9uc0NTU0ludGVn
cmF0aW9uRW5hYmxlZCgpOwpAQCAtMjI0LDcgKzIyMyw2IEBAIHByaXZhdGU6CiAgICAgICAgIC8v
IFJ1bnRpbWUgZW5hYmxlZCBzZXR0aW5ncy4KICAgICAgICAgYm9vbCBtX2luZGV4ZWREQldvcmtl
cnNFbmFibGVkOwogICAgICAgICBib29sIG1fd2ViR0wyRW5hYmxlZDsKLSAgICAgICAgYm9vbCBt
X3NldFNjcmVlbkNhcHR1cmVFbmFibGVkOwogICAgICAgICBib29sIG1fZmV0Y2hBUElLZWVwQWxp
dmVBUElFbmFibGVkOwogICAgICAgICAKICAgICAgICAgYm9vbCBtX3Nob3VsZE1vY2tCb2xkU3lz
dGVtRm9udEZvckFjY2Vzc2liaWxpdHk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFsU2V0dGluZ3MuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxTZXR0aW5ncy5pZGwJKHJldmlzaW9uIDI2NjM0MSkKKysrIFNvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTk2LDcgKzk2
LDYgQEAgZW51bSBGb250TG9hZFRpbWluZ092ZXJyaWRlIHsgIkJsb2NrIiwgIgogICAgIHVuZGVm
aW5lZCBzZXRJbmRleGVkREJXb3JrZXJzRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwogICAgIHVu
ZGVmaW5lZCBzZXRXZWJHTDJFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CiAgICAgdW5kZWZpbmVk
IHNldFdlYkdQVUVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKLSAgICB1bmRlZmluZWQgc2V0U2Ny
ZWVuQ2FwdHVyZUVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKICAgICB1bmRlZmluZWQgc2V0RmV0
Y2hBUElLZWVwQWxpdmVFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CiAKICAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIERPTVN0cmluZyB1c2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCk7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCShyZXZpc2lvbiAyNjYzNDEpCisrKyBT
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU3
OCw3ICs1NzgsNyBAQCB2b2lkIEludGVybmFsczo6cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShQCiAg
ICAgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6ZGlzYWJsZU1vY2soKTsKIAogI2lm
IEVOQUJMRShNRURJQV9TVFJFQU0pCi0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS5zZXRJbnRlcnJ1cHRBdWRpb09uUGFnZVZpc2liaWxpdHlDaGFuZ2VFbmFibGVk
KGZhbHNlKTsKKyAgICBwYWdlLnNldHRpbmdzKCkuc2V0SW50ZXJydXB0QXVkaW9PblBhZ2VWaXNp
YmlsaXR5Q2hhbmdlRW5hYmxlZChmYWxzZSk7CiAgICAgV2ViQ29yZTo6TWVkaWFSZWNvcmRlcjo6
c2V0Q3VzdG9tUHJpdmF0ZVJlY29yZGVyQ3JlYXRvcihudWxscHRyKTsKICNlbmRpZgogCkBAIC0x
NjgxLDcgKzE2ODEsOSBAQCB2b2lkIEludGVybmFsczo6c2V0VXNlR1BVUHJvY2Vzc0ZvcldlYlJU
CiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIHZvaWQgSW50ZXJuYWxzOjpzZXRTaG91bGRJbnRl
cnJ1cHRBdWRpb09uUGFnZVZpc2liaWxpdHlDaGFuZ2UoYm9vbCBzaG91bGRJbnRlcnJ1cHQpCiB7
Ci0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRJbnRlcnJ1
cHRBdWRpb09uUGFnZVZpc2liaWxpdHlDaGFuZ2VFbmFibGVkKHNob3VsZEludGVycnVwdCk7Cisg
ICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gY29udGV4dERvY3VtZW50KCk7CisgICAgaWYgKGF1dG8q
IHBhZ2UgPSBkb2N1bWVudC0+cGFnZSgpKQorICAgICAgICBwYWdlLT5zZXR0aW5ncygpLnNldElu
dGVycnVwdEF1ZGlvT25QYWdlVmlzaWJpbGl0eUNoYW5nZUVuYWJsZWQoc2hvdWxkSW50ZXJydXB0
KTsKIH0KIAogdm9pZCBJbnRlcm5hbHM6OnNldE1lZGlhQ2FwdHVyZVJlcXVpcmVzU2VjdXJlQ29u
bmVjdGlvbihib29sIGVuYWJsZWQpCkBAIC01ODE0LDcgKzU4MTYsNyBAQCBJbnRlcm5hbHM6OlRl
eHRJbmRpY2F0b3JJbmZvIEludGVybmFsczo6CiAKIHZvaWQgSW50ZXJuYWxzOjphZGRQcmVmZXRj
aExvYWRFdmVudExpc3RlbmVyKEhUTUxMaW5rRWxlbWVudCYgbGluaywgUmVmUHRyPEV2ZW50TGlz
dGVuZXI+JiYgbGlzdGVuZXIpCiB7Ci0gICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNo
YXJlZEZlYXR1cmVzKCkubGlua1ByZWZldGNoRW5hYmxlZCgpICYmIGVxdWFsTGV0dGVyc0lnbm9y
aW5nQVNDSUlDYXNlKGxpbmsucmVsKCksICJwcmVmZXRjaCIpKSB7CisgICAgaWYgKGxpbmsuZG9j
dW1lbnQoKS5zZXR0aW5ncygpLmxpbmtQcmVmZXRjaEVuYWJsZWQoKSAmJiBlcXVhbExldHRlcnNJ
Z25vcmluZ0FTQ0lJQ2FzZShsaW5rLnJlbCgpLCAicHJlZmV0Y2giKSkgewogICAgICAgICBsaW5r
LmFsbG93UHJlZmV0Y2hMb2FkQW5kRXJyb3JGb3JUZXN0aW5nKCk7CiAgICAgICAgIGxpbmsuYWRk
RXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkubG9hZEV2ZW50LCBsaXN0ZW5lci5yZWxlYXNlTm9u
TnVsbCgpLCBmYWxzZSk7CiAgICAgfQpJbmRleDogU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2NjM0MSkKKysr
IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjggQEAK
KzIwMjAtMDgtMzAgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgorCisgICAgICAgIE1h
bnkgc2V0dGluZ3MgaW4gUnVudGltZUVuYWJsZWRTZXR0aW5ncyBzaG91bGQgYXV0b2dlbmVyYXRl
ZCBTZXR0aW5nczogUGFydCAxCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTU5ODEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUaGlzIG1vdmVzIGFuIGluaXRpYWwgY2h1bmsgb2YgUnVudGltZUVuYWJsZWRT
ZXR0aW5ncyBzZXR0aW5ncyB0byBTZXR0aW5ncy55YW1sLCBmb2N1c2luZworICAgICAgICBvbiBz
ZXR0aW5ncyB0aGF0IGRvbid0IHJlcXVpcmUgc3Vic3RhbnRpYWwgcmVmYWN0b3Jpbmcgb3IgbmV3
IGZlYXR1cmVzIHRvIHdvcmsgaW4gU2V0dGluZ3MueWFtbC4KKyAgICAgICAgCisgICAgICAgIElu
IFdlYktpdCwgdGhpcyBtZWFucyBtb3N0bHkgcmVtb3Zpbmcgbm93IHVubmVjZXNzYXJ5IHVzZSBv
ZiB0aGUgd2ViY29yZUJpbmRpbmcga2V5IGluIAorICAgICAgICBXZWJQcmVmZXJlbmNlcy55YW1s
IGFuZCByZW1vdmluZyBub3cgc3VwZXJmbHVvdXMgY2FzZXMgaW4gSW5qZWN0ZWRCdW5kbGU6Om92
ZXJyaWRlQm9vbFByZWZlcmVuY2VGb3JUZXN0UnVubmVyLgorCisgICAgICAgICogU2hhcmVkL1dl
YlByZWZlcmVuY2VzLnlhbWw6CisgICAgICAgIFJlbW92aW5nIG5vdyB1bm5lY2Vzc2FyeSB1c2Ug
b2YgdGhlIHdlYmNvcmVCaW5kaW5nIGtleSBhbmQgZml4IGluZGVudGF0aW9uIG9mIGEgZmV3IGNh
c2VzLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRs
ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkluamVjdGVkQnVuZGxlOjpvdmVycmlkZUJvb2xQcmVm
ZXJlbmNlRm9yVGVzdFJ1bm5lcik6CisgICAgICAgIFJlbW92ZSBub3cgc3VwZXJmbHVvdXMgY2Fz
ZXMsIGFzIGVhY2ggYm9vbGVhbiBTZXR0aW5ncyBiYXNlZCBzZXR0aW5nIGdldHMgaGFuZGxlZCBh
dXRvbWF0aWNhbGx5LgorIAorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMpOgorICAgICAg
ICBSZW1vdmUgZXhwbGljaXQgc2V0dGluZyBvZiBzZXRJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9u
RW5hYmxlZCBub3cgdGhhdCB3ZSBkb24ndCBoYXZlIHRoZQorICAgICAgICBSdW50aW1lRW5hYmxl
ZFNldHRpbmdzIHZhcmlhbnQgYmVpbmcgc2V0IGJ5IHRoZSBnZW5lcmF0b3IuCisKIDIwMjAtMDgt
MjggIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgU2l0
ZXMgYnVpbHQgd2l0aCBmbGFtYmUuanMgZG9uJ3Qgd29yayB3aXRoIHRyYWNrcGFkIG9uIGlQYWQK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAkocmV2aXNpb24g
MjY2MzQxKQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAkod29y
a2luZyBjb3B5KQpAQCAtMSw3ICsxLDYgQEAKIEJsYW5rQW5jaG9yVGFyZ2V0SW1wbGllc05vT3Bl
bmVyRW5hYmxlZDoKICAgIHR5cGU6IGJvb2wKICAgIGRlZmF1bHRWYWx1ZTogdHJ1ZQotICAgd2Vi
Y29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKICAgIGh1bWFuUmVhZGFibGVOYW1l
OiAiQmxhbmsgYW5jaG9yIHRhcmdldCBpbXBsaWVzIHJlbD1ub29wZW5lciIKICAgIGh1bWFuUmVh
ZGFibGVEZXNjcmlwdGlvbjogInRhcmdldD1fYmxhbmsgb24gYW5jaG9yIGVsZW1lbnRzIGltcGxp
ZXMgcmVsPW5vb3BlbmVyIgogICAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbApAQCAtNTU4LDI0ICs1
NTcsMjEgQEAgVXNlR2lhbnRUaWxlczoKICAgZGVmYXVsdFZhbHVlOiBmYWxzZQogCiBNZWRpYVJl
Y29yZGVyRW5hYmxlZDoKLSAgICB0eXBlOiBib29sCi0gICAgZGVmYXVsdFZhbHVlOiBmYWxzZQot
ICAgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCi0gICAgY29uZGl0aW9u
OiBFTkFCTEUoTUVESUFfU1RSRUFNKQotICAgIGh1bWFuUmVhZGFibGVOYW1lOiAiTWVkaWFSZWNv
cmRlciIKLSAgICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJNZWRpYVJlY29yZGVyIgotICAg
IGNhdGVnb3J5OiBleHBlcmltZW50YWwKKyAgdHlwZTogYm9vbAorICBkZWZhdWx0VmFsdWU6IGZh
bHNlCisgIGNvbmRpdGlvbjogRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgaHVtYW5SZWFkYWJsZU5h
bWU6ICJNZWRpYVJlY29yZGVyIgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJNZWRpYVJl
Y29yZGVyIgorICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCiAKIE1lZGlhRGV2aWNlc0VuYWJsZWQ6
CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiBmYWxzZQotICB3ZWJjb3JlQmluZGluZzog
UnVudGltZUVuYWJsZWRGZWF0dXJlcwogICBjb25kaXRpb246IEVOQUJMRShNRURJQV9TVFJFQU0p
CiAKIE1lZGlhU3RyZWFtRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IHRy
dWUKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKICAgY29uZGl0aW9u
OiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCiBNZWRpYUVuYWJsZWQ6CkBAIC01ODcsNyArNTgzLDYg
QEAgTWVkaWFFbmFibGVkOgogU2NyZWVuQ2FwdHVyZUVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAg
ZGVmYXVsdFZhbHVlOiB0cnVlCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzCiAgIGNvbmRpdGlvbjogRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgUExBVEZPUk0oTUFDKQog
ICBodW1hblJlYWRhYmxlTmFtZTogIlNjcmVlbkNhcHR1cmUiCiAgIGh1bWFuUmVhZGFibGVEZXNj
cmlwdGlvbjogIkVuYWJsZSBTY3JlZW5DYXB0dXJlIgpAQCAtNjAyLDcgKzU5Nyw2IEBAIFBlZXJD
b25uZWN0aW9uRW5hYmxlZDoKIEludGVycnVwdEF1ZGlvT25QYWdlVmlzaWJpbGl0eUNoYW5nZUVu
YWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiBXZWJDb3JlOjpSZWFsdGltZU1l
ZGlhU291cmNlQ2VudGVyOjpzaG91bGRJbnRlcnJ1cHRBdWRpb09uUGFnZVZpc2liaWxpdHlDaGFu
Z2UoKQotICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogICBjb25kaXRp
b246IEVOQUJMRShNRURJQV9TVFJFQU0pCiAKIFdlYlJUQ0gyNjRMb3dMYXRlbmN5RW5jb2RlckVu
YWJsZWQ6CkBAIC03OTUsNyArNzg5LDYgQEAgRmV0Y2hBUElFbmFibGVkOgogRG93bmxvYWRBdHRy
aWJ1dGVFbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogdHJ1ZQotICB3ZWJj
b3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogICBjb25kaXRpb246IEVOQUJMRShE
T1dOTE9BRF9BVFRSSUJVVEUpCiAKIFNlbGVjdGlvblBhaW50aW5nV2l0aG91dFNlbGVjdGlvbkdh
cHNFbmFibGVkOgpAQCAtODMxLDcgKzgyNCw2IEBAIEFuaW1hdGVkSW1hZ2VBc3luY0RlY29kaW5n
RW5hYmxlZDoKIEN1c3RvbUVsZW1lbnRzRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0
VmFsdWU6IHRydWUKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKIAog
TWVudUl0ZW1FbGVtZW50RW5hYmxlZDoKICAgdHlwZTogYm9vbApAQCAtODQxLDE0ICs4MzMsMTIg
QEAgTWVudUl0ZW1FbGVtZW50RW5hYmxlZDoKIE1lZGlhUHJlbG9hZGluZ0VuYWJsZWQ6CiAgIHR5
cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiBmYWxzZQotICB3ZWJjb3JlQmluZGluZzogUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcwogCiBJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZDoKICAg
dHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IHRydWUKICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJI
VE1MIEludGVyYWN0aXZlIEZvcm0gVmFsaWRhdGlvbiIKICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0
aW9uOiAiSFRNTCBpbnRlcmFjdGl2ZSBmb3JtIHZhbGlkYXRpb24iCi0gIHdlYmNvcmVCaW5kaW5n
OiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAKIFNob3VsZFN1cHByZXNzVGV4dElucHV0RnJvbUVk
aXRpbmdEdXJpbmdQcm92aXNpb25hbE5hdmlnYXRpb246CiAgIHR5cGU6IGJvb2wKQEAgLTg1OSwz
MCArODQ5LDI3IEBAIEdhbWVwYWRzRW5hYmxlZDoKICAgZGVmYXVsdFZhbHVlOiB0cnVlCiAgIGh1
bWFuUmVhZGFibGVOYW1lOiAiR2FtZXBhZHMiCiAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjog
IldlYiBHYW1lcGFkIEFQSSBzdXBwb3J0IgotICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJs
ZWRGZWF0dXJlcwogICBjb25kaXRpb246IEVOQUJMRShHQU1FUEFEKQogCiBIaWdobGlnaHRBUElF
bmFibGVkOgotICAgIHR5cGU6IGJvb2wKLSAgICBkZWZhdWx0VmFsdWU6IGZhbHNlCi0gICAgaHVt
YW5SZWFkYWJsZU5hbWU6ICJIaWdobGlnaHQgQVBJIgotICAgIGh1bWFuUmVhZGFibGVEZXNjcmlw
dGlvbjogIkhpZ2hsaWdodCBBUEkgc3VwcG9ydCIKLSAgICB3ZWJjb3JlQmluZGluZzogUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcwotICAgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKKyAgdHlwZTogYm9v
bAorICBkZWZhdWx0VmFsdWU6IGZhbHNlCisgIGh1bWFuUmVhZGFibGVOYW1lOiAiSGlnaGxpZ2h0
IEFQSSIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiSGlnaGxpZ2h0IEFQSSBzdXBwb3J0
IgorICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcworICBjYXRlZ29yeTog
ZXhwZXJpbWVudGFsCiAKIElucHV0RXZlbnRzRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZh
dWx0VmFsdWU6IHRydWUKICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJJbnB1dCBFdmVudHMiCiAgIGh1
bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBJbnB1dEV2ZW50cyBzdXBwb3J0IgotICB3
ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogCiBXZWJBdXRoZW50aWNhdGlv
bkVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiBmYWxzZQogICBodW1hblJl
YWRhYmxlTmFtZTogIldlYiBBdXRoZW50aWNhdGlvbiIKICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0
aW9uOiAiRW5hYmxlIFdlYiBBdXRoZW50aWNhdGlvbiBzdXBwb3J0IgotICB3ZWJjb3JlQmluZGlu
ZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCiAgIGNv
bmRpdGlvbjogRU5BQkxFKFdFQl9BVVRITikKIApAQCAtODkxLDcgKzg3OCw2IEBAIFdlYkF1dGhl
bnRpY2F0aW9uTG9jYWxBdXRoZW50aWNhdG9yRW5hYmwKICAgZGVmYXVsdFZhbHVlOiBmYWxzZQog
ICBodW1hblJlYWRhYmxlTmFtZTogIldlYiBBdXRoZW50aWNhdGlvbiBMb2NhbCBBdXRoZW50aWNh
dG9yIgogICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgV2ViIEF1dGhlbnRpY2F0
aW9uIGxvY2FsIGF1dGhlbnRpY2F0b3Igc3VwcG9ydCIKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXMKICAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAogICBjb25kaXRpb246
IEVOQUJMRShXRUJfQVVUSE4pCiAKQEAgLTkzNSw3ICs5MjEsNiBAQCBMZWdhY3lFbmNyeXB0ZWRN
ZWRpYUFQSUVuYWJsZWQ6CiAgIGRlZmF1bHRWYWx1ZTogdHJ1ZQogICBodW1hblJlYWRhYmxlTmFt
ZTogIkVuYWJsZSBMZWdhY3kgRU1FIEFQSSIKICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAi
RW5hYmxlIGxlZ2FjeSBFTUUgQVBJIgotICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRG
ZWF0dXJlcwogICBjb25kaXRpb246IEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQogCiBB
bGxvd01lZGlhQ29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0QXNGYWxsYmFjazoK
QEAgLTk2Myw3ICs5NDgsNiBAQCBEYXRhVHJhbnNmZXJJdGVtc0VuYWJsZWQ6CiAgIGRlZmF1bHRW
YWx1ZTogREVGQVVMVF9EQVRBX1RSQU5TRkVSX0lURU1TX0VOQUJMRUQKICAgaHVtYW5SZWFkYWJs
ZU5hbWU6ICJEYXRhIFRyYW5zZmVyIEl0ZW1zIgogICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246
ICJFbmFibGVzIERhdGFUcmFuc2Zlckl0ZW0gaW4gdGhlIGNsaXBib2FyZCBBUEkiCi0gIHdlYmNv
cmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAKIEN1c3RvbVBhc3RlYm9hcmREYXRh
RW5hYmxlZDoKICAgdHlwZTogYm9vbApAQCAtOTg0LDcgKzk2OCw2IEBAIFdlYlNoYXJlRW5hYmxl
ZDoKICAgZGVmYXVsdFZhbHVlOiBERUZBVUxUX1dFQl9TSEFSRV9FTkFCTEVECiAgIGh1bWFuUmVh
ZGFibGVOYW1lOiAiV2ViIFNoYXJlIgogICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFi
bGUgc3VwcG9ydCBmb3Igc2hhcmUgc2hlZXQgdmlhIFdlYiBTaGFyZSBBUEkiCi0gIHdlYmNvcmVC
aW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAKIFZpZXdwb3J0Rml0RW5hYmxlZDoKICAg
dHlwZTogYm9vbApAQCAtMTI0Nyw3ICsxMjMwLDYgQEAgTWVkaWFDYXBhYmlsaXRpZXNFbmFibGVk
OgogU3lzdGVtUHJldmlld0VuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiBm
YWxzZQotICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogICBjb25kaXRp
b246IFVTRShTWVNURU1fUFJFVklFVykKIAogQ2FjaGVBUElFbmFibGVkOgpAQCAtMTI3MSw3ICsx
MjUzLDYgQEAgQ3Jvc3NPcmlnaW5SZXNvdXJjZVBvbGljeUVuYWJsZWQ6CiBEaXNhYmxlZEFkYXB0
YXRpb25zTWV0YVRhZ0VuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiBESVNB
QkxFRF9BREFQVEFUSU9OU19NRVRBX1RBR19FTkFCTEVECi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50
aW1lRW5hYmxlZEZlYXR1cmVzCiAKIENvbG9yRmlsdGVyRW5hYmxlZDoKICAgdHlwZTogYm9vbApA
QCAtMTI5OSw3ICsxMjgwLDYgQEAgU3RvcmFnZUFjY2Vzc0FQSUVuYWJsZWQ6CiBMaW5rUHJlbG9h
ZEVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiB0cnVlCi0gIHdlYmNvcmVC
aW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAKIElzU2VjdXJlQ29udGV4dEF0dHJpYnV0
ZUVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKQEAgLTEzMjIsNyArMTMwMiw2IEBAIEtleWdlbkVsZW1l
bnRFbmFibGVkOgogRW5jcnlwdGVkTWVkaWFBUElFbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRl
ZmF1bHRWYWx1ZTogdHJ1ZQotICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJl
cwogICBjb25kaXRpb246IEVOQUJMRShFTkNSWVBURURfTUVESUEpCiAKIFZpZGVvUXVhbGl0eUlu
Y2x1ZGVzRGlzcGxheUNvbXBvc2l0aW5nRW5hYmxlZDoKQEAgLTEzNDcsNyArMTMyNiw2IEBAIElz
SW5BcHBCcm93c2VyUHJpdmFjeUVuYWJsZWQ6CiAgICAgZGVmYXVsdFZhbHVlOiBkZWZhdWx0SW5B
cHBCcm93c2VyUHJpdmFjeSgpCiAgICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJJbi1BcHAgQnJvd3Nl
ciBQcml2YWN5IgogICAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBJbi1BcHAg
QnJvd3NlciBQcml2YWN5IgotICAgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzCiAgICAgY2F0ZWdvcnk6IGRlYnVnCiAKIE5lZWRzSW5BcHBCcm93c2VyUHJpdmFjeVF1aXJr
czoKQEAgLTEzNTUsNyArMTMzMyw2IEBAIE5lZWRzSW5BcHBCcm93c2VyUHJpdmFjeVF1aXJrczoK
ICAgICBkZWZhdWx0VmFsdWU6IGZhbHNlCiAgICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJOZWVkcyBJ
bi1BcHAgQnJvd3NlciBQcml2YWN5IFF1aXJrcyIKICAgICBodW1hblJlYWRhYmxlRGVzY3JpcHRp
b246ICJFbmFibGUgcXVpcmtzIG5lZWRlZCB0byBzdXBwb3J0IEluLUFwcCBCcm93c2VyIHByaXZh
Y3kiCi0gICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKICAgICBjYXRl
Z29yeTogZGVidWcKIAogU2VydmljZVdvcmtlckVudGl0bGVtZW50RGlzYWJsZWRGb3JUZXN0aW5n
OgpAQCAtMTQxMCw3ICsxMzg3LDYgQEAgSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkOgogICBk
ZWZhdWx0VmFsdWU6IHRydWUKICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJJbnRlcnNlY3Rpb24gT2Jz
ZXJ2ZXIiCiAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBJbnRlcnNlY3Rpb24g
T2JzZXJ2ZXIgc3VwcG9ydCIKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXMKICAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAogICBjb25kaXRpb246IEVOQUJMRShJTlRFUlNF
Q1RJT05fT0JTRVJWRVIpCiAKQEAgLTE1MzAsNyArMTUwNiw2IEBAIENTU0N1c3RvbVByb3BlcnRp
ZXNBbmRWYWx1ZXNFbmFibGVkOgogICBkZWZhdWx0VmFsdWU6IGZhbHNlCiAgIGh1bWFuUmVhZGFi
bGVOYW1lOiAiQ1NTIEN1c3RvbSBQcm9wZXJ0aWVzIGFuZCBWYWx1ZXMgQVBJIgogICBodW1hblJl
YWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgQ1NTIEN1c3RvbSBQcm9wZXJ0aWVzIGFuZCBWYWx1
ZXMgQVBJIgotICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogICBjYXRl
Z29yeTogZXhwZXJpbWVudGFsCiAKIENTU1BhaW50aW5nQVBJRW5hYmxlZDoKQEAgLTE1OTAsMjAg
KzE1NjUsMTkgQEAgUmVzaXplT2JzZXJ2ZXJFbmFibGVkOgogICBjb25kaXRpb246IEVOQUJMRShS
RVNJWkVfT0JTRVJWRVIpCiAKIEFkQ2xpY2tBdHRyaWJ1dGlvbkVuYWJsZWQ6Ci0gICAgdHlwZTog
Ym9vbAotICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UKLSAgICBodW1hblJlYWRhYmxlTmFtZTogIkFk
IENsaWNrIEF0dHJpYnV0aW9uIgotICAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJs
ZSBBZCBDbGljayBBdHRyaWJ1dGlvbiBmb3IgQ3Jvc3MtU2l0ZSBMaW5rIE5hdmlnYXRpb25zIgot
ICAgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCi0gICAgY2F0ZWdvcnk6
IGV4cGVyaW1lbnRhbAorICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTogZmFsc2UKKyAgaHVt
YW5SZWFkYWJsZU5hbWU6ICJBZCBDbGljayBBdHRyaWJ1dGlvbiIKKyAgaHVtYW5SZWFkYWJsZURl
c2NyaXB0aW9uOiAiRW5hYmxlIEFkIENsaWNrIEF0dHJpYnV0aW9uIGZvciBDcm9zcy1TaXRlIExp
bmsgTmF2aWdhdGlvbnMiCisgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKIAogQWRDbGlja0F0dHJp
YnV0aW9uRGVidWdNb2RlRW5hYmxlZDoKLSAgICB0eXBlOiBib29sCi0gICAgZGVmYXVsdFZhbHVl
OiBmYWxzZQotICAgIGh1bWFuUmVhZGFibGVOYW1lOiAiQWQgQ2xpY2sgQXR0cmlidXRpb24gRGVi
dWcgTW9kZSIKLSAgICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgQWQgQ2xpY2sg
QXR0cmlidXRpb24gRGVidWcgTW9kZSIKLSAgICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJs
ZWRGZWF0dXJlcwotICAgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKKyAgdHlwZTogYm9vbAorICBk
ZWZhdWx0VmFsdWU6IGZhbHNlCisgIGh1bWFuUmVhZGFibGVOYW1lOiAiQWQgQ2xpY2sgQXR0cmli
dXRpb24gRGVidWcgTW9kZSIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIEFk
IENsaWNrIEF0dHJpYnV0aW9uIERlYnVnIE1vZGUiCisgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzCisgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKIAogRmV0Y2hBUElLZWVw
QWxpdmVFbmFibGVkOgogICB0eXBlOiBib29sCkBAIC0xOTI2LDcgKzE5MDAsNiBAQCBVbmRvTWFu
YWdlckFQSUVuYWJsZWQ6CiAgIGh1bWFuUmVhZGFibGVOYW1lOiAiVW5kb01hbmFnZXIgRE9NIEFQ
SSIKICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIHRoZSBVbmRvTWFuYWdlciBE
T00gQVBJIgogICBjYXRlZ29yeTogaW50ZXJuYWwKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXMKIAogQ1NTTG9naWNhbEVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKQEAgLTE5
ODksNyArMTk2Miw2IEBAIFJlZmVycmVyUG9saWN5QXR0cmlidXRlRW5hYmxlZDoKICAgaHVtYW5S
ZWFkYWJsZU5hbWU6ICJSZWZlcnJlciBQb2xpY3kgYXR0cmlidXRlIgogICBodW1hblJlYWRhYmxl
RGVzY3JpcHRpb246ICJFbmFibGUgUmVmZXJyZXIgUG9saWN5IGF0dHJpYnV0ZSIKICAgY2F0ZWdv
cnk6IGV4cGVyaW1lbnRhbAotICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJl
cwogCiBQYWdlQXRSdWxlU3VwcG9ydEVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKQEAgLTIwMTksNyAr
MTk5MSw2IEBAIExpbmtQcmVmZXRjaEVuYWJsZWQ6CiAgIGRlZmF1bHRWYWx1ZTogZmFsc2UKICAg
aHVtYW5SZWFkYWJsZU5hbWU6ICJMaW5rUHJlZmV0Y2giCiAgIGh1bWFuUmVhZGFibGVEZXNjcmlw
dGlvbjogIkVuYWJsZSBMaW5rZWRQcmVmZXRjaCIKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXMKICAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAogCiBMaW5rUHJlbG9hZFJl
c3BvbnNpdmVJbWFnZXNFbmFibGVkOgpAQCAtMjAyNyw3ICsxOTk4LDYgQEAgTGlua1ByZWxvYWRS
ZXNwb25zaXZlSW1hZ2VzRW5hYmxlZDoKICAgZGVmYXVsdFZhbHVlOiBmYWxzZQogICBodW1hblJl
YWRhYmxlTmFtZTogIkxpbmsgcHJlbG9hZCByZXNwb25zaXZlIGltYWdlcyIKICAgaHVtYW5SZWFk
YWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIGxpbmsgcHJlbG9hZCByZXNwb25zaXZlIGltYWdlcyIK
LSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKICAgY2F0ZWdvcnk6IGV4
cGVyaW1lbnRhbAogCiBJc05TVVJMU2Vzc2lvbldlYlNvY2tldEVuYWJsZWQ6CkBAIC0yMDQ0LDcg
KzIwMTQsNiBAQCBMYXp5SW1hZ2VMb2FkaW5nRW5hYmxlZDoKICAgZGVmYXVsdFZhbHVlOiBmYWxz
ZQogICBodW1hblJlYWRhYmxlTmFtZTogIkxhenkgSW1hZ2UgTG9hZGluZyIKICAgaHVtYW5SZWFk
YWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIExhenkgSW1hZ2UgTG9hZGluZyBzdXBwb3J0IgotICB3
ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogICBjYXRlZ29yeTogZXhwZXJp
bWVudGFsCiAKIElzVGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nRGlzYWJsZWQ6CkBAIC0yMTMzLDcg
KzIxMDIsNiBAQCBXZWJTaGFyZUZpbGVBUElFbmFibGVkOgogICAgIGRlZmF1bHRWYWx1ZTogZmFs
c2UKICAgICBodW1hblJlYWRhYmxlTmFtZTogIldlYiBTaGFyZSBBUEkgTGV2ZWwgMiIKICAgICBo
dW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgbGV2ZWwgMiBvZiBXZWIgU2hhcmUgQVBJ
IgotICAgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAgICAgY2F0ZWdv
cnk6IGV4cGVyaW1lbnRhbAogCiBJbmNyZW1lbnRhbFBERkxvYWRpbmdFbmFibGVkOgpJbmRleDog
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
SW5qZWN0ZWRCdW5kbGUuY3BwCShyZXZpc2lvbiAyNjYzNDEpCisrKyBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yMDMsOSArMjAzLDYgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6b3ZlcnJpZGVCb29sUHJl
ZmVyZQogICAgIGlmIChwcmVmZXJlbmNlID09ICJXZWJLaXRUcmFuc2Zvcm1TdHJlYW1BUElFbmFi
bGVkIikKICAgICAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5z
ZXRUcmFuc2Zvcm1TdHJlYW1BUElFbmFibGVkKGVuYWJsZWQpOwogCi0gICAgaWYgKHByZWZlcmVu
Y2UgPT0gIldlYktpdEludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkIikKLSAgICAgICAg
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRJbnRlcmFjdGl2ZUZv
cm1WYWxpZGF0aW9uRW5hYmxlZChlbmFibGVkKTsKLQogI2lmIEVOQUJMRShXRUJHTDIpCiAgICAg
aWYgKHByZWZlcmVuY2UgPT0gIldlYktpdFdlYkdMMkVuYWJsZWQiKQogICAgICAgICBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFdlYkdMMkVuYWJsZWQoZW5hYmxl
ZCk7CkBAIC0yMTksMjAgKzIxNiw2IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6Om92ZXJyaWRlQm9v
bFByZWZlcmUKICAgICBpZiAocHJlZmVyZW5jZSA9PSAiV2ViS2l0TW9kZXJuTWVkaWFDb250cm9s
c0VuYWJsZWQiKQogICAgICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJl
cygpLnNldE1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkKGVuYWJsZWQpOwogCi0jaWYgRU5BQkxF
KEVOQ1JZUFRFRF9NRURJQSkKLSAgICBpZiAocHJlZmVyZW5jZSA9PSAiV2ViS2l0RW5jcnlwdGVk
TWVkaWFBUElFbmFibGVkIikgewotICAgICAgICBXZWJQcmVmZXJlbmNlc1N0b3JlOjpvdmVycmlk
ZUJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6ZW5jcnlwdGVkTWVkaWFBUElFbmFi
bGVkS2V5KCksIGVuYWJsZWQpOwotICAgICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFy
ZWRGZWF0dXJlcygpLnNldEVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZChlbmFibGVkKTsKLSAgICB9
Ci0jZW5kaWYKLQotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0gICAgaWYgKHByZWZlcmVuY2Ug
PT0gIldlYktpdE1lZGlhRGV2aWNlc0VuYWJsZWQiKQotICAgICAgICBSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldE1lZGlhRGV2aWNlc0VuYWJsZWQoZW5hYmxlZCk7
Ci0gICAgaWYgKHByZWZlcmVuY2UgPT0gIldlYktpdFNjcmVlbkNhcHR1cmVFbmFibGVkIikKLSAg
ICAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRTY3JlZW5D
YXB0dXJlRW5hYmxlZChlbmFibGVkKTsKLSNlbmRpZgotCiAjaWYgRU5BQkxFKFdFQl9SVEMpCiAg
ICAgaWYgKHByZWZlcmVuY2UgPT0gIldlYktpdFdlYlJUQ01ETlNJQ0VDYW5kaWRhdGVzRW5hYmxl
ZCIpCiAgICAgICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0
V2ViUlRDTUROU0lDRUNhbmRpZGF0ZXNFbmFibGVkKGVuYWJsZWQpOwpAQCAtMjYyLDkgKzI0NSw2
IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6Om92ZXJyaWRlQm9vbFByZWZlcmUKICAgICBpZiAocHJl
ZmVyZW5jZSA9PSAiV2ViS2l0V2ViQVBJU3RhdGlzdGljc0VuYWJsZWQiKQogICAgICAgICBSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFdlYkFQSVN0YXRpc3RpY3NF
bmFibGVkKGVuYWJsZWQpOwogCi0gICAgaWYgKHByZWZlcmVuY2UgPT0gIkNTU0N1c3RvbVByb3Bl
cnRpZXNBbmRWYWx1ZXNFbmFibGVkIikKLSAgICAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS5zZXRDU1NDdXN0b21Qcm9wZXJ0aWVzQW5kVmFsdWVzRW5hYmxlZChl
bmFibGVkKTsKLQogI2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQogICAgIGlm
IChwcmVmZXJlbmNlID09ICJMYXlvdXRGb3JtYXR0aW5nQ29udGV4dEVuYWJsZWQiKQogICAgICAg
ICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldExheW91dEZvcm1h
dHRpbmdDb250ZXh0RW5hYmxlZChlbmFibGVkKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCShyZXZpc2lvbiAyNjYzNDEpCisrKyBTb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzcyNiw5ICszNzI2LDYgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBX
ZQogICAgIHNldHRpbmdzLnNldFBheW1lbnRSZXF1ZXN0RW5hYmxlZChzdG9yZS5nZXRCb29sVmFs
dWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmFwcGxlUGF5RW5hYmxlZEtleSgpKSk7CiAjZW5k
aWYKIAotICAgIC8vIEZJWE1FOiBUaGlzIGlzIGJvdGggYSBSdW50aW1lRW5hYmxlZEZlYXR1cmVz
IChnZW5lcmF0ZWQpIGFuZCBhIHNldHRpbmcuIEl0IHNob3VsZCBwaWNrIG9uZS4KLSAgICBzZXR0
aW5ncy5zZXRJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZChzdG9yZS5nZXRCb29sVmFs
dWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFi
bGVkS2V5KCkpKTsKLQogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgc2V0Rm9yY2VBbHdh
eXNVc2VyU2NhbGFibGUobV9mb3JjZUFsd2F5c1VzZXJTY2FsYWJsZSB8fCBzdG9yZS5nZXRCb29s
VmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmZvcmNlQWx3YXlzVXNlclNjYWxhYmxlS2V5
KCkpKTsKIApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24gMjY2MzQx
KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMjAtMDgtMzAgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29t
PgorCisgICAgICAgIE1hbnkgc2V0dGluZ3MgaW4gUnVudGltZUVuYWJsZWRTZXR0aW5ncyBzaG91
bGQgYXV0b2dlbmVyYXRlZCBTZXR0aW5nczogUGFydCAxCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTU5ODEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIG1vdmVzIGFuIGluaXRpYWwgY2h1bmsgb2Yg
UnVudGltZUVuYWJsZWRTZXR0aW5ncyBzZXR0aW5ncyB0byBTZXR0aW5ncy55YW1sLCBmb2N1c2lu
ZworICAgICAgICBvbiBzZXR0aW5ncyB0aGF0IGRvbid0IHJlcXVpcmUgc3Vic3RhbnRpYWwgcmVm
YWN0b3Jpbmcgb3IgbmV3IGZlYXR1cmVzIHRvIHdvcmsgaW4gU2V0dGluZ3MueWFtbC4KKworICAg
ICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5j
ZXNDaGFuZ2VkOl0pOgorICAgICAgICBVcGRhdGUgY2hhbmdlZCBzZXR0aW5ncyB0byB1c2UgU2V0
dGluZ3MgcmF0aGVyIHRoYW4gUnVudGltZUVuYWJsZWRTZXR0aW5ncy4KKwogMjAyMC0wOC0yOCAg
RGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIGFsbW9zdCBh
bGwgdGhlIHJlbWFpbmluZyB1c2VzIG9mIGxpdmUgcmFuZ2VzCkluZGV4OiBTb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCShyZXZpc2lvbiAyNjYzNDEpCisrKyBTb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAg
LTMyODUsOSArMzI4NSw5IEBAIC0gKHZvaWQpX3ByZWZlcmVuY2VzQ2hhbmdlZDooV2ViUHJlZmVy
ZW4KICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIHNldHRpbmdzLnNldE1vY2tDYXB0dXJl
RGV2aWNlc0VuYWJsZWQoZmFsc2UpOwogICAgIHNldHRpbmdzLnNldE1lZGlhQ2FwdHVyZVJlcXVp
cmVzU2VjdXJlQ29ubmVjdGlvbih0cnVlKTsKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpz
aGFyZWRGZWF0dXJlcygpLnNldE1lZGlhU3RyZWFtRW5hYmxlZChmYWxzZSk7Ci0gICAgUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRNZWRpYURldmljZXNFbmFibGVk
KGZhbHNlKTsKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNl
dE1lZGlhUmVjb3JkZXJFbmFibGVkKHByZWZlcmVuY2VzLm1lZGlhUmVjb3JkZXJFbmFibGVkKTsK
KyAgICBzZXR0aW5ncy5zZXRNZWRpYVN0cmVhbUVuYWJsZWQoZmFsc2UpOworICAgIHNldHRpbmdz
LnNldE1lZGlhRGV2aWNlc0VuYWJsZWQoZmFsc2UpOworICAgIHNldHRpbmdzLnNldE1lZGlhUmVj
b3JkZXJFbmFibGVkKHByZWZlcmVuY2VzLm1lZGlhUmVjb3JkZXJFbmFibGVkKTsKICNlbmRpZgog
CiAjaWYgRU5BQkxFKFdFQl9SVEMpCkBAIC0zMzA4LDcgKzMzMDgsNyBAQCAtICh2b2lkKV9wcmVm
ZXJlbmNlc0NoYW5nZWQ6KFdlYlByZWZlcmVuCiAKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpzaGFyZWRGZWF0dXJlcygpLnNldExpbmVIZWlnaHRVbml0c0VuYWJsZWQoW3ByZWZlcmVuY2Vz
IGxpbmVIZWlnaHRVbml0c0VuYWJsZWRdKTsKIAotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNoYXJlZEZlYXR1cmVzKCkuc2V0QWRDbGlja0F0dHJpYnV0aW9uRW5hYmxlZChbcHJlZmVyZW5j
ZXMgYWRDbGlja0F0dHJpYnV0aW9uRW5hYmxlZF0pOworICAgIHNldHRpbmdzLnNldEFkQ2xpY2tB
dHRyaWJ1dGlvbkVuYWJsZWQoW3ByZWZlcmVuY2VzIGFkQ2xpY2tBdHRyaWJ1dGlvbkVuYWJsZWRd
KTsKIAogICAgIHNldHRpbmdzLnNldEhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVk
KFtwcmVmZXJlbmNlcyBoaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZF0pOwogCkBA
IC0zMzIwLDIxICszMzIwLDIxIEBAIC0gKHZvaWQpX3ByZWZlcmVuY2VzQ2hhbmdlZDooV2ViUHJl
ZmVyZW4KICAgICBzZXR0aW5ncy5zZXRDb25zdGFudFByb3BlcnRpZXNFbmFibGVkKFtwcmVmZXJl
bmNlcyBjb25zdGFudFByb3BlcnRpZXNFbmFibGVkXSk7CiAKICNpZiBFTkFCTEUoR0FNRVBBRCkK
LSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEdhbWVwYWRz
RW5hYmxlZChbcHJlZmVyZW5jZXMgZ2FtZXBhZHNFbmFibGVkXSk7CisgICAgc2V0dGluZ3Muc2V0
R2FtZXBhZHNFbmFibGVkKFtwcmVmZXJlbmNlcyBnYW1lcGFkc0VuYWJsZWRdKTsKICNlbmRpZgog
CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRIaWdobGln
aHRBUElFbmFibGVkKFtwcmVmZXJlbmNlcyBoaWdobGlnaHRBUElFbmFibGVkXSk7CiAKICAgICBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFNoYWRvd0RPTUVuYWJs
ZWQoW3ByZWZlcmVuY2VzIHNoYWRvd0RPTUVuYWJsZWRdKTsKLSAgICBSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEN1c3RvbUVsZW1lbnRzRW5hYmxlZChbcHJlZmVy
ZW5jZXMgY3VzdG9tRWxlbWVudHNFbmFibGVkXSk7Ci0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2hhcmVkRmVhdHVyZXMoKS5zZXREYXRhVHJhbnNmZXJJdGVtc0VuYWJsZWQoW3ByZWZlcmVu
Y2VzIGRhdGFUcmFuc2Zlckl0ZW1zRW5hYmxlZF0pOworICAgIHNldHRpbmdzLnNldEN1c3RvbUVs
ZW1lbnRzRW5hYmxlZChbcHJlZmVyZW5jZXMgY3VzdG9tRWxlbWVudHNFbmFibGVkXSk7CisgICAg
c2V0dGluZ3Muc2V0RGF0YVRyYW5zZmVySXRlbXNFbmFibGVkKFtwcmVmZXJlbmNlcyBkYXRhVHJh
bnNmZXJJdGVtc0VuYWJsZWRdKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRG
ZWF0dXJlcygpLnNldEN1c3RvbVBhc3RlYm9hcmREYXRhRW5hYmxlZChbcHJlZmVyZW5jZXMgY3Vz
dG9tUGFzdGVib2FyZERhdGFFbmFibGVkXSk7CiAKICNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVN
RU5UKQogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0QXR0
YWNobWVudEVsZW1lbnRFbmFibGVkKFtwcmVmZXJlbmNlcyBhdHRhY2htZW50RWxlbWVudEVuYWJs
ZWRdKTsKICNlbmRpZgogCi0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVy
ZXMoKS5zZXRJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZChbc2VsZiBpbnRlcmFjdGl2
ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZF0pOworICAgIHNldHRpbmdzLnNldEludGVyYWN0aXZlRm9y
bVZhbGlkYXRpb25FbmFibGVkKFtzZWxmIGludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVk
XSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRNb2Rl
cm5NZWRpYUNvbnRyb2xzRW5hYmxlZChbcHJlZmVyZW5jZXMgbW9kZXJuTWVkaWFDb250cm9sc0Vu
YWJsZWRdKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNl
dFdlYkFuaW1hdGlvbnNDU1NJbnRlZ3JhdGlvbkVuYWJsZWQoW3ByZWZlcmVuY2VzIHdlYkFuaW1h
dGlvbnNDU1NJbnRlZ3JhdGlvbkVuYWJsZWRdKTsKIApAQCAtMzM1OCw0NCArMzM1OCw0NCBAQCAt
ICh2b2lkKV9wcmVmZXJlbmNlc0NoYW5nZWQ6KFdlYlByZWZlcmVuCiAjZW5kaWYKIAogI2lmIEVO
QUJMRShET1dOTE9BRF9BVFRSSUJVVEUpCi0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5zZXREb3dubG9hZEF0dHJpYnV0ZUVuYWJsZWQoW3ByZWZlcmVuY2VzIGRv
d25sb2FkQXR0cmlidXRlRW5hYmxlZF0pOworICAgIHNldHRpbmdzLnNldERvd25sb2FkQXR0cmli
dXRlRW5hYmxlZChbcHJlZmVyZW5jZXMgZG93bmxvYWRBdHRyaWJ1dGVFbmFibGVkXSk7CiAjZW5k
aWYKIAogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0V2Vi
QW5pbWF0aW9uc0VuYWJsZWQoW3ByZWZlcmVuY2VzIHdlYkFuaW1hdGlvbnNFbmFibGVkXSk7CiAg
ICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRXZWJBbmltYXRp
b25zQ29tcG9zaXRlT3BlcmF0aW9uc0VuYWJsZWQoW3ByZWZlcmVuY2VzIHdlYkFuaW1hdGlvbnND
b21wb3NpdGVPcGVyYXRpb25zRW5hYmxlZF0pOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNoYXJlZEZlYXR1cmVzKCkuc2V0V2ViQW5pbWF0aW9uc011dGFibGVUaW1lbGluZXNFbmFibGVk
KFtwcmVmZXJlbmNlcyB3ZWJBbmltYXRpb25zTXV0YWJsZVRpbWVsaW5lc0VuYWJsZWRdKTsKIAot
ICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0Q1NTQ3VzdG9t
UHJvcGVydGllc0FuZFZhbHVlc0VuYWJsZWQoW3ByZWZlcmVuY2VzIENTU0N1c3RvbVByb3BlcnRp
ZXNBbmRWYWx1ZXNFbmFibGVkXSk7CisgICAgc2V0dGluZ3Muc2V0Q1NTQ3VzdG9tUHJvcGVydGll
c0FuZFZhbHVlc0VuYWJsZWQoW3ByZWZlcmVuY2VzIENTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1
ZXNFbmFibGVkXSk7CiAKICNpZiBFTkFCTEUoSU5URVJTRUNUSU9OX09CU0VSVkVSKQotICAgIFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0SW50ZXJzZWN0aW9uT2Jz
ZXJ2ZXJFbmFibGVkKHByZWZlcmVuY2VzLmludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZCk7Cisg
ICAgc2V0dGluZ3Muc2V0SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkKHByZWZlcmVuY2VzLmlu
dGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZCk7CiAjZW5kaWYKIAogICAgIFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0VXNlclRpbWluZ0VuYWJsZWQocHJlZmVyZW5j
ZXMudXNlclRpbWluZ0VuYWJsZWQpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJl
ZEZlYXR1cmVzKCkuc2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKHByZWZlcmVuY2VzLnJlc291cmNl
VGltaW5nRW5hYmxlZCk7Ci0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVy
ZXMoKS5zZXRMaW5rUHJlbG9hZEVuYWJsZWQocHJlZmVyZW5jZXMubGlua1ByZWxvYWRFbmFibGVk
KTsKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldE1lZGlh
UHJlbG9hZGluZ0VuYWJsZWQocHJlZmVyZW5jZXMubWVkaWFQcmVsb2FkaW5nRW5hYmxlZCk7Cisg
ICAgc2V0dGluZ3Muc2V0TGlua1ByZWxvYWRFbmFibGVkKHByZWZlcmVuY2VzLmxpbmtQcmVsb2Fk
RW5hYmxlZCk7CisgICAgc2V0dGluZ3Muc2V0TWVkaWFQcmVsb2FkaW5nRW5hYmxlZChwcmVmZXJl
bmNlcy5tZWRpYVByZWxvYWRpbmdFbmFibGVkKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpzaGFyZWRGZWF0dXJlcygpLnNldElzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVuYWJsZWQocHJl
ZmVyZW5jZXMuaXNTZWN1cmVDb250ZXh0QXR0cmlidXRlRW5hYmxlZCk7CiAgICAgUnVudGltZUVu
YWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXREaXJlY3RvcnlVcGxvYWRFbmFibGVk
KFtwcmVmZXJlbmNlcyBkaXJlY3RvcnlVcGxvYWRFbmFibGVkXSk7CiAgICAgUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRNZW51SXRlbUVsZW1lbnRFbmFibGVkKFtw
cmVmZXJlbmNlcyBtZW51SXRlbUVsZW1lbnRFbmFibGVkXSk7CiAgICAgUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRBY2Nlc3NpYmlsaXR5T2JqZWN0TW9kZWxFbmFi
bGVkKFtwcmVmZXJlbmNlcyBhY2Nlc3NpYmlsaXR5T2JqZWN0TW9kZWxFbmFibGVkXSk7CiAgICAg
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRBcmlhUmVmbGVjdGlv
bkVuYWJsZWQoW3ByZWZlcmVuY2VzIGFyaWFSZWZsZWN0aW9uRW5hYmxlZF0pOwogICAgIFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0RmV0Y2hBUElLZWVwQWxpdmVF
bmFibGVkKFtwcmVmZXJlbmNlcyBmZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWRdKTsKLSAgICBSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFJlZmVycmVyUG9saWN5QXR0
cmlidXRlRW5hYmxlZChbcHJlZmVyZW5jZXMgcmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGVFbmFibGVk
XSk7Ci0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRMaW5r
UHJlbG9hZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVkKFtwcmVmZXJlbmNlcyBsaW5rUHJlbG9hZFJl
c3BvbnNpdmVJbWFnZXNFbmFibGVkXSk7CisgICAgc2V0dGluZ3Muc2V0UmVmZXJyZXJQb2xpY3lB
dHRyaWJ1dGVFbmFibGVkKFtwcmVmZXJlbmNlcyByZWZlcnJlclBvbGljeUF0dHJpYnV0ZUVuYWJs
ZWRdKTsKKyAgICBzZXR0aW5ncy5zZXRMaW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVk
KFtwcmVmZXJlbmNlcyBsaW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVkXSk7CiAgICAg
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXREaWFsb2dFbGVtZW50
RW5hYmxlZChbcHJlZmVyZW5jZXMgZGlhbG9nRWxlbWVudEVuYWJsZWRdKTsKICAgICBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEtleWdlbkVsZW1lbnRFbmFibGVk
KFtwcmVmZXJlbmNlcyBrZXlnZW5FbGVtZW50RW5hYmxlZF0pOwogICAgIFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0Q1NTU2hhZG93UGFydHNFbmFibGVkKFtwcmVm
ZXJlbmNlcyBjc3NTaGFkb3dQYXJ0c0VuYWJsZWRdKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldExheW91dEZvcm1hdHRpbmdDb250ZXh0SW50ZWdyYXRp
b25FbmFibGVkKFtwcmVmZXJlbmNlcyBsYXlvdXRGb3JtYXR0aW5nQ29udGV4dEludGVncmF0aW9u
RW5hYmxlZF0pOwotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCku
c2V0SXNJbkFwcEJyb3dzZXJQcml2YWN5RW5hYmxlZChbcHJlZmVyZW5jZXMgaXNJbkFwcEJyb3dz
ZXJQcml2YWN5RW5hYmxlZF0pOworICAgIHNldHRpbmdzLnNldElzSW5BcHBCcm93c2VyUHJpdmFj
eUVuYWJsZWQoW3ByZWZlcmVuY2VzIGlzSW5BcHBCcm93c2VyUHJpdmFjeUVuYWJsZWRdKTsKICAg
ICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFdlYlNRTERpc2Fi
bGVkKCFbcHJlZmVyZW5jZXMgd2ViU1FMRW5hYmxlZF0pOwogICAgIAogI2lmIEVOQUJMRShMRUdB
Q1lfRU5DUllQVEVEX01FRElBKQotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZl
YXR1cmVzKCkuc2V0TGVnYWN5RW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKHByZWZlcmVuY2VzLmxl
Z2FjeUVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZCk7CisgICAgc2V0dGluZ3Muc2V0TGVnYWN5RW5j
cnlwdGVkTWVkaWFBUElFbmFibGVkKHByZWZlcmVuY2VzLmxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJ
RW5hYmxlZCk7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCi0gICAgUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRFbmNyeXB0ZWRNZWRpYUFQ
SUVuYWJsZWQocHJlZmVyZW5jZXMuZW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKTsKKyAgICBzZXR0
aW5ncy5zZXRFbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQocHJlZmVyZW5jZXMuZW5jcnlwdGVkTWVk
aWFBUElFbmFibGVkKTsKICNlbmRpZgogCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5zZXRVc2VyR2VzdHVyZVByb21pc2VQcm9wYWdhdGlvbkVuYWJsZWQocHJl
ZmVyZW5jZXMudXNlckdlc3R1cmVQcm9taXNlUHJvcGFnYXRpb25FbmFibGVkKTsKSW5kZXg6IFNv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2NjM0MSkKKysrIFNvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisy
MDIwLTA4LTMwICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBNYW55
IHNldHRpbmdzIGluIFJ1bnRpbWVFbmFibGVkU2V0dGluZ3Mgc2hvdWxkIGF1dG9nZW5lcmF0ZWQg
U2V0dGluZ3M6IFBhcnQgMQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjE1OTgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGhpcyBtb3ZlcyBhbiBpbml0aWFsIGNodW5rIG9mIFJ1bnRpbWVFbmFibGVkU2V0
dGluZ3Mgc2V0dGluZ3MgdG8gU2V0dGluZ3MueWFtbCwgZm9jdXNpbmcKKyAgICAgICAgb24gc2V0
dGluZ3MgdGhhdCBkb24ndCByZXF1aXJlIHN1YnN0YW50aWFsIHJlZmFjdG9yaW5nIG9yIG5ldyBm
ZWF0dXJlcyB0byB3b3JrIGluIFNldHRpbmdzLnlhbWwuCisKKyAgICAgICAgKiBXZWJWaWV3LmNw
cDoKKyAgICAgICAgKFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZCk6CisgICAgICAg
IFVwZGF0ZSBjaGFuZ2VkIHNldHRpbmdzIHRvIHVzZSBTZXR0aW5ncyByYXRoZXIgdGhhbiBSdW50
aW1lRW5hYmxlZFNldHRpbmdzLgorCiAyMDIwLTA4LTIwICBEYXJpbiBBZGxlciAgPGRhcmluQGFw
cGxlLmNvbT4KIAogICAgICAgICBNb3ZlIG5vZGUgZ2VvbWV0cnkgZnVuY3Rpb25zIGZyb20gUmFu
Z2UgdG8gUmVuZGVyT2JqZWN0CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAko
cmV2aXNpb24gMjY2MzQxKQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTUyNDIsNyArNTI0Miw3IEBAIEhSRVNVTFQgV2ViVmlldzo6bm90
aWZ5UHJlZmVyZW5jZXNDaGFuZ2UKICAgICBociA9IHByZWZzUHJpdmF0ZS0+Y3VzdG9tRWxlbWVu
dHNFbmFibGVkKCZlbmFibGVkKTsKICAgICBpZiAoRkFJTEVEKGhyKSkKICAgICAgICAgcmV0dXJu
IGhyOwotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0Q3Vz
dG9tRWxlbWVudHNFbmFibGVkKCEhZW5hYmxlZCk7CisgICAgc2V0dGluZ3Muc2V0Q3VzdG9tRWxl
bWVudHNFbmFibGVkKCEhZW5hYmxlZCk7CiAKICAgICBociA9IHByZWZzUHJpdmF0ZS0+bWVudUl0
ZW1FbGVtZW50RW5hYmxlZCgmZW5hYmxlZCk7CiAgICAgaWYgKEZBSUxFRChocikpCkBAIC01Mjgy
LDcgKzUyODIsNyBAQCBIUkVTVUxUIFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlCiAg
ICAgaHIgPSBwcmVmc1ByaXZhdGUtPkNTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVk
KCZlbmFibGVkKTsKICAgICBpZiAoRkFJTEVEKGhyKSkKICAgICAgICAgcmV0dXJuIGhyOwotICAg
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0Q1NTQ3VzdG9tUHJv
cGVydGllc0FuZFZhbHVlc0VuYWJsZWQoISFlbmFibGVkKTsKKyAgICBzZXR0aW5ncy5zZXRDU1ND
dXN0b21Qcm9wZXJ0aWVzQW5kVmFsdWVzRW5hYmxlZCghIWVuYWJsZWQpOwogCiAgICAgaHIgPSBw
cmVmc1ByaXZhdGUtPnVzZXJUaW1pbmdFbmFibGVkKCZlbmFibGVkKTsKICAgICBpZiAoRkFJTEVE
KGhyKSkKQEAgLTUyOTcsNyArNTI5Nyw3IEBAIEhSRVNVTFQgV2ViVmlldzo6bm90aWZ5UHJlZmVy
ZW5jZXNDaGFuZ2UKICAgICBociA9IHByZWZzUHJpdmF0ZS0+bGlua1ByZWxvYWRFbmFibGVkKCZl
bmFibGVkKTsKICAgICBpZiAoRkFJTEVEKGhyKSkKICAgICAgICAgcmV0dXJuIGhyOwotICAgIFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TGlua1ByZWxvYWRFbmFi
bGVkKCEhZW5hYmxlZCk7CisgICAgc2V0dGluZ3Muc2V0TGlua1ByZWxvYWRFbmFibGVkKCEhZW5h
YmxlZCk7CiAKICAgICBociA9IHByZWZzUHJpdmF0ZS0+ZmV0Y2hBUElLZWVwQWxpdmVFbmFibGVk
KCZlbmFibGVkKTsKICAgICBpZiAoRkFJTEVEKGhyKSkKQEAgLTUzMDcsNyArNTMwNyw3IEBAIEhS
RVNVTFQgV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2UKICAgICBociA9IHByZWZzUHJp
dmF0ZS0+bWVkaWFQcmVsb2FkaW5nRW5hYmxlZCgmZW5hYmxlZCk7CiAgICAgaWYgKEZBSUxFRCho
cikpCiAgICAgICAgIHJldHVybiBocjsKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFy
ZWRGZWF0dXJlcygpLnNldE1lZGlhUHJlbG9hZGluZ0VuYWJsZWQoISFlbmFibGVkKTsKKyAgICBz
ZXR0aW5ncy5zZXRNZWRpYVByZWxvYWRpbmdFbmFibGVkKCEhZW5hYmxlZCk7CiAKICAgICBociA9
IHByZWZzUHJpdmF0ZS0+aXNTZWN1cmVDb250ZXh0QXR0cmlidXRlRW5hYmxlZCgmZW5hYmxlZCk7
CiAgICAgaWYgKEZBSUxFRChocikpCkBAIC01MzE3LDcgKzUzMTcsNyBAQCBIUkVTVUxUIFdlYlZp
ZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlCiAgICAgaHIgPSBwcmVmc1ByaXZhdGUtPmRhdGFU
cmFuc2Zlckl0ZW1zRW5hYmxlZCgmZW5hYmxlZCk7CiAgICAgaWYgKEZBSUxFRChocikpCiAgICAg
ICAgIHJldHVybiBocjsKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJl
cygpLnNldERhdGFUcmFuc2Zlckl0ZW1zRW5hYmxlZCghIWVuYWJsZWQpOworICAgIHNldHRpbmdz
LnNldERhdGFUcmFuc2Zlckl0ZW1zRW5hYmxlZCghIWVuYWJsZWQpOwogCiAgICAgaHIgPSBwcmVm
c1ByaXZhdGUtPmluc3BlY3RvckFkZGl0aW9uc0VuYWJsZWQoJmVuYWJsZWQpOwogICAgIGlmIChG
QUlMRUQoaHIpKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407610</attachid>
            <date>2020-08-31 10:36:03 -0700</date>
            <delta_ts>2020-08-31 11:16:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215981-20200831103602.patch</filename>
            <type>text/plain</type>
            <size>162698</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2NjM1OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzMCBAQAorMjAyMC0wOC0zMSAgU2FtIFdl
aW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgTWFueSBzZXR0aW5ncyBpbiBSdW50
aW1lRW5hYmxlZFNldHRpbmdzIHNob3VsZCBhdXRvZ2VuZXJhdGVkIFNldHRpbmdzOiBQYXJ0IDEK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTk4MQor
CisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIFRoaXMgbW92ZXMg
YW4gaW5pdGlhbCBjaHVuayBvZiBSdW50aW1lRW5hYmxlZFNldHRpbmdzIHNldHRpbmdzIHRvIFNl
dHRpbmdzLnlhbWwsIGZvY3VzaW5nCisgICAgICAgIG9uIHNldHRpbmdzIHRoYXQgZG9uJ3QgcmVx
dWlyZSBzdWJzdGFudGlhbCByZWZhY3RvcmluZyBvciBuZXcgZmVhdHVyZXMgdG8gd29yayBpbiBT
ZXR0aW5ncy55YW1sLgorICAgICAgICAKKyAgICAgICAgVGhlIG9uZSAic3Vic3RhbnRpYWwiIGNo
YW5nZSB0byBTZXR0aW5ncyBnZW5lcmF0aW9uIHdhcyB0byBzd2l0Y2ggdGhlIGNvbmRpdGlvbmFs
IGtleSwgdG8gcmVxdWlyZQorICAgICAgICB0aGUgY29tcGxldGUgY29uZGl0aW9uYWwgZm9ybSAo
ZS5nLiByZXF1aXJlIEVOQUJMRShGT08pIHJhdGhlciB0aGFuIEZPTyksIHdoaWNoIG1hdGNoZXMg
CisgICAgICAgIFdlYlByZWZlcmVuY2VzLnlhbWwgaW4gV2ViS2l0LCBhbmQgaXMgbW9yZSB2ZXJz
aXRpbGUgYWxsb3dpbmcgbm9uLUVOQUJMRSBiYXNlZCBjb25kaXRpb25hbHMuIAorCisgICAgICAg
ICogTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9CYXNpY0NyZWRlbnRpYWwuaWRsOgorICAg
ICAgICAqIE1vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbHNDb250YWluZXIu
aWRsOgorICAgICAgICAqIE1vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvTmF2aWdhdG9yQ3Jl
ZGVudGlhbHMuaWRsOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlN
ZXNzYWdlRXZlbnQuaWRsOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFL
ZXlTZXNzaW9uLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5
U3RhdHVzTWFwLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5
U3lzdGVtQWNjZXNzLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlh
S2V5cy5pZGw6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JFTUUu
aWRsOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlh
S2V5TWVzc2FnZUV2ZW50LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xl
Z2FjeS9XZWJLaXRNZWRpYUtleU5lZWRlZEV2ZW50LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2Vu
Y3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uaWRsOgorICAgICAgICAq
IE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5cy5pZGw6CisgICAg
ICAgICogTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWQuaWRsOgorICAgICAgICAqIE1vZHVsZXMvZ2Ft
ZXBhZC9HYW1lcGFkQnV0dG9uLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2dhbWVwYWQvR2FtZXBh
ZEV2ZW50LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2dhbWVwYWQvTmF2aWdhdG9yR2FtZXBhZC5p
ZGw6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXJlY29yZGVyL0Jsb2JFdmVudC5pZGw6CisgICAg
ICAgICogTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIuaWRsOgorICAgICAgICAq
IE1vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyRXJyb3JFdmVudC5pZGw6CisgICAg
ICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaWRsOgorICAgICAgICAqIE1v
ZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVN0cmVhbVRyYWNrOjp1cGRhdGVDYXB0dXJlQWNjb3JkaW5nVG9NdXRlZFN0YXRlKToK
KyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvck1lZGlhRGV2aWNlcy5pZGw6
CisgICAgICAgICogTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9u
c2UuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckF0dGVzdGF0
aW9uUmVzcG9uc2UuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRv
clJlc3BvbnNlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRl
bnRpYWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UHVibGljS2V5Q3JlZGVudGlhbDo6aXNVc2Vy
VmVyaWZ5aW5nUGxhdGZvcm1BdXRoZW50aWNhdG9yQXZhaWxhYmxlKToKKyAgICAgICAgKiBNb2R1
bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuaWRsOgorICAgICAgICAqIFNjcmlwdHMv
U2V0dGluZ3NUZW1wbGF0ZXMvSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5jcHAuZXJiOgorICAg
ICAgICAqIFNjcmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXMvSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRl
ZC5oLmVyYjoKKyAgICAgICAgKiBTY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL1NldHRpbmdzLmNw
cC5lcmI6CisgICAgICAgICogU2NyaXB0cy9TZXR0aW5nc1RlbXBsYXRlcy9TZXR0aW5ncy5oLmVy
YjoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogY3NzL0RPTUNTU0N1c3RvbVByb3BlcnR5RGVzY3JpcHRvci5pZGw6CisgICAgICAgICogY3Nz
L0RPTUNTU1JlZ2lzdGVyQ3VzdG9tUHJvcGVydHkuaWRsOgorICAgICAgICAqIGRvbS9CZWZvcmVM
b2FkRXZlbnQuaWRsOgorICAgICAgICAqIGRvbS9DdXN0b21FbGVtZW50UmVnaXN0cnkuaWRsOgor
ICAgICAgICAqIGRvbS9EYXRhVHJhbnNmZXIuaWRsOgorICAgICAgICAqIGRvbS9EYXRhVHJhbnNm
ZXJJdGVtLmlkbDoKKyAgICAgICAgKiBkb20vRGF0YVRyYW5zZmVySXRlbUxpc3QuaWRsOgorICAg
ICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVVcGdyYWRl
Q2FuZGlkYXRlRWxlbWVudCk6CisgICAgICAgICogZG9tL0RvY3VtZW50LmlkbDoKKyAgICAgICAg
KiBkb20vRWxlbWVudC5pZGw6CisgICAgICAgICogZG9tL0lucHV0RXZlbnQuaWRsOgorICAgICAg
ICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OmRpc3BhdGNoQmVmb3Jl
TG9hZEV2ZW50KToKKyAgICAgICAgKiBkb20vU3RhdGljUmFuZ2UuaWRsOgorICAgICAgICAqIGVk
aXRpbmcvRWRpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cmVnaXN0ZXJDdXN0
b21VbmRvU3RlcCk6CisgICAgICAgICogaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MQW5jaG9yRWxlbWVudDo6aXNTeXN0ZW1QcmV2aWV3TGluayk6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MQW5jaG9yRWxlbWVudDo6cGFyc2VBZENsaWNrQXR0cmlidXRp
b24gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEFuY2hvckVsZW1lbnQ6OmhhbmRsZUNs
aWNrKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxBbmNob3JFbGVtZW50OjpyZWZlcnJlclBvbGlj
eSBjb25zdCk6CisgICAgICAgICogaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5pZGw6CisgICAgICAg
ICogaHRtbC9IVE1MQXJlYUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEJ1dHRvbkVs
ZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEZpZWxkU2V0RWxlbWVudC5pZGw6CisgICAg
ICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTElGcmFt
ZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElGcmFtZUVsZW1lbnQ6OnJlZmVy
cmVyUG9saWN5IGNvbnN0KToKKyAgICAgICAgKiBodG1sL0hUTUxJRnJhbWVFbGVtZW50LmlkbDoK
KyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTEltYWdlRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MSW1hZ2VFbGVtZW50Ojppc1N5c3RlbVByZXZpZXdJbWFnZSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpyZWZlcnJlclBvbGljeSBjb25zdCk6CisgICAgICAg
ICogaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVs
ZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEtleWdlbkVsZW1lbnQuaWRsOgorICAgICAg
ICAqIGh0bWwvSFRNTExpbmtFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxMaW5r
RWxlbWVudDo6YXMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTExpbmtFbGVtZW50Ojpy
ZWZlcnJlclBvbGljeSBjb25zdCk6CisgICAgICAgICogaHRtbC9IVE1MTGlua0VsZW1lbnQuaWRs
OgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MTWVkaWFFbGVtZW50Ojp1cGRhdGVTaG91bGRDb250aW51ZUFmdGVyTmVlZEtleSk6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllcktleU5lZWRlZCk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp3ZWJraXRTZXRNZWRpYUtleXMp
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6a2V5QWRkZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJJbml0aWFsaXphdGlvbkRh
dGFFbmNvdW50ZXJlZCk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbDoKKyAg
ICAgICAgKiBodG1sL0hUTUxNZXRhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
TWV0YUVsZW1lbnQ6OnByb2Nlc3MpOgorICAgICAgICAqIGh0bWwvSFRNTE9iamVjdEVsZW1lbnQu
aWRsOgorICAgICAgICAqIGh0bWwvSFRNTE91dHB1dEVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0
bWwvSFRNTFBpY3R1cmVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQaWN0dXJl
RWxlbWVudDo6aXNTeXN0ZW1QcmV2aWV3SW1hZ2UpOgorICAgICAgICAqIGh0bWwvSFRNTFNjcmlw
dEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNjcmlwdEVsZW1lbnQ6OnJlZmVy
cmVyUG9saWN5IGNvbnN0KToKKyAgICAgICAgKiBodG1sL0hUTUxTY3JpcHRFbGVtZW50LmlkbDoK
KyAgICAgICAgKiBodG1sL0hUTUxTZWxlY3RFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hU
TUxUZXh0QXJlYUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvTGlua1JlbEF0dHJpYnV0ZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpMaW5rUmVsQXR0cmlidXRlOjpMaW5rUmVsQXR0cmlidXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OkxpbmtSZWxBdHRyaWJ1dGU6OmlzU3VwcG9ydGVkKToKKyAg
ICAgICAgKiBodG1sL01lZGlhRW5jcnlwdGVkRXZlbnQuaWRsOgorICAgICAgICAqIGh0bWwvV2Vi
S2l0TWVkaWFLZXlFcnJvci5pZGw6CisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRT
Y2FubmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRva2VuUHJlbG9hZFNjYW5uZXI6OlN0YXJ0
VGFnU2Nhbm5lcjo6U3RhcnRUYWdTY2FubmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRva2VuUHJl
bG9hZFNjYW5uZXI6OlN0YXJ0VGFnU2Nhbm5lcjo6cHJvY2Vzc0F0dHJpYnV0ZXMpOgorICAgICAg
ICAoV2ViQ29yZTo6VG9rZW5QcmVsb2FkU2Nhbm5lcjo6U3RhcnRUYWdTY2FubmVyOjpjcmVhdGVQ
cmVsb2FkUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpUb2tlblByZWxvYWRTY2FubmVyOjpT
dGFydFRhZ1NjYW5uZXI6OnByb2Nlc3NBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6VG9r
ZW5QcmVsb2FkU2Nhbm5lcjo6U3RhcnRUYWdTY2FubmVyOjpyZXNvdXJjZVR5cGUgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6VG9rZW5QcmVsb2FkU2Nhbm5lcjo6c2Nhbik6CisgICAgICAgICog
bG9hZGVyL0ltYWdlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlTG9hZGVyOjp1
cGRhdGVGcm9tRWxlbWVudCk6CisgICAgICAgICogbG9hZGVyL0xpbmtMb2FkZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TGlua0xvYWRlcjo6cmVzb3VyY2VUeXBlRnJvbUFzQXR0cmlidXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUxpbmtQcmVsb2FkUmVzb3VyY2VDbGllbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6TGlua0xvYWRlcjo6aXNTdXBwb3J0ZWRUeXBlKToKKyAgICAgICAgKFdl
YkNvcmU6OkxpbmtMb2FkZXI6OnByZWxvYWRJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpM
aW5rTG9hZGVyOjpwcmVmZXRjaElmTmVlZGVkKToKKyAgICAgICAgKiBsb2FkZXIvTGlua0xvYWRl
ci5oOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKKyAgICAgICAgKiBwYWdlL0ludGVy
c2VjdGlvbk9ic2VydmVyLmlkbDoKKyAgICAgICAgKiBwYWdlL0ludGVyc2VjdGlvbk9ic2VydmVy
RW50cnkuaWRsOgorICAgICAgICAqIHBhZ2UvTmF2aWdhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Ok5hdmlnYXRvcjo6Y2FuU2hhcmUpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yOjpz
aGFyZSk6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3IuaDoKKyAgICAgICAgKiBwYWdlL05hdmln
YXRvclNoYXJlLmlkbDoKKyAgICAgICAgKiBwYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6UnVudGltZUVuYWJs
ZWRGZWF0dXJlcyk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjp0
b3VjaEV2ZW50c0VuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2UvUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcy5oOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2V0TW91c2VFdmVudHNTaW11bGF0aW9uRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRCbGFua0FuY2hvclRhcmdldEltcGxpZXNOb09w
ZW5lckVuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6YmxhbmtBbmNob3JUYXJnZXRJbXBsaWVzTm9PcGVuZXJFbmFibGVkIGNvbnN0KTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldExp
bmtQcmVsb2FkRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpsaW5rUHJlbG9hZEVuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0TGlua1ByZWZldGNoRW5hYmxl
ZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjps
aW5rUHJlZmV0Y2hFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldE1lZGlhUHJlbG9hZGluZ0VuYWJsZWQpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6bWVkaWFQcmVsb2Fk
aW5nRW5hYmxlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzZXRJbnB1dEV2ZW50c0VuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6aW5wdXRFdmVudHNFbmFibGVkIGNvbnN0
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNl
dEludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25F
bmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNldEN1c3RvbUVsZW1lbnRzRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpjdXN0b21FbGVtZW50c0VuYWJsZWQgY29u
c3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2V0RGF0YVRyYW5zZmVySXRlbXNFbmFibGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmRhdGFUcmFuc2Zlckl0ZW1zRW5hYmxlZCBjb25zdCk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRX
ZWJTaGFyZUVuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6d2ViU2hhcmVFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldFdlYkF1dGhlbnRpY2F0aW9uRW5hYmxl
ZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjp3
ZWJBdXRoZW50aWNhdGlvbkVuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0V2ViQXV0aGVudGljYXRpb25Mb2NhbEF1dGhl
bnRpY2F0b3JFbmFibGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OndlYkF1dGhlbnRpY2F0aW9uTG9jYWxBdXRoZW50aWNhdG9yRW5hYmxlZCBj
b25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpzZXREaXNhYmxlZEFkYXB0YXRpb25zTWV0YVRhZ0VuYWJsZWQpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6ZGlzYWJsZWRBZGFwdGF0aW9uc01l
dGFUYWdFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNldENTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVkKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmNzc0N1
c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldFN5bnRoZXRpY0VkaXRpbmdDb21t
YW5kc0VuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c3ludGhldGljRWRpdGluZ0NvbW1hbmRzRW5hYmxlZCBjb25zdCk6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjptZWRpYVJlY29yZGVy
RW5hYmxlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzZXRNZWRpYVJlY29yZGVyRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjptZWRpYURldmljZXNFbmFibGVkIGNvbnN0
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNl
dE1lZGlhRGV2aWNlc0VuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6bWVkaWFTdHJlYW1FbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldE1lZGlhU3RyZWFtRW5h
YmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpzY3JlZW5DYXB0dXJlRW5hYmxlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRTY3JlZW5DYXB0dXJlRW5hYmxlZCk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRHYW1lcGFk
c0VuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0
dXJlczo6Z2FtZXBhZHNFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldERvd25sb2FkQXR0cmlidXRlRW5hYmxlZCk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpkb3dubG9h
ZEF0dHJpYnV0ZUVuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2V0SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmludGVyc2Vj
dGlvbk9ic2VydmVyRW5hYmxlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRVbmRvTWFuYWdlckFQSUVuYWJsZWQpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6dW5kb01hbmFnZXJB
UElFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnNldEVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZCk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjplbmNyeXB0ZWRNZWRpYUFQSUVu
YWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2V0TGVnYWN5RW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmxlZ2FjeUVuY3J5cHRlZE1l
ZGlhQVBJRW5hYmxlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzZXRTeXN0ZW1QcmV2aWV3RW5hYmxlZCk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzeXN0ZW1QcmV2aWV3RW5hYmxl
ZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzZXRMZWdhY3lCZWZvcmVMb2FkRXZlbnRFbmFibGVkKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmxlZ2FjeUJlZm9yZUxvYWRFdmVudEVu
YWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6YWRDbGlja0F0dHJpYnV0aW9uRW5hYmxlZCBjb25zdCk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRBZENsaWNrQXR0cmlidXRp
b25FbmFibGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVh
dHVyZXM6OnNldFRvdWNoRXZlbnRzRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpyZWZlcnJlclBvbGljeUF0dHJpYnV0ZUVuYWJsZWQg
Y29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2V0UmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGVFbmFibGVkKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmludGVycnVwdEF1ZGlvT25QYWdlVmlz
aWJpbGl0eUNoYW5nZUVuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0SW50ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5
Q2hhbmdlRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpsaW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVkIGNvbnN0KTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldExpbmtQ
cmVsb2FkUmVzcG9uc2l2ZUltYWdlc0VuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0TGF6eUltYWdlTG9hZGluZ0VuYWJsZWQpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6bGF6eUlt
YWdlTG9hZGluZ0VuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2V0SXNJbkFwcEJyb3dzZXJQcml2YWN5RW5hYmxlZCk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc0luQXBw
QnJvd3NlclByaXZhY3lFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldE5lZWRzSW5BcHBCcm93c2VyUHJpdmFjeVF1aXJr
cyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpu
ZWVkc0luQXBwQnJvd3NlclByaXZhY3lRdWlya3MgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0V2ViU2hhcmVGaWxlQVBJRW5hYmxl
ZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjp3
ZWJTaGFyZUZpbGVBUElFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL1Nl
dHRpbmdzLnlhbWw6CisgICAgICAgICogcGFnZS9VbmRvSXRlbS5pZGw6CisgICAgICAgICogcGFn
ZS9VbmRvTWFuYWdlci5pZGw6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjpwYWludEludG9SZWN0KToKKyAgICAgICAg
KiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJu
YWxTZXR0aW5nczo6QmFja3VwOjpCYWNrdXApOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxT
ZXR0aW5nczo6QmFja3VwOjpyZXN0b3JlVG8pOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxT
ZXR0aW5nczo6c2V0U2NyZWVuQ2FwdHVyZUVuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAqIHRl
c3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0
aW5ncy5pZGw6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW50ZXJuYWxzOjpyZXNldFRvQ29uc2lzdGVudFN0YXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OkludGVybmFsczo6c2V0U2hvdWxkSW50ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5Q2hh
bmdlKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6YWRkUHJlZmV0Y2hMb2FkRXZlbnRM
aXN0ZW5lcik6CisKIDIwMjAtMDgtMzEgIEhlY3RvciBMb3BleiAgPGhlY3Rvcl9pX2xvcGV6QGFw
cGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByZXZlcnRpbmcgcjI2NjM1MC4KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQmFzaWNDcmVkZW50
aWFsLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NyZWRlbnRpYWxt
YW5hZ2VtZW50L0Jhc2ljQ3JlZGVudGlhbC5pZGwJKHJldmlzaW9uIDI2NjM1OCkKKysrIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQmFzaWNDcmVkZW50aWFsLmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsNyBAQAogICAgIEludGVyZmFjZU5hbWU9Q3Jl
ZGVudGlhbCwKICAgICBDb25kaXRpb25hbD1XRUJfQVVUSE4sCiAgICAgQ3VzdG9tVG9KU09iamVj
dCwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdlYkF1dGhlbnRpY2F0aW9uLAorICAgIEVuYWJsZWRC
eVNldHRpbmc9V2ViQXV0aGVudGljYXRpb24sCiAgICAgRXhwb3NlZD1XaW5kb3csCiAgICAgU2Vj
dXJlQ29udGV4dAogXSBpbnRlcmZhY2UgQmFzaWNDcmVkZW50aWFsIHsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbHNDb250YWluZXIu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvY3JlZGVudGlhbG1hbmFn
ZW1lbnQvQ3JlZGVudGlhbHNDb250YWluZXIuaWRsCShyZXZpc2lvbiAyNjYzNTgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50L0NyZWRlbnRpYWxzQ29udGFp
bmVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogCiBbCiAgICAgQ29uZGl0
aW9uYWw9V0VCX0FVVEhOLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViQXV0aGVudGljYXRpb24s
CisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJBdXRoZW50aWNhdGlvbiwKICAgICBFeHBvc2VkPVdp
bmRvdywKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIFNlY3VyZUNvbnRleHQs
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50L05hdmln
YXRvckNyZWRlbnRpYWxzLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2NyZWRlbnRpYWxtYW5hZ2VtZW50L05hdmlnYXRvckNyZWRlbnRpYWxzLmlkbAkocmV2aXNpb24g
MjY2MzU4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9O
YXZpZ2F0b3JDcmVkZW50aWFscy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAK
IAogWwogICAgIENvbmRpdGlvbmFsPVdFQl9BVVRITiwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdl
YkF1dGhlbnRpY2F0aW9uLAorICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViQXV0aGVudGljYXRpb24s
CiBdIHBhcnRpYWwgaW50ZXJmYWNlIE5hdmlnYXRvciB7CiAgICAgW1NlY3VyZUNvbnRleHQsIFNh
bWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBDcmVkZW50aWFsc0NvbnRhaW5lciBjcmVkZW50
aWFsczsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5TWVzc2FnZUV2ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50LmlkbAkocmV2aXNpb24gMjY2
MzU4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1l
c3NhZ2VFdmVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQwLDcgKzQwLDcgQEAgZGljdGlvbmFy
eSBNZWRpYUtleU1lc3NhZ2VFdmVudEluaXQgOiBFdgogCiBbCiAgICAgQ29uZGl0aW9uYWw9RU5D
UllQVEVEX01FRElBLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9RW5jcnlwdGVkTWVkaWFBUEksCisg
ICAgRW5hYmxlZEJ5U2V0dGluZz1FbmNyeXB0ZWRNZWRpYUFQSSwKICAgICBEaXNhYmxlZEJ5UXVp
cms9aGFzQnJva2VuRW5jcnlwdGVkTWVkaWFBUElTdXBwb3J0LAogXSBpbnRlcmZhY2UgTWVkaWFL
ZXlNZXNzYWdlRXZlbnQgOiBFdmVudCB7CiAgICAgY29uc3RydWN0b3IoRE9NU3RyaW5nIHR5cGUs
IE1lZGlhS2V5TWVzc2FnZUV2ZW50SW5pdCBldmVudEluaXREaWN0KTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vz
c2lvbi5pZGwJKHJldmlzaW9uIDI2NjM1OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5j
cnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjksNyAr
MjksNyBAQAogWwogICAgIEFjdGl2ZURPTU9iamVjdCwKICAgICBDb25kaXRpb25hbD1FTkNSWVBU
RURfTUVESUEsCi0gICAgRW5hYmxlZEF0UnVudGltZT1FbmNyeXB0ZWRNZWRpYUFQSSwKKyAgICBF
bmFibGVkQnlTZXR0aW5nPUVuY3J5cHRlZE1lZGlhQVBJLAogICAgIEV4cG9ydFRvV3JhcHBlZEZ1
bmN0aW9uLAogICAgIERpc2FibGVkQnlRdWlyaz1oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1
cHBvcnQsCiBdIGludGVyZmFjZSBNZWRpYUtleVNlc3Npb24gOiBFdmVudFRhcmdldCB7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3RhdHVzTWFw
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlh
L01lZGlhS2V5U3RhdHVzTWFwLmlkbAkocmV2aXNpb24gMjY2MzU4KQorKysgU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN0YXR1c01hcC5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTM4LDcgKzM4LDcgQEAgZW51bSBNZWRpYUtleVN0YXR1cyB7CiAKIFsKICAgICBD
b25kaXRpb25hbD1FTkNSWVBURURfTUVESUEsCi0gICAgRW5hYmxlZEF0UnVudGltZT1FbmNyeXB0
ZWRNZWRpYUFQSSwKKyAgICBFbmFibGVkQnlTZXR0aW5nPUVuY3J5cHRlZE1lZGlhQVBJLAogICAg
IERpc2FibGVkQnlRdWlyaz1oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnQsCiBdIGlu
dGVyZmFjZSBNZWRpYUtleVN0YXR1c01hcCB7CiAgICAgaXRlcmFibGU8QnVmZmVyU291cmNlLCBN
ZWRpYUtleVN0YXR1cz47CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1l
ZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmlkbAkocmV2aXNp
b24gMjY2MzU4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRp
YUtleVN5c3RlbUFjY2Vzcy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAKIAog
WwogICAgIENvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwKLSAgICBFbmFibGVkQXRSdW50aW1l
PUVuY3J5cHRlZE1lZGlhQVBJLAorICAgIEVuYWJsZWRCeVNldHRpbmc9RW5jcnlwdGVkTWVkaWFB
UEksCiAgICAgRGlzYWJsZWRCeVF1aXJrPWhhc0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9y
dCwKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogXSBpbnRlcmZhY2UgTWVkaWFLZXlT
eXN0ZW1BY2Nlc3MgewpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleXMuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5j
cnlwdGVkbWVkaWEvTWVkaWFLZXlzLmlkbAkocmV2aXNpb24gMjY2MzU4KQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC0yOCw3ICsyOCw3IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEs
Ci0gICAgRW5hYmxlZEF0UnVudGltZT1FbmNyeXB0ZWRNZWRpYUFQSSwKKyAgICBFbmFibGVkQnlT
ZXR0aW5nPUVuY3J5cHRlZE1lZGlhQVBJLAogICAgIEV4cG9ydFRvV3JhcHBlZEZ1bmN0aW9uLAog
ICAgIERpc2FibGVkQnlRdWlyaz1oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnQsCiBd
IGludGVyZmFjZSBNZWRpYUtleXMgewpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNy
eXB0ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2aWdhdG9yRU1FLmlkbAkocmV2aXNpb24gMjY2MzU4
KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JFTUUu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw3IEBACiAKIFsKICAgICBDb25kaXRpb25h
bD1FTkNSWVBURURfTUVESUEsCi0gICAgRW5hYmxlZEF0UnVudGltZT1FbmNyeXB0ZWRNZWRpYUFQ
SSwKKyAgICBFbmFibGVkQnlTZXR0aW5nPUVuY3J5cHRlZE1lZGlhQVBJLAogICAgIERpc2FibGVk
QnlRdWlyaz1oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnQsCiBdIHBhcnRpYWwgaW50
ZXJmYWNlIE5hdmlnYXRvciB7CiAgICAgW0NhbGxXaXRoPURvY3VtZW50XSBQcm9taXNlPE1lZGlh
S2V5U3lzdGVtQWNjZXNzPiByZXF1ZXN0TWVkaWFLZXlTeXN0ZW1BY2Nlc3MoRE9NU3RyaW5nIGtl
eVN5c3RlbSwgc2VxdWVuY2U8TWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uPiBzdXBwb3J0ZWRD
b25maWd1cmF0aW9uKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVk
aWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5TWVzc2FnZUV2ZW50LmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtl
eU1lc3NhZ2VFdmVudC5pZGwJKHJldmlzaW9uIDI2NjM1OCkKKysrIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5TWVzc2FnZUV2ZW50Lmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNyBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9
TEVHQUNZX0VOQ1JZUFRFRF9NRURJQSwKLSAgICBFbmFibGVkQXRSdW50aW1lPUxlZ2FjeUVuY3J5
cHRlZE1lZGlhQVBJLAorICAgIEVuYWJsZWRCeVNldHRpbmc9TGVnYWN5RW5jcnlwdGVkTWVkaWFB
UEksCiBdIGludGVyZmFjZSBXZWJLaXRNZWRpYUtleU1lc3NhZ2VFdmVudCA6IEV2ZW50IHsKICAg
ICBjb25zdHJ1Y3RvcihET01TdHJpbmcgdHlwZSwgb3B0aW9uYWwgV2ViS2l0TWVkaWFLZXlNZXNz
YWdlRXZlbnRJbml0IGV2ZW50SW5pdERpY3QpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleU5lZWRlZEV2ZW50LmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2Fj
eS9XZWJLaXRNZWRpYUtleU5lZWRlZEV2ZW50LmlkbAkocmV2aXNpb24gMjY2MzU4KQorKysgU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlO
ZWVkZWRFdmVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDcgQEAKIAogWwogICAg
IENvbmRpdGlvbmFsPUxFR0FDWV9FTkNSWVBURURfTUVESUEsCi0gICAgRW5hYmxlZEF0UnVudGlt
ZT1MZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSSwKKyAgICBFbmFibGVkQnlTZXR0aW5nPUxlZ2FjeUVu
Y3J5cHRlZE1lZGlhQVBJLAogXSBpbnRlcmZhY2UgV2ViS2l0TWVkaWFLZXlOZWVkZWRFdmVudCA6
IEV2ZW50IHsKICAgICBjb25zdHJ1Y3RvcihET01TdHJpbmcgdHlwZSwgb3B0aW9uYWwgV2ViS2l0
TWVkaWFLZXlOZWVkZWRFdmVudEluaXQgZXZlbnRJbml0RGljdCk7CiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5U2Vzc2lv
bi5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlTZXNzaW9uLmlkbAkocmV2aXNpb24gMjY2MzU4KQorKysg
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFL
ZXlTZXNzaW9uLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogWwogICAgIEFj
dGl2ZURPTU9iamVjdCwKICAgICBDb25kaXRpb25hbD1MRUdBQ1lfRU5DUllQVEVEX01FRElBLAot
ICAgIEVuYWJsZWRBdFJ1bnRpbWU9TGVnYWN5RW5jcnlwdGVkTWVkaWFBUEksCisgICAgRW5hYmxl
ZEJ5U2V0dGluZz1MZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSSwKIF0gaW50ZXJmYWNlIFdlYktpdE1l
ZGlhS2V5U2Vzc2lvbiA6IEV2ZW50VGFyZ2V0IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgV2Vi
S2l0TWVkaWFLZXlFcnJvciBlcnJvcjsKIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9l
bmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlzLmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtl
eXMuaWRsCShyZXZpc2lvbiAyNjYzNTgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleXMuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0y
NSw3ICsyNSw3IEBACiAgCiBbCiAgICAgQ29uZGl0aW9uYWw9TEVHQUNZX0VOQ1JZUFRFRF9NRURJ
QSwKLSAgICBFbmFibGVkQXRSdW50aW1lPUxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJLAorICAgIEVu
YWJsZWRCeVNldHRpbmc9TGVnYWN5RW5jcnlwdGVkTWVkaWFBUEksCiBdIGludGVyZmFjZSBXZWJL
aXRNZWRpYUtleXMgewogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gY29uc3RydWN0b3IoRE9NU3Ry
aW5nIGtleVN5c3RlbSk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBhZC9H
YW1lcGFkLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dhbWVwYWQv
R2FtZXBhZC5pZGwJKHJldmlzaW9uIDI2NjM1OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Z2FtZXBhZC9HYW1lcGFkLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQsNyArMjQsNyBAQAogICov
CiAKIFsKLSAgICBFbmFibGVkQXRSdW50aW1lPUdhbWVwYWRzLAorICAgIEVuYWJsZWRCeVNldHRp
bmc9R2FtZXBhZHMsCiAgICAgQ29uZGl0aW9uYWw9R0FNRVBBRCwKICAgICBJbXBsZW1lbnRhdGlv
bkxhY2tzVlRhYmxlCiBdIGludGVyZmFjZSBHYW1lcGFkIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZ2FtZXBhZC9HYW1lcGFkQnV0dG9uLmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2dhbWVwYWQvR2FtZXBhZEJ1dHRvbi5pZGwJKHJldmlzaW9uIDI2NjM1
OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBhZC9HYW1lcGFkQnV0dG9uLmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMjQsNyArMjQsNyBAQAogICovCiAKIFsKLSAgICBFbmFibGVkQXRS
dW50aW1lPUdhbWVwYWRzLAorICAgIEVuYWJsZWRCeVNldHRpbmc9R2FtZXBhZHMsCiAgICAgQ29u
ZGl0aW9uYWw9R0FNRVBBRCwKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCiBdIGludGVy
ZmFjZSBHYW1lcGFkQnV0dG9uIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBh
ZC9HYW1lcGFkRXZlbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Z2FtZXBhZC9HYW1lcGFkRXZlbnQuaWRsCShyZXZpc2lvbiAyNjYzNTgpCisrKyBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2dhbWVwYWQvR2FtZXBhZEV2ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAt
MjUsNyArMjUsNyBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9R0FNRVBBRCwKLSAgICBFbmFibGVk
QXRSdW50aW1lPUdhbWVwYWRzLAorICAgIEVuYWJsZWRCeVNldHRpbmc9R2FtZXBhZHMsCiBdIGlu
dGVyZmFjZSBHYW1lcGFkRXZlbnQgOiBFdmVudCB7CiAgICAgY29uc3RydWN0b3IoRE9NU3RyaW5n
IHR5cGUsIG9wdGlvbmFsIEdhbWVwYWRFdmVudEluaXQgZXZlbnRJbml0RGljdCk7CiAKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBhZC9OYXZpZ2F0b3JHYW1lcGFkLmlkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dhbWVwYWQvTmF2aWdhdG9yR2FtZXBh
ZC5pZGwJKHJldmlzaW9uIDI2NjM1OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBh
ZC9OYXZpZ2F0b3JHYW1lcGFkLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjYsNiArMjYsNiBAQAog
WwogICAgIENvbmRpdGlvbmFsPUdBTUVQQUQsCiBdIHBhcnRpYWwgaW50ZXJmYWNlIE5hdmlnYXRv
ciB7Ci0gICAgW0VuYWJsZWRBdFJ1bnRpbWU9R2FtZXBhZHNdIHNlcXVlbmNlPEdhbWVwYWQ+IGdl
dEdhbWVwYWRzKCk7CisgICAgW0VuYWJsZWRCeVNldHRpbmc9R2FtZXBhZHNdIHNlcXVlbmNlPEdh
bWVwYWQ+IGdldEdhbWVwYWRzKCk7CiB9OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhcmVjb3JkZXIvQmxvYkV2ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvQmxvYkV2ZW50LmlkbAkocmV2aXNpb24gMjY2MzU4KQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29yZGVyL0Jsb2JFdmVudC5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAgdHlwZWRlZiBkb3VibGUgRE9NSGlnaFJlc1Rp
bWVTdGFtcDsKIAogWwogICAgIENvbmRpdGlvbmFsPU1FRElBX1NUUkVBTSwKLSAgICBFbmFibGVk
QXRSdW50aW1lPU1lZGlhUmVjb3JkZXIsCisgICAgRW5hYmxlZEJ5U2V0dGluZz1NZWRpYVJlY29y
ZGVyLAogICAgIEV4cG9zZWQ9V2luZG93CiBdICBpbnRlcmZhY2UgQmxvYkV2ZW50IDogRXZlbnQg
ewogICAgIGNvbnN0cnVjdG9yKERPTVN0cmluZyB0eXBlLCBCbG9iRXZlbnRJbml0IGV2ZW50SW5p
dERpY3QpOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlh
UmVjb3JkZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFy
ZWNvcmRlci9NZWRpYVJlY29yZGVyLmlkbAkocmV2aXNpb24gMjY2MzU4KQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0yNyw3ICsyNyw3IEBAIGVudW0gUmVjb3JkaW5nU3RhdGUgeyAiaW5hY3RpdmUiLCAi
cmVjb3IKIFsKICAgICBBY3RpdmVET01PYmplY3QsCiAgICAgQ29uZGl0aW9uYWw9TUVESUFfU1RS
RUFNLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9TWVkaWFSZWNvcmRlciwKKyAgICBFbmFibGVkQnlT
ZXR0aW5nPU1lZGlhUmVjb3JkZXIsCiAgICAgRXhwb3NlZD1XaW5kb3cKIF0gaW50ZXJmYWNlIE1l
ZGlhUmVjb3JkZXIgOiBFdmVudFRhcmdldCB7CiAgICAgW0NhbGxXaXRoPURvY3VtZW50LCBNYXlU
aHJvd0V4Y2VwdGlvbl0gY29uc3RydWN0b3IoTWVkaWFTdHJlYW0gc3RyZWFtLCBvcHRpb25hbCBN
ZWRpYVJlY29yZGVyT3B0aW9ucyBvcHRpb25zKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyRXJyb3JFdmVudC5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJFcnJv
ckV2ZW50LmlkbAkocmV2aXNpb24gMjY2MzU4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJFcnJvckV2ZW50LmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMjksNyArMjksNyBAQCBkaWN0aW9uYXJ5IE1lZGlhUmVjb3JkZXJFcnJvckV2ZW50SW5pdCA6
CiBbCiAgICAgQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNLAogICAgIEV4cG9zZWQ9V2luZG93LAot
ICAgIEVuYWJsZWRBdFJ1bnRpbWU9TWVkaWFSZWNvcmRlcgorICAgIEVuYWJsZWRCeVNldHRpbmc9
TWVkaWFSZWNvcmRlcgogXSBpbnRlcmZhY2UgTWVkaWFSZWNvcmRlckVycm9yRXZlbnQgOiBFdmVu
dCB7CiAgICAgY29uc3RydWN0b3IoRE9NU3RyaW5nIHR5cGUsIE1lZGlhUmVjb3JkZXJFcnJvckV2
ZW50SW5pdCBldmVudEluaXREaWN0KTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmlkbAkocmV2aXNpb24gMjY2MzU4KQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC0zOSw3ICszOSw3IEBACiAKICAgICBNZWRpYVRyYWNrU3VwcG9ydGVk
Q29uc3RyYWludHMgZ2V0U3VwcG9ydGVkQ29uc3RyYWludHMoKTsKICAgICBbUHJpdmF0ZUlkZW50
aWZpZXIsIFB1YmxpY0lkZW50aWZpZXJdIFByb21pc2U8TWVkaWFTdHJlYW0+IGdldFVzZXJNZWRp
YShvcHRpb25hbCBNZWRpYVN0cmVhbUNvbnN0cmFpbnRzIGNvbnN0cmFpbnRzKTsKLSAgICBbRW5h
YmxlZEF0UnVudGltZT1TY3JlZW5DYXB0dXJlXSBQcm9taXNlPE1lZGlhU3RyZWFtPiBnZXREaXNw
bGF5TWVkaWEob3B0aW9uYWwgRGlzcGxheU1lZGlhU3RyZWFtQ29uc3RyYWludHMgY29uc3RyYWlu
dHMpOworICAgIFtFbmFibGVkQnlTZXR0aW5nPVNjcmVlbkNhcHR1cmVdIFByb21pc2U8TWVkaWFT
dHJlYW0+IGdldERpc3BsYXlNZWRpYShvcHRpb25hbCBEaXNwbGF5TWVkaWFTdHJlYW1Db25zdHJh
aW50cyBjb25zdHJhaW50cyk7CiB9OwogCiBbCkBAIC01OCw3ICs1OCw3IEBACiAKIFsKICAgICBD
b25kaXRpb25hbD1NRURJQV9TVFJFQU0sCi0gICAgRW5hYmxlZEF0UnVudGltZT1TY3JlZW5DYXB0
dXJlCisgICAgRW5hYmxlZEJ5U2V0dGluZz1TY3JlZW5DYXB0dXJlCiBdIGVudW0gRGlzcGxheUNh
cHR1cmVTdXJmYWNlVHlwZSB7CiAgICAgIm1vbml0b3IiLAogICAgICJ3aW5kb3ciLApJbmRleDog
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3Ry
ZWFtVHJhY2suY3BwCShyZXZpc2lvbiAyNjYzNTgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NzIs
NyArNDcyLDcgQEAgdm9pZCBNZWRpYVN0cmVhbVRyYWNrOjp1cGRhdGVDYXB0dXJlQWNjbwogICAg
IGF1dG8qIGFjdGl2ZUF1ZGlvU291cmNlID0gUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2lu
Z2xldG9uKCkuYXVkaW9DYXB0dXJlRmFjdG9yeSgpLmFjdGl2ZVNvdXJjZSgpOwogICAgIGlmIChh
Y3RpdmVBdWRpb1NvdXJjZSAmJiBpc1NvdXJjZUNhcHR1cmluZ0ZvclRyYWNrSW5Eb2N1bWVudCgq
YWN0aXZlQXVkaW9Tb3VyY2UsIGRvY3VtZW50KSkgewogICAgICAgICBib29sIHBhZ2VNdXRlZCA9
IHBhZ2UtPm11dGVkU3RhdGUoKSAmIE1lZGlhUHJvZHVjZXI6OkF1ZGlvQW5kVmlkZW9DYXB0dXJl
SXNNdXRlZDsKLSAgICAgICAgYWN0aXZlQXVkaW9Tb3VyY2UtPnNldE11dGVkKHBhZ2VNdXRlZCB8
fCAoZG9jdW1lbnQuaGlkZGVuKCkgJiYgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVh
dHVyZXMoKS5pbnRlcnJ1cHRBdWRpb09uUGFnZVZpc2liaWxpdHlDaGFuZ2VFbmFibGVkKCkpKTsK
KyAgICAgICAgYWN0aXZlQXVkaW9Tb3VyY2UtPnNldE11dGVkKHBhZ2VNdXRlZCB8fCAoZG9jdW1l
bnQuaGlkZGVuKCkgJiYgZG9jdW1lbnQuc2V0dGluZ3MoKS5pbnRlcnJ1cHRBdWRpb09uUGFnZVZp
c2liaWxpdHlDaGFuZ2VFbmFibGVkKCkpKTsKICAgICB9CiAKICAgICBhdXRvKiBhY3RpdmVWaWRl
b1NvdXJjZSA9IFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigpLnZpZGVvQ2Fw
dHVyZUZhY3RvcnkoKS5hY3RpdmVTb3VyY2UoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yTWVkaWFEZXZpY2VzLmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvck1lZGlhRGV2aWNlcy5p
ZGwJKHJldmlzaW9uIDI2NjM1OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vTmF2aWdhdG9yTWVkaWFEZXZpY2VzLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAs
NyBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNLAotICAgIEVuYWJsZWRBdFJ1
bnRpbWU9TWVkaWFEZXZpY2VzLAorICAgIEVuYWJsZWRCeVNldHRpbmc9TWVkaWFEZXZpY2VzLAog
XSBwYXJ0aWFsIGludGVyZmFjZSBOYXZpZ2F0b3IgewogICAgIFtTYW1lT2JqZWN0LCBTZWN1cmVD
b250ZXh0LCBDb250ZXh0QWxsb3dzTWVkaWFEZXZpY2VzXSByZWFkb25seSBhdHRyaWJ1dGUgTWVk
aWFEZXZpY2VzIG1lZGlhRGV2aWNlczsKICAgICBbQ3VzdG9tLCBFbmFibGVkQnlTZXR0aW5nPUxl
Z2FjeUdldFVzZXJNZWRpYV0gdW5kZWZpbmVkIGdldFVzZXJNZWRpYShvYmplY3QgY29uc3RyYWlu
dHMsIG9iamVjdD8gc3VjY2Vzc0NhbGxiYWNrLCBvYmplY3Q/IGVycm9yQ2FsbGJhY2spOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQXNzZXJ0aW9u
UmVzcG9uc2UuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0
aG4vQXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlLmlkbAkocmV2aXNpb24gMjY2MzU4KQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQXNzZXJ0aW9u
UmVzcG9uc2UuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKIFsKICAgICBD
b25kaXRpb25hbD1XRUJfQVVUSE4sCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJBdXRoZW50aWNh
dGlvbiwKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkF1dGhlbnRpY2F0aW9uLAogICAgIEV4cG9z
ZWQ9V2luZG93LAogICAgIFNlY3VyZUNvbnRleHQKIF0gaW50ZXJmYWNlIEF1dGhlbnRpY2F0b3JB
c3NlcnRpb25SZXNwb25zZSA6IEF1dGhlbnRpY2F0b3JSZXNwb25zZSB7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNl
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhl
bnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLmlkbAkocmV2aXNpb24gMjY2MzU4KQorKysgU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNw
b25zZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDcgQEAKIAogWwogICAgIENvbmRp
dGlvbmFsPVdFQl9BVVRITiwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdlYkF1dGhlbnRpY2F0aW9u
LAorICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViQXV0aGVudGljYXRpb24sCiAgICAgRXhwb3NlZD1X
aW5kb3csCiAgICAgU2VjdXJlQ29udGV4dAogXSBpbnRlcmZhY2UgQXV0aGVudGljYXRvckF0dGVz
dGF0aW9uUmVzcG9uc2UgOiBBdXRoZW50aWNhdG9yUmVzcG9uc2UgewpJbmRleDogU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yUmVzcG9uc2UuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvclJlc3Bv
bnNlLmlkbAkocmV2aXNpb24gMjY2MzU4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dXRobi9BdXRoZW50aWNhdG9yUmVzcG9uc2UuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsy
Niw3IEBACiBbCiAgICAgQ29uZGl0aW9uYWw9V0VCX0FVVEhOLAogICAgIEN1c3RvbVRvSlNPYmpl
Y3QsCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJBdXRoZW50aWNhdGlvbiwKKyAgICBFbmFibGVk
QnlTZXR0aW5nPVdlYkF1dGhlbnRpY2F0aW9uLAogICAgIEV4cG9zZWQ9V2luZG93LAogICAgIFNl
Y3VyZUNvbnRleHQsCiBdIGludGVyZmFjZSBBdXRoZW50aWNhdG9yUmVzcG9uc2UgewpJbmRleDog
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNy
ZWRlbnRpYWwuY3BwCShyZXZpc2lvbiAyNjYzNTgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3
ICszMyw3IEBACiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJKU0RPTVByb21pc2VE
ZWZlcnJlZC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKLSNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZl
YXR1cmVzLmgiCisjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9CYXNl
NjQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNjEsNyArNjEsNyBAQCBQdWJsaWNLZXlD
cmVkZW50aWFsOjpQdWJsaWNLZXlDcmVkZW50aWFsCiAKIHZvaWQgUHVibGljS2V5Q3JlZGVudGlh
bDo6aXNVc2VyVmVyaWZ5aW5nUGxhdGZvcm1BdXRoZW50aWNhdG9yQXZhaWxhYmxlKERvY3VtZW50
JiBkb2N1bWVudCwgRE9NUHJvbWlzZURlZmVycmVkPElETEJvb2xlYW4+JiYgcHJvbWlzZSkKIHsK
LSAgICBpZiAoIVJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkud2ViQXV0
aGVudGljYXRpb25Mb2NhbEF1dGhlbnRpY2F0b3JFbmFibGVkKCkpIHsKKyAgICBpZiAoIWRvY3Vt
ZW50LnNldHRpbmdzKCkud2ViQXV0aGVudGljYXRpb25Mb2NhbEF1dGhlbnRpY2F0b3JFbmFibGVk
KCkpIHsKICAgICAgICAgcHJvbWlzZS5yZXNvbHZlKGZhbHNlKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3Jl
ZGVudGlhbC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRo
bi9QdWJsaWNLZXlDcmVkZW50aWFsLmlkbAkocmV2aXNpb24gMjY2MzU4KQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsLmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMjUsNyArMjUsNyBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9V0VCX0FVVEhOLAot
ICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViQXV0aGVudGljYXRpb24sCisgICAgRW5hYmxlZEJ5U2V0
dGluZz1XZWJBdXRoZW50aWNhdGlvbiwKICAgICBFeHBvc2VkPVdpbmRvdywKICAgICBTZWN1cmVD
b250ZXh0LAogXSBpbnRlcmZhY2UgUHVibGljS2V5Q3JlZGVudGlhbCA6IEJhc2ljQ3JlZGVudGlh
bCB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL0ludGVy
bmFsU2V0dGluZ3NHZW5lcmF0ZWQuY3BwLmVyYgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL0ludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWQuY3Bw
LmVyYgkocmV2aXNpb24gMjY2MzU4KQorKysgU291cmNlL1dlYkNvcmUvU2NyaXB0cy9TZXR0aW5n
c1RlbXBsYXRlcy9JbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmNwcC5lcmIJKHdvcmtpbmcgY29w
eSkKQEAgLTM4LDcgKzM4LDcgQEAgSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZDo6SW50ZXJuYWxT
ZXR0aQogPCUtIGZvciBAc2V0dGluZyBpbiBAc2V0dGluZ3MgZG8gLSU+CiA8JS0gaWYgQHNldHRp
bmcuZXhjbHVkZUZyb21JbnRlcm5hbFNldHRpbmdzID09IGZhbHNlIGFuZCBAc2V0dGluZy5pZGxU
eXBlIC0lPgogPCUtIGlmIEBzZXR0aW5nLmNvbmRpdGlvbmFsIC0lPgotI2lmIEVOQUJMRSg8JT0g
QHNldHRpbmcuY29uZGl0aW9uYWwgJT4pCisjaWYgPCU9IEBzZXR0aW5nLmNvbmRpdGlvbmFsICU+
CiA8JS0gZW5kIC0lPgogICAgICwgbV88JT0gQHNldHRpbmcubmFtZSAlPihwYWdlLT5zZXR0aW5n
cygpLjwlPSBAc2V0dGluZy5nZXR0ZXJGdW5jdGlvbk5hbWUgJT4oKSkKIDwlLSBpZiBAc2V0dGlu
Zy5jb25kaXRpb25hbCAtJT4KQEAgLTU4LDcgKzU4LDcgQEAgdm9pZCBJbnRlcm5hbFNldHRpbmdz
R2VuZXJhdGVkOjpyZXNldFRvQwogPCUtIGZvciBAc2V0dGluZyBpbiBAc2V0dGluZ3MgZG8gLSU+
CiA8JS0gaWYgQHNldHRpbmcuZXhjbHVkZUZyb21JbnRlcm5hbFNldHRpbmdzID09IGZhbHNlIGFu
ZCBAc2V0dGluZy5pZGxUeXBlIC0lPgogPCUtIGlmIEBzZXR0aW5nLmNvbmRpdGlvbmFsIC0lPgot
I2lmIEVOQUJMRSg8JT0gQHNldHRpbmcuY29uZGl0aW9uYWwgJT4pCisjaWYgPCU9IEBzZXR0aW5n
LmNvbmRpdGlvbmFsICU+CiA8JS0gZW5kIC0lPgogICAgIG1fcGFnZS0+c2V0dGluZ3MoKS48JT0g
QHNldHRpbmcuc2V0dGVyRnVuY3Rpb25OYW1lICU+KG1fPCU9IEBzZXR0aW5nLm5hbWUgJT4pOwog
PCUtIGlmIEBzZXR0aW5nLmNvbmRpdGlvbmFsIC0lPgpAQCAtNzMsNyArNzMsNyBAQCB2b2lkIElu
dGVybmFsU2V0dGluZ3NHZW5lcmF0ZWQ6OnJlc2V0VG9DCiB2b2lkIEludGVybmFsU2V0dGluZ3NH
ZW5lcmF0ZWQ6OjwlPSBAc2V0dGluZy5zZXR0ZXJGdW5jdGlvbk5hbWUgJT4oPCU9IEBzZXR0aW5n
LnBhcmFtZXRlclR5cGUgJT4gPCU9IEBzZXR0aW5nLm5hbWUgJT4pCiB7CiA8JS0gaWYgQHNldHRp
bmcuY29uZGl0aW9uYWwgLSU+Ci0jaWYgRU5BQkxFKDwlPSBAc2V0dGluZy5jb25kaXRpb25hbCAl
PikKKyNpZiA8JT0gQHNldHRpbmcuY29uZGl0aW9uYWwgJT4KICAgICBtX3BhZ2UtPnNldHRpbmdz
KCkuPCU9IEBzZXR0aW5nLnNldHRlckZ1bmN0aW9uTmFtZSAlPig8JT0gQHNldHRpbmcubmFtZSAl
Pik7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTSg8JT0gQHNldHRpbmcubmFtZSAlPik7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL0ludGVybmFsU2V0dGlu
Z3NHZW5lcmF0ZWQuaC5lcmIKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvU2NyaXB0cy9T
ZXR0aW5nc1RlbXBsYXRlcy9JbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmguZXJiCShyZXZpc2lv
biAyNjYzNTgpCisrKyBTb3VyY2UvV2ViQ29yZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL0lu
dGVybmFsU2V0dGluZ3NHZW5lcmF0ZWQuaC5lcmIJKHdvcmtpbmcgY29weSkKQEAgLTUzLDcgKzUz
LDcgQEAgcHJpdmF0ZToKIDwlLSBmb3IgQHNldHRpbmcgaW4gQHNldHRpbmdzIGRvIC0lPgogPCUt
IGlmIEBzZXR0aW5nLmV4Y2x1ZGVGcm9tSW50ZXJuYWxTZXR0aW5ncyA9PSBmYWxzZSBhbmQgQHNl
dHRpbmcuaWRsVHlwZSAtJT4KIDwlLSBpZiBAc2V0dGluZy5jb25kaXRpb25hbCAtJT4KLSNpZiBF
TkFCTEUoPCU9IEBzZXR0aW5nLmNvbmRpdGlvbmFsICU+KQorI2lmIDwlPSBAc2V0dGluZy5jb25k
aXRpb25hbCAlPgogPCUtIGVuZCAtJT4KICAgICA8JT0gQHNldHRpbmcudHlwZSAlPiBtXzwlPSBA
c2V0dGluZy5uYW1lICU+OwogPCUtIGlmIEBzZXR0aW5nLmNvbmRpdGlvbmFsIC0lPgpJbmRleDog
U291cmNlL1dlYkNvcmUvU2NyaXB0cy9TZXR0aW5nc1RlbXBsYXRlcy9TZXR0aW5ncy5jcHAuZXJi
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1NjcmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXMv
U2V0dGluZ3MuY3BwLmVyYgkocmV2aXNpb24gMjY2MzU4KQorKysgU291cmNlL1dlYkNvcmUvU2Ny
aXB0cy9TZXR0aW5nc1RlbXBsYXRlcy9TZXR0aW5ncy5jcHAuZXJiCSh3b3JraW5nIGNvcHkpCkBA
IC00Niw3ICs0Niw3IEBAIFNldHRpbmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdlKQogPCUtIGVuZCAt
JT4KIDwlLSBmb3IgQGNvbmRpdGlvbmFsIGluIEBjb25kaXRpb25hbHMgZG8gLSU+CiA8JS0gaWYg
QGNvbmRpdGlvbmFsLm5vbkJvb2xTZXR0aW5ncy5sZW5ndGggIT0gMCAtJT4KLSNpZiBFTkFCTEUo
PCU9IEBjb25kaXRpb25hbC5jb25kaXRpb24gJT4pCisjaWYgPCU9IEBjb25kaXRpb25hbC5jb25k
aXRpb24gJT4KIDwlLSBmb3IgQHNldHRpbmcgaW4gQGNvbmRpdGlvbmFsLm5vbkJvb2xTZXR0aW5n
cyAtJT4KICAgICAsIG1fPCU9IEBzZXR0aW5nLm5hbWUgJT4oPCU9IEBzZXR0aW5nLmluaXRpYWwg
JT4pCiA8JS0gZW5kIC0lPgpAQCAtNTgsNyArNTgsNyBAQCBTZXR0aW5nczo6U2V0dGluZ3MoUGFn
ZSogcGFnZSkKIDwlLSBlbmQgLSU+CiA8JS0gZm9yIEBjb25kaXRpb25hbCBpbiBAY29uZGl0aW9u
YWxzIGRvIC0lPgogPCUtIGlmIEBjb25kaXRpb25hbC5ib29sU2V0dGluZ3MubGVuZ3RoICE9IDAg
LSU+Ci0jaWYgRU5BQkxFKDwlPSBAY29uZGl0aW9uYWwuY29uZGl0aW9uICU+KQorI2lmIDwlPSBA
Y29uZGl0aW9uYWwuY29uZGl0aW9uICU+CiA8JS0gZm9yIEBzZXR0aW5nIGluIEBjb25kaXRpb25h
bC5ib29sU2V0dGluZ3MgLSU+CiAgICAgLCBtXzwlPSBAc2V0dGluZy5uYW1lICU+KDwlPSBAc2V0
dGluZy5pbml0aWFsICU+KQogPCUtIGVuZCAtJT4KQEAgLTk3LDcgKzk3LDcgQEAgdm9pZCBTZXR0
aW5nczo6PCU9IEBzZXR0aW5nLnNldHRlckZ1bmN0aQogPCUtIGVuZCAtJT4KIDwlLSBmb3IgQGNv
bmRpdGlvbmFsIGluIEBjb25kaXRpb25hbHMgZG8gLSU+CiA8JS0gaWYgQGNvbmRpdGlvbmFsLnNl
dHRpbmdzV2l0aENvbXBsZXhHZXR0ZXJzLmxlbmd0aCAhPSAwIG9yIEBjb25kaXRpb25hbC5zZXR0
aW5nc1dpdGhDb21wbGV4U2V0dGVycy5sZW5ndGggIT0gMC0lPgotI2lmIEVOQUJMRSg8JT0gQGNv
bmRpdGlvbmFsLmNvbmRpdGlvbiAlPikKKyNpZiA8JT0gQGNvbmRpdGlvbmFsLmNvbmRpdGlvbiAl
PgogPCUtIGZvciBAc2V0dGluZyBpbiBAY29uZGl0aW9uYWwuc2V0dGluZ3NXaXRoQ29tcGxleEdl
dHRlcnMgZG8gLSU+CiA8JT0gQHNldHRpbmcucGFyYW1ldGVyVHlwZSAlPiBTZXR0aW5nczo6PCU9
IEBzZXR0aW5nLmdldHRlckZ1bmN0aW9uTmFtZSAlPigpIGNvbnN0CiB7CkBAIC0xMzEsNyArMTMx
LDcgQEAgdm9pZCBTZXR0aW5nczo6PCU9IEBzZXR0aW5nLnNldHRlckZ1bmN0aQogICAgICAgICBy
ZXR1cm47CiAgICAgbV88JT0gQHNldHRpbmcubmFtZSAlPkluc3BlY3Rvck92ZXJyaWRlID0gPCU9
IEBzZXR0aW5nLm5hbWUgJT5JbnNwZWN0b3JPdmVycmlkZTsKIDwlLSBpZiBAc2V0dGluZy5jb25k
aXRpb25hbCAtJT4KLSNpZiBFTkFCTEUoPCU9IEBzZXR0aW5nLmNvbmRpdGlvbmFsICU+KQorI2lm
IDwlPSBAc2V0dGluZy5jb25kaXRpb25hbCAlPgogPCUtIGVuZCAtJT4KICAgICA8JT0gQHNldHRp
bmcub25DaGFuZ2UgJT4oKTsKIDwlLSBpZiBAc2V0dGluZy5jb25kaXRpb25hbCAtJT4KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL1NjcmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXMvU2V0dGluZ3MuaC5lcmIK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvU2NyaXB0cy9TZXR0aW5nc1RlbXBsYXRlcy9T
ZXR0aW5ncy5oLmVyYgkocmV2aXNpb24gMjY2MzU4KQorKysgU291cmNlL1dlYkNvcmUvU2NyaXB0
cy9TZXR0aW5nc1RlbXBsYXRlcy9TZXR0aW5ncy5oLmVyYgkod29ya2luZyBjb3B5KQpAQCAtNTQs
NyArNTQsNyBAQCBwdWJsaWM6CiA8JS0gZW5kIC0lPgogCiA8JS0gZm9yIEBjb25kaXRpb25hbCBp
biBAY29uZGl0aW9uYWxzIGRvIC0lPgotI2lmIEVOQUJMRSg8JT0gQGNvbmRpdGlvbmFsLmNvbmRp
dGlvbiAlPikKKyNpZiA8JT0gQGNvbmRpdGlvbmFsLmNvbmRpdGlvbiAlPgogPCUtIGZvciBAc2V0
dGluZyBpbiBAY29uZGl0aW9uYWwuc2V0dGluZ3MgZG8gLSU+CiAgICAgPCUtIGlmIEBzZXR0aW5n
Lmhhc0NvbXBsZXhHZXR0ZXI/IC0lPgogICAgIFdFQkNPUkVfRVhQT1JUIDwlPSBAc2V0dGluZy5w
YXJhbWV0ZXJUeXBlICU+IDwlPSBAc2V0dGluZy5nZXR0ZXJGdW5jdGlvbk5hbWUgJT4oKSBjb25z
dDsKQEAgLTkxLDcgKzkxLDcgQEAgcHJpdmF0ZToKIAogPCUtIGZvciBAY29uZGl0aW9uYWwgaW4g
QGNvbmRpdGlvbmFscyBkbyAtJT4KIDwlLSBpZiBAY29uZGl0aW9uYWwubm9uQm9vbFNldHRpbmdz
Lmxlbmd0aCAhPSAwIC0lPgotI2lmIEVOQUJMRSg8JT0gQGNvbmRpdGlvbmFsLmNvbmRpdGlvbiAl
PikKKyNpZiA8JT0gQGNvbmRpdGlvbmFsLmNvbmRpdGlvbiAlPgogPCUtIGZvciBAc2V0dGluZyBp
biBAY29uZGl0aW9uYWwubm9uQm9vbFNldHRpbmdzIC0lPgogICAgIDwlPSBAc2V0dGluZy50eXBl
ICU+IG1fPCU9IEBzZXR0aW5nLm5hbWUgJT47CiA8JS0gZW5kIC0lPgpAQCAtMTA1LDcgKzEwNSw3
IEBAIHByaXZhdGU6CiAKIDwlLSBmb3IgQGNvbmRpdGlvbmFsIGluIEBjb25kaXRpb25hbHMgZG8g
LSU+CiA8JS0gaWYgQGNvbmRpdGlvbmFsLmJvb2xTZXR0aW5ncy5sZW5ndGggIT0gMCAtJT4KLSNp
ZiBFTkFCTEUoPCU9IEBjb25kaXRpb25hbC5jb25kaXRpb24gJT4pCisjaWYgPCU9IEBjb25kaXRp
b25hbC5jb25kaXRpb24gJT4KIDwlLSBmb3IgQHNldHRpbmcgaW4gQGNvbmRpdGlvbmFsLmJvb2xT
ZXR0aW5ncyAtJT4KICAgICA8JT0gQHNldHRpbmcudHlwZSAlPiBtXzwlPSBAc2V0dGluZy5uYW1l
ICU+IDogMTsKIDwlLSBlbmQgLSU+CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNjYzNTgpCisrKyBTb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkK
QEAgLTEwMDI4LDYgKzEwMDI4LDEyIEBACiAJCTdBRjlCMjA5MThDRkI1RjIwMEM2NEJFRiAvKiBK
U1ZUVFJlZ2lvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1ZUVFJlZ2lv
bi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QUY5QjIwQTE4Q0ZCNUYzMDBDNjRC
RUYgLyogSlNWVFRSZWdpb25MaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEpTVlRUUmVnaW9uTGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTdBRjlCMjBCMThDRkI1RjMwMEM2NEJFRiAvKiBKU1ZUVFJlZ2lvbkxpc3QuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNWVFRSZWdpb25MaXN0Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTdDMDExRjNEMjRGQUQzNjAwMDVCRUYxMCAvKiBTZXR0aW5ncy5jcHAu
ZXJiICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IFNldHRpbmdzLmNwcC5lcmI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTdDMDExRjNFMjRGQUQzNjAwMDVCRUYxMCAvKiBJbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmNw
cC5lcmIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5jcHAuZXJiOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk3QzAxMUYzRjI0RkFEMzYwMDA1QkVGMTAgLyogSW50ZXJuYWxT
ZXR0aW5nc0dlbmVyYXRlZC5pZGwuZXJiICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWQu
aWRsLmVyYjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0MwMTFGNDAyNEZBRDM2MDAw
NUJFRjEwIC8qIFNldHRpbmdzLmguZXJiICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFNldHRpbmdzLmguZXJiOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk3QzAxMUY0MTI0RkFEMzYwMDA1QkVGMTAgLyogSW50ZXJuYWxT
ZXR0aW5nc0dlbmVyYXRlZC5oLmVyYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBJbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmgu
ZXJiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzAxMUY0MzI0RkFEMzYxMDA1QkVG
MTAgLyogR2VuZXJhdGVTZXR0aW5ncy5yYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQuc2NyaXB0LnJ1Ynk7IG5hbWUgPSBHZW5lcmF0ZVNldHRp
bmdzLnJiOyBwYXRoID0gU2NyaXB0cy9HZW5lcmF0ZVNldHRpbmdzLnJiOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3QzAxN0MzRDI0OTY5RjEzMDBEQzBDMDIgLyogTmF2aWdhdG9yUGx1
Z2lucy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gTmF2aWdhdG9yUGx1Z2lucy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTdDMDI5QzZEMjQ5M0M4RjgwMDI2ODIwNCAvKiBDb2xvclR5cGVzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IENvbG9yVHlwZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0Mw
Q0VGMjgxRTRBNTQyQzAwOERFQjgwIC8qIEpTRE9NQ29uc3RydWN0b3JCYXNlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9NQ29uc3RydWN0b3JCYXNlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xODY2OSwxMCArMTg2NzUsMTIgQEAKIAkJCWlzYSA9IFBC
WEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCiAJCQkJRjQ4Mzg5NzkxRTFERDIzQTAwNzZCN0VBIC8q
IEVkaXRpbmdIaXN0b3J5ICovLAorCQkJCTdDMDExRjNDMjRGQUQzNjAwMDVCRUYxMCAvKiBTZXR0
aW5nc1RlbXBsYXRlcyAqLywKIAkJCQlBMUUwODY2RjI0OEFBQzg1MDBFNDk2RDkgLyogY2hlY2st
eGNmaWxlbGlzdHMuc2ggKi8sCiAJCQkJMzcxN0Q3RTUxN0VDQzNBNjAwM0MyNzZEIC8qIGV4dHJh
Y3QtbG9jYWxpemFibGUtc3RyaW5ncy5wbCAqLywKIAkJCQlBMUUwODY3MDI0OEFBQzg1MDBFNDk2
RDkgLyogZ2VuZXJhdGUtZGVyaXZlZC1zb3VyY2VzLnNoICovLAogCQkJCUExRTA4NjZFMjQ4QUFD
ODUwMEU0OTZEOSAvKiBnZW5lcmF0ZS11bmlmaWVkLXNvdXJjZXMuc2ggKi8sCisJCQkJN0MwMTFG
NDMyNEZBRDM2MTAwNUJFRjEwIC8qIEdlbmVyYXRlU2V0dGluZ3MucmIgKi8sCiAJCQkJMzdENDU2
RkIxQTlBNTBCNjAwMzMzMEExIC8qIExvY2FsaXphYmxlU3RyaW5ncy5wbSAqLywKIAkJCSk7CiAJ
CQluYW1lID0gU2NyaXB0czsKQEAgLTIxOTU3LDYgKzIxOTY1LDE5IEBACiAJCQlwYXRoID0gbWFj
T1M7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQk3QzAxMUYzQzI0RkFEMzYw
MDA1QkVGMTAgLyogU2V0dGluZ3NUZW1wbGF0ZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsK
KwkJCWNoaWxkcmVuID0gKAorCQkJCTdDMDExRjNFMjRGQUQzNjAwMDVCRUYxMCAvKiBJbnRlcm5h
bFNldHRpbmdzR2VuZXJhdGVkLmNwcC5lcmIgKi8sCisJCQkJN0MwMTFGNDEyNEZBRDM2MDAwNUJF
RjEwIC8qIEludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWQuaC5lcmIgKi8sCisJCQkJN0MwMTFGM0Yy
NEZBRDM2MDAwNUJFRjEwIC8qIEludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWQuaWRsLmVyYiAqLywK
KwkJCQk3QzAxMUYzRDI0RkFEMzYwMDA1QkVGMTAgLyogU2V0dGluZ3MuY3BwLmVyYiAqLywKKwkJ
CQk3QzAxMUY0MDI0RkFEMzYwMDA1QkVGMTAgLyogU2V0dGluZ3MuaC5lcmIgKi8sCisJCQkpOwor
CQkJbmFtZSA9IFNldHRpbmdzVGVtcGxhdGVzOworCQkJcGF0aCA9IFNjcmlwdHMvU2V0dGluZ3NU
ZW1wbGF0ZXM7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQk3QzMzMEEwNDFE
RjlGOTNCMDBEMzM5NUMgLyogR2VvbG9jYXRpb24gKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsK
IAkJCWNoaWxkcmVuID0gKApJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0RPTUNTU0N1c3RvbVBy
b3BlcnR5RGVzY3JpcHRvci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0RP
TUNTU0N1c3RvbVByb3BlcnR5RGVzY3JpcHRvci5pZGwJKHJldmlzaW9uIDI2NjM1OCkKKysrIFNv
dXJjZS9XZWJDb3JlL2Nzcy9ET01DU1NDdXN0b21Qcm9wZXJ0eURlc2NyaXB0b3IuaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKIFsKICAgICBKU0dlbmVyYXRlVG9KU09iamVj
dCwKLSAgICBFbmFibGVkQXRSdW50aW1lPUNTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXMKKyAg
ICBFbmFibGVkQnlTZXR0aW5nPUNTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXMKIF0gZGljdGlv
bmFyeSBET01DU1NDdXN0b21Qcm9wZXJ0eURlc2NyaXB0b3IgewogICAgIHJlcXVpcmVkIERPTVN0
cmluZyBuYW1lOwogICAgICAgICAgICAgIERPTVN0cmluZyBzeW50YXggICAgICAgPSAiKiI7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvRE9NQ1NTUmVnaXN0ZXJDdXN0b21Qcm9wZXJ0eS5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0RPTUNTU1JlZ2lzdGVyQ3VzdG9tUHJv
cGVydHkuaWRsCShyZXZpc2lvbiAyNjYzNTgpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvRE9NQ1NT
UmVnaXN0ZXJDdXN0b21Qcm9wZXJ0eS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI0LDcgKzI0LDcg
QEAKICovCiAKIFsKLSAgICBFbmFibGVkQXRSdW50aW1lPUNTU0N1c3RvbVByb3BlcnRpZXNBbmRW
YWx1ZXMKKyAgICBFbmFibGVkQnlTZXR0aW5nPUNTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXMK
IF0gcGFydGlhbCBpbnRlcmZhY2UgRE9NQ1NTTmFtZXNwYWNlIHsKICAgICBbQ2FsbFdpdGg9RG9j
dW1lbnQsIE1heVRocm93RXhjZXB0aW9uXSBzdGF0aWMgdW5kZWZpbmVkIHJlZ2lzdGVyUHJvcGVy
dHkoRE9NQ1NTQ3VzdG9tUHJvcGVydHlEZXNjcmlwdG9yIGRlc2NyaXB0b3IpOwogfTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2RvbS9CZWZvcmVMb2FkRXZlbnQuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2RvbS9CZWZvcmVMb2FkRXZlbnQuaWRsCShyZXZpc2lvbiAyNjYzNTgpCisr
KyBTb3VyY2UvV2ViQ29yZS9kb20vQmVmb3JlTG9hZEV2ZW50LmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMjUsNyArMjUsNyBAQAogICovCiAKIFsKLSAgICBFbmFibGVkQXRSdW50aW1lPUxlZ2FjeUJl
Zm9yZUxvYWRFdmVudAorICAgIEVuYWJsZWRCeVNldHRpbmc9TGVnYWN5QmVmb3JlTG9hZEV2ZW50
CiBdIGludGVyZmFjZSBCZWZvcmVMb2FkRXZlbnQgOiBFdmVudCB7CiAgICAgY29uc3RydWN0b3Io
RE9NU3RyaW5nIHR5cGUsIG9wdGlvbmFsIEJlZm9yZUxvYWRFdmVudEluaXQgZXZlbnRJbml0RGlj
dCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FbGVtZW50UmVnaXN0cnkuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FbGVtZW50UmVnaXN0cnku
aWRsCShyZXZpc2lvbiAyNjYzNTgpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRWxlbWVu
dFJlZ2lzdHJ5LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQsNyArMjQsNyBAQAogKi8KIAogWwot
ICAgIEVuYWJsZWRBdFJ1bnRpbWU9Q3VzdG9tRWxlbWVudHMsCisgICAgRW5hYmxlZEJ5U2V0dGlu
Zz1DdXN0b21FbGVtZW50cywKICAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxTY3JpcHRFeGVj
dXRpb25Db250ZXh0LAogICAgIEpTR2VuZXJhdGVUb05hdGl2ZU9iamVjdCwKIF0gaW50ZXJmYWNl
IEN1c3RvbUVsZW1lbnRSZWdpc3RyeSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRy
YW5zZmVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVy
LmlkbAkocmV2aXNpb24gMjY2MzU4KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zl
ci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM1LDcgKzM1LDcgQEAKICAgICBhdHRyaWJ1dGUgRE9N
U3RyaW5nIGVmZmVjdEFsbG93ZWQ7CiAKICAgICAvLyBGSVhNRTogaXRlbXMgc2hvdWxkIHVzZSBb
U2FtZU9iamVjdF0gb25jZSB0aGF0IGlzIHN1cHBvcnRlZC4KLSAgICBbRW5hYmxlZEF0UnVudGlt
ZT1EYXRhVHJhbnNmZXJJdGVtcywgQ2FsbFdpdGg9RG9jdW1lbnRdIHJlYWRvbmx5IGF0dHJpYnV0
ZSBEYXRhVHJhbnNmZXJJdGVtTGlzdCBpdGVtczsKKyAgICBbRW5hYmxlZEJ5U2V0dGluZz1EYXRh
VHJhbnNmZXJJdGVtcywgQ2FsbFdpdGg9RG9jdW1lbnRdIHJlYWRvbmx5IGF0dHJpYnV0ZSBEYXRh
VHJhbnNmZXJJdGVtTGlzdCBpdGVtczsKIAogICAgIHVuZGVmaW5lZCBzZXREcmFnSW1hZ2UoRWxl
bWVudD8gaW1hZ2UsIGxvbmcgeCwgbG9uZyB5KTsgLy8gRklYTUU6IEVsZW1lbnQgYXJndW1lbnQg
aXMgbm90IG51bGxhYmxlIGluIHRoZSBIVE1MIHN0YW5kYXJkLgogCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9kb20vRGF0YVRyYW5zZmVySXRlbS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvZG9tL0RhdGFUcmFuc2Zlckl0ZW0uaWRsCShyZXZpc2lvbiAyNjYzNTgpCisrKyBTb3VyY2Uv
V2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRlbS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcg
KzMwLDcgQEAKICAqLwogCiBbCi0gICAgRW5hYmxlZEF0UnVudGltZT1EYXRhVHJhbnNmZXJJdGVt
cywKKyAgICBFbmFibGVkQnlTZXR0aW5nPURhdGFUcmFuc2Zlckl0ZW1zLAogICAgIEltcGxlbWVu
dGF0aW9uTGFja3NWVGFibGUsCiBdIGludGVyZmFjZSBEYXRhVHJhbnNmZXJJdGVtIHsKICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGtpbmQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9k
b20vRGF0YVRyYW5zZmVySXRlbUxpc3QuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2RvbS9EYXRhVHJhbnNmZXJJdGVtTGlzdC5pZGwJKHJldmlzaW9uIDI2NjM1OCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXJJdGVtTGlzdC5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTMwLDcgKzMwLDcgQEAKICAqLwogCiBbCi0gICAgRW5hYmxlZEF0UnVudGltZT1EYXRhVHJhbnNm
ZXJJdGVtcywKKyAgICBFbmFibGVkQnlTZXR0aW5nPURhdGFUcmFuc2Zlckl0ZW1zLAogICAgIEpT
R2VuZXJhdGVUb05hdGl2ZU9iamVjdCwKICAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKIF0gaW50
ZXJmYWNlIERhdGFUcmFuc2Zlckl0ZW1MaXN0IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cAkocmV2aXNpb24gMjY2MzU4KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtOTUwLDcgKzk1MCw3IEBAIHZvaWQgRG9jdW1lbnQ6OmNoaWxkcmVu
Q2hhbmdlZChjb25zdCBDaGkKIAogc3RhdGljIEFMV0FZU19JTkxJTkUgUmVmPEhUTUxFbGVtZW50
PiBjcmVhdGVVcGdyYWRlQ2FuZGlkYXRlRWxlbWVudChEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0
IFF1YWxpZmllZE5hbWUmIG5hbWUpCiB7Ci0gICAgaWYgKCFSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpzaGFyZWRGZWF0dXJlcygpLmN1c3RvbUVsZW1lbnRzRW5hYmxlZCgpCisgICAgaWYgKCFkb2N1
bWVudC5zZXR0aW5ncygpLmN1c3RvbUVsZW1lbnRzRW5hYmxlZCgpCiAgICAgICAgIHx8IERvY3Vt
ZW50Ojp2YWxpZGF0ZUN1c3RvbUVsZW1lbnROYW1lKG5hbWUubG9jYWxOYW1lKCkpICE9IEN1c3Rv
bUVsZW1lbnROYW1lVmFsaWRhdGlvblN0YXR1czo6VmFsaWQpCiAgICAgICAgIHJldHVybiBIVE1M
VW5rbm93bkVsZW1lbnQ6OmNyZWF0ZShuYW1lLCBkb2N1bWVudCk7CiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmlkbAkocmV2aXNpb24gMjY2MzU4KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMTI3LDcgKzEyNyw3IEBAIHR5cGVkZWYgKEhU
TUxTY3JpcHRFbGVtZW50IG9yIFNWR1NjcmlwdEUKICAgICBib29sZWFuIHF1ZXJ5Q29tbWFuZFN0
YXRlKERPTVN0cmluZyBjb21tYW5kSWQpOwogICAgIGJvb2xlYW4gcXVlcnlDb21tYW5kU3VwcG9y
dGVkKERPTVN0cmluZyBjb21tYW5kSWQpOwogICAgIERPTVN0cmluZyBxdWVyeUNvbW1hbmRWYWx1
ZShET01TdHJpbmcgY29tbWFuZElkKTsKLSAgICBbRW5hYmxlZEF0UnVudGltZT1VbmRvTWFuYWdl
ckFQSV0gcmVhZG9ubHkgYXR0cmlidXRlIFVuZG9NYW5hZ2VyIHVuZG9NYW5hZ2VyOworICAgIFtF
bmFibGVkQnlTZXR0aW5nPVVuZG9NYW5hZ2VyQVBJXSByZWFkb25seSBhdHRyaWJ1dGUgVW5kb01h
bmFnZXIgdW5kb01hbmFnZXI7CiAKICAgICAvLyBTcGVjaWFsIGV2ZW50IGhhbmRsZXIgSURMIGF0
dHJpYnV0ZXMgdGhhdCBvbmx5IGFwcGx5IHRvIERvY3VtZW50IG9iamVjdHMuCiAgICAgW0xlbmll
bnRUaGlzXSBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ucmVhZHlzdGF0ZWNoYW5nZTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjM1OCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMTMxLDcgKzEzMSw3IEBACiAgICAg
W05vdEVudW1lcmFibGVdIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25iZWZvcmVsb2FkOwogCiAg
ICAgLy8gTm9uIHN0YW5kYXJkIGV2ZW50IGhhbmRsZXIgKGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxl
LmNvbS9yZWZlcmVuY2Uvd2Via2l0anMvZWxlbWVudC8xNjM0MjA1LW9ud2Via2l0bmVlZGtleSku
Ci0gICAgW05vdEVudW1lcmFibGUsIENvbmRpdGlvbmFsPUxFR0FDWV9FTkNSWVBURURfTUVESUEs
IEVuYWJsZWRBdFJ1bnRpbWU9TGVnYWN5RW5jcnlwdGVkTWVkaWFBUEldIGF0dHJpYnV0ZSBFdmVu
dEhhbmRsZXIgb253ZWJraXRuZWVka2V5OworICAgIFtOb3RFbnVtZXJhYmxlLCBDb25kaXRpb25h
bD1MRUdBQ1lfRU5DUllQVEVEX01FRElBLCBFbmFibGVkQnlTZXR0aW5nPUxlZ2FjeUVuY3J5cHRl
ZE1lZGlhQVBJXSBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ud2Via2l0bmVlZGtleTsKIAogICAg
IC8vIE5vbiBzdGFuZGFyZCBldmVudCBoYW5kbGVyIChodHRwczovL2RldmVsb3Blci5hcHBsZS5j
b20vcmVmZXJlbmNlL3dlYmtpdGpzL2VsZW1lbnQvMTYzMzk0My1vbndlYmtpdHByZXNlbnRhdGlv
bm1vZGVjaGFuZ2VkKS4KICAgICBbTm90RW51bWVyYWJsZSwgQ29uZGl0aW9uYWw9VklERU9fUFJF
U0VOVEFUSU9OX01PREVdIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb253ZWJraXRwcmVzZW50YXRp
b25tb2RlY2hhbmdlZDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9JbnB1dEV2ZW50LmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vSW5wdXRFdmVudC5pZGwJKHJldmlzaW9u
IDI2NjM1OCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9JbnB1dEV2ZW50LmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMjQsNyArMjQsNyBAQAogKi8KIAogWwotICAgIEVuYWJsZWRBdFJ1bnRpbWU9SW5w
dXRFdmVudHMsCisgICAgRW5hYmxlZEJ5U2V0dGluZz1JbnB1dEV2ZW50cywKIF0gaW50ZXJmYWNl
IElucHV0RXZlbnQgOiBVSUV2ZW50IHsKICAgICBjb25zdHJ1Y3RvcihET01TdHJpbmcgdHlwZSwg
b3B0aW9uYWwgSW5wdXRFdmVudEluaXQgZXZlbnRJbml0RGljdCk7CiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2RvbS9Ob2RlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vTm9k
ZS5jcHAJKHJldmlzaW9uIDI2NjM1OCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNjAsMTAgKzYwLDEwIEBACiAjaW5jbHVkZSAiUmVuZGVyQm94Lmgi
CiAjaW5jbHVkZSAiUmVuZGVyVGV4dENvbnRyb2wuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3Lmgi
Ci0jaW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIgogI2luY2x1ZGUgIlNWR0VsZW1l
bnQuaCIKICNpbmNsdWRlICJTY29wZWRFdmVudFF1ZXVlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RGlz
YWxsb3dlZFNjb3BlLmgiCisjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJTdG9yYWdl
RXZlbnQuaCIKICNpbmNsdWRlICJTdHlsZVJlc29sdmVyLmgiCiAjaW5jbHVkZSAiU3R5bGVTaGVl
dENvbnRlbnRzLmgiCkBAIC0yNDIyLDcgKzI0MjIsNyBAQCB2b2lkIE5vZGU6OmRpc3BhdGNoRE9N
QWN0aXZhdGVFdmVudChFdmVuCiAKIGJvb2wgTm9kZTo6ZGlzcGF0Y2hCZWZvcmVMb2FkRXZlbnQo
Y29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpCiB7Ci0gICAgaWYgKCFSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzaGFyZWRGZWF0dXJlcygpLmxlZ2FjeUJlZm9yZUxvYWRFdmVudEVuYWJsZWQoKSkKKyAg
ICBpZiAoIWRvY3VtZW50KCkuc2V0dGluZ3MoKS5sZWdhY3lCZWZvcmVMb2FkRXZlbnRFbmFibGVk
KCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgaWYgKCFkb2N1bWVudCgpLmhhc0xpc3Rl
bmVyVHlwZShEb2N1bWVudDo6QkVGT1JFTE9BRF9MSVNURU5FUikpCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9kb20vU3RhdGljUmFuZ2UuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Rv
bS9TdGF0aWNSYW5nZS5pZGwJKHJldmlzaW9uIDI2NjM1OCkKKysrIFNvdXJjZS9XZWJDb3JlL2Rv
bS9TdGF0aWNSYW5nZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI0LDcgKzI0LDcgQEAKICAqLwog
CiBbCi0gICAgRW5hYmxlZEF0UnVudGltZT1JbnB1dEV2ZW50cywKKyAgICBFbmFibGVkQnlTZXR0
aW5nPUlucHV0RXZlbnRzLAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRXhw
b3NlZD1XaW5kb3csCiBdIGludGVyZmFjZSBTdGF0aWNSYW5nZSB7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL0VkaXRvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRp
dGluZy9FZGl0b3IuY3BwCShyZXZpc2lvbiAyNjYzNTgpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0VkaXRvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4MjAsNyArMTgyMCw3IEBAIHZvaWQg
RWRpdG9yOjpyZWRvKCkKIAogdm9pZCBFZGl0b3I6OnJlZ2lzdGVyQ3VzdG9tVW5kb1N0ZXAoUmVm
PEN1c3RvbVVuZG9TdGVwPiYmIHVuZG9TdGVwKQogewotICAgIEFTU0VSVChSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnVuZG9NYW5hZ2VyQVBJRW5hYmxlZCgpKTsKKyAg
ICBBU1NFUlQobV9kb2N1bWVudC5zZXR0aW5ncygpLnVuZG9NYW5hZ2VyQVBJRW5hYmxlZCgpKTsK
ICAgICBpZiAoYXV0byogY2xpZW50ID0gdGhpcy0+Y2xpZW50KCkpCiAgICAgICAgIGNsaWVudC0+
cmVnaXN0ZXJVbmRvU3RlcChXVEZNb3ZlKHVuZG9TdGVwKSk7CiB9CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcAkocmV2aXNpb24gMjY2MzU4KQorKysgU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTM4NCw3ICszODQsNyBAQCB2b2lkIEhUTUxBbmNob3JFbGVtZW50OjpzZW5kUGluZ3MoY29uc3Qg
CiAjaWYgVVNFKFNZU1RFTV9QUkVWSUVXKQogYm9vbCBIVE1MQW5jaG9yRWxlbWVudDo6aXNTeXN0
ZW1QcmV2aWV3TGluaygpCiB7Ci0gICAgaWYgKCFSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFy
ZWRGZWF0dXJlcygpLnN5c3RlbVByZXZpZXdFbmFibGVkKCkpCisgICAgaWYgKCFkb2N1bWVudCgp
LnNldHRpbmdzKCkuc3lzdGVtUHJldmlld0VuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCiAgICAgc3RhdGljIE1haW5UaHJlYWROZXZlckRlc3Ryb3llZDxjb25zdCBBdG9tU3RyaW5n
PiBzeXN0ZW1QcmV2aWV3UmVsVmFsdWUoImFyIiwgQXRvbVN0cmluZzo6Q29uc3RydWN0RnJvbUxp
dGVyYWwpOwpAQCAtNDEyLDcgKzQxMiw3IEBAIE9wdGlvbmFsPEFkQ2xpY2tBdHRyaWJ1dGlvbj4g
SFRNTEFuY2hvckUKIAogICAgIGF1dG8qIHBhZ2UgPSBkb2N1bWVudCgpLnBhZ2UoKTsKICAgICBp
ZiAoIXBhZ2UgfHwgcGFnZS0+c2Vzc2lvbklEKCkuaXNFcGhlbWVyYWwoKQotICAgICAgICB8fCAh
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5hZENsaWNrQXR0cmlidXRp
b25FbmFibGVkKCkKKyAgICAgICAgfHwgIWRvY3VtZW50KCkuc2V0dGluZ3MoKS5hZENsaWNrQXR0
cmlidXRpb25FbmFibGVkKCkKICAgICAgICAgfHwgIVVzZXJHZXN0dXJlSW5kaWNhdG9yOjpwcm9j
ZXNzaW5nVXNlckdlc3R1cmUoKSkKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIApAQCAt
NDg2LDcgKzQ4Niw3IEBAIHZvaWQgSFRNTEFuY2hvckVsZW1lbnQ6OmhhbmRsZUNsaWNrKEV2ZW4K
IAogICAgIFN0cmluZyBkb3dubG9hZEF0dHJpYnV0ZTsKICNpZiBFTkFCTEUoRE9XTkxPQURfQVRU
UklCVVRFKQotICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygp
LmRvd25sb2FkQXR0cmlidXRlRW5hYmxlZCgpKSB7CisgICAgaWYgKGRvY3VtZW50KCkuc2V0dGlu
Z3MoKS5kb3dubG9hZEF0dHJpYnV0ZUVuYWJsZWQoKSkgewogICAgICAgICAvLyBJZ25vcmUgdGhl
IGRvd25sb2FkIGF0dHJpYnV0ZSBjb21wbGV0ZWx5IGlmIHRoZSBocmVmIFVSTCBpcyBjcm9zcyBv
cmlnaW4uCiAgICAgICAgIGJvb2wgaXNTYW1lT3JpZ2luID0gY29tcGxldGVkVVJMLnByb3RvY29s
SXNEYXRhKCkgfHwgZG9jdW1lbnQoKS5zZWN1cml0eU9yaWdpbigpLmNhblJlcXVlc3QoY29tcGxl
dGVkVVJMKTsKICAgICAgICAgaWYgKGlzU2FtZU9yaWdpbikKQEAgLTQ5OCw3ICs0OTgsNyBAQCB2
b2lkIEhUTUxBbmNob3JFbGVtZW50OjpoYW5kbGVDbGljayhFdmVuCiAKICAgICBTeXN0ZW1QcmV2
aWV3SW5mbyBzeXN0ZW1QcmV2aWV3SW5mbzsKICNpZiBVU0UoU1lTVEVNX1BSRVZJRVcpCi0gICAg
c3lzdGVtUHJldmlld0luZm8uaXNQcmV2aWV3ID0gaXNTeXN0ZW1QcmV2aWV3TGluaygpICYmIFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc3lzdGVtUHJldmlld0VuYWJs
ZWQoKTsKKyAgICBzeXN0ZW1QcmV2aWV3SW5mby5pc1ByZXZpZXcgPSBpc1N5c3RlbVByZXZpZXdM
aW5rKCkgJiYgZG9jdW1lbnQoKS5zZXR0aW5ncygpLnN5c3RlbVByZXZpZXdFbmFibGVkKCk7CiAK
ICAgICBpZiAoc3lzdGVtUHJldmlld0luZm8uaXNQcmV2aWV3KSB7CiAgICAgICAgIHN5c3RlbVBy
ZXZpZXdJbmZvLmVsZW1lbnQuZWxlbWVudElkZW50aWZpZXIgPSBkb2N1bWVudCgpLmlkZW50aWZp
ZXJGb3JFbGVtZW50KCp0aGlzKTsKQEAgLTUxNSw3ICs1MTUsNyBAQCB2b2lkIEhUTUxBbmNob3JF
bGVtZW50OjpoYW5kbGVDbGljayhFdmVuCiAgICAgT3B0aW9uYWw8TmV3RnJhbWVPcGVuZXJQb2xp
Y3k+IG5ld0ZyYW1lT3BlbmVyUG9saWN5OwogICAgIGlmIChoYXNSZWwoUmVsYXRpb246Ok9wZW5l
cikpCiAgICAgICAgIG5ld0ZyYW1lT3BlbmVyUG9saWN5ID0gTmV3RnJhbWVPcGVuZXJQb2xpY3k6
OkFsbG93OwotICAgIGVsc2UgaWYgKGhhc1JlbChSZWxhdGlvbjo6Tm9PcGVuZXIpIHx8IChSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmJsYW5rQW5jaG9yVGFyZ2V0SW1w
bGllc05vT3BlbmVyRW5hYmxlZCgpICYmIGVxdWFsSWdub3JpbmdBU0NJSUNhc2UoZWZmZWN0aXZl
VGFyZ2V0LCAiX2JsYW5rIikpKQorICAgIGVsc2UgaWYgKGhhc1JlbChSZWxhdGlvbjo6Tm9PcGVu
ZXIpIHx8IChkb2N1bWVudCgpLnNldHRpbmdzKCkuYmxhbmtBbmNob3JUYXJnZXRJbXBsaWVzTm9P
cGVuZXJFbmFibGVkKCkgJiYgZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShlZmZlY3RpdmVUYXJnZXQs
ICJfYmxhbmsiKSkpCiAgICAgICAgIG5ld0ZyYW1lT3BlbmVyUG9saWN5ID0gTmV3RnJhbWVPcGVu
ZXJQb2xpY3k6OlN1cHByZXNzOwogCiAgICAgYXV0byBhZENsaWNrQXR0cmlidXRpb24gPSBwYXJz
ZUFkQ2xpY2tBdHRyaWJ1dGlvbigpOwpAQCAtNjMxLDcgKzYzMSw3IEBAIFN0cmluZyBIVE1MQW5j
aG9yRWxlbWVudDo6cmVmZXJyZXJQb2xpY3kKIAogUmVmZXJyZXJQb2xpY3kgSFRNTEFuY2hvckVs
ZW1lbnQ6OnJlZmVycmVyUG9saWN5KCkgY29uc3QKIHsKLSAgICBpZiAoUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5yZWZlcnJlclBvbGljeUF0dHJpYnV0ZUVuYWJsZWQo
KSkKKyAgICBpZiAoZG9jdW1lbnQoKS5zZXR0aW5ncygpLnJlZmVycmVyUG9saWN5QXR0cmlidXRl
RW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gcGFyc2VSZWZlcnJlclBvbGljeShhdHRyaWJ1dGVX
aXRob3V0U3luY2hyb25pemF0aW9uKHJlZmVycmVycG9saWN5QXR0ciksIFJlZmVycmVyUG9saWN5
U291cmNlOjpSZWZlcnJlclBvbGljeUF0dHJpYnV0ZSkudmFsdWVPcihSZWZlcnJlclBvbGljeTo6
RW1wdHlTdHJpbmcpOwogICAgIHJldHVybiBSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmc7CiB9
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmlkbAkocmV2aXNp
b24gMjY2MzU4KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTE5LDExICsxOSwxMSBAQAogICovCiAKIGludGVyZmFjZSBIVE1M
QW5jaG9yRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKLSAgICBbQ0VSZWFjdGlvbnM9Tm90TmVlZGVk
LCBFbmFibGVkQXRSdW50aW1lPUFkQ2xpY2tBdHRyaWJ1dGlvbiwgUmVmbGVjdF0gYXR0cmlidXRl
IERPTVN0cmluZyBhZGNhbXBhaWduaWQ7Ci0gICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRlZCwgRW5h
YmxlZEF0UnVudGltZT1BZENsaWNrQXR0cmlidXRpb24sIFJlZmxlY3RdIGF0dHJpYnV0ZSBET01T
dHJpbmcgYWRkZXN0aW5hdGlvbjsKKyAgICBbQ0VSZWFjdGlvbnM9Tm90TmVlZGVkLCBFbmFibGVk
QnlTZXR0aW5nPUFkQ2xpY2tBdHRyaWJ1dGlvbiwgUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmlu
ZyBhZGNhbXBhaWduaWQ7CisgICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRlZCwgRW5hYmxlZEJ5U2V0
dGluZz1BZENsaWNrQXR0cmlidXRpb24sIFJlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgYWRk
ZXN0aW5hdGlvbjsKICAgICBbQ0VSZWFjdGlvbnM9Tm90TmVlZGVkLCBSZWZsZWN0XSBhdHRyaWJ1
dGUgRE9NU3RyaW5nIGNoYXJzZXQ7CiAgICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRlZCwgUmVmbGVj
dF0gYXR0cmlidXRlIERPTVN0cmluZyBjb29yZHM7Ci0gICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRl
ZCwgQ29uZGl0aW9uYWw9RE9XTkxPQURfQVRUUklCVVRFLCBFbmFibGVkQXRSdW50aW1lPURvd25s
b2FkQXR0cmlidXRlLCBSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGRvd25sb2FkOworICAg
IFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWQsIENvbmRpdGlvbmFsPURPV05MT0FEX0FUVFJJQlVURSwg
RW5hYmxlZEJ5U2V0dGluZz1Eb3dubG9hZEF0dHJpYnV0ZSwgUmVmbGVjdF0gYXR0cmlidXRlIERP
TVN0cmluZyBkb3dubG9hZDsKICAgICBbQ0VSZWFjdGlvbnM9Tm90TmVlZGVkLCBSZWZsZWN0XSBh
dHRyaWJ1dGUgRE9NU3RyaW5nIGhyZWZsYW5nOwogICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWQs
IFJlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKICAgICBbQ0VSZWFjdGlvbnM9Tm90
TmVlZGVkLCBSZWZsZWN0XSBhdHRyaWJ1dGUgVVNWU3RyaW5nIHBpbmc7CkBAIC0zNyw3ICszNyw3
IEBAIGludGVyZmFjZSBIVE1MQW5jaG9yRWxlbWVudCA6IEhUTUxFbGVtZW4KIAogICAgIFtQdXRG
b3J3YXJkcz12YWx1ZV0gcmVhZG9ubHkgYXR0cmlidXRlIERPTVRva2VuTGlzdCByZWxMaXN0Owog
Ci0gICAgW0VuYWJsZWRBdFJ1bnRpbWU9UmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGUsIEltcGxlbWVu
dGVkQXM9cmVmZXJyZXJQb2xpY3lGb3JCaW5kaW5ncywgQ0VSZWFjdGlvbnM9Tm90TmVlZGVkXSBh
dHRyaWJ1dGUgRE9NU3RyaW5nIHJlZmVycmVyUG9saWN5OworICAgIFtFbmFibGVkQnlTZXR0aW5n
PVJlZmVycmVyUG9saWN5QXR0cmlidXRlLCBJbXBsZW1lbnRlZEFzPXJlZmVycmVyUG9saWN5Rm9y
QmluZGluZ3MsIENFUmVhY3Rpb25zPU5vdE5lZWRlZF0gYXR0cmlidXRlIERPTVN0cmluZyByZWZl
cnJlclBvbGljeTsKIH07CiAKIEhUTUxBbmNob3JFbGVtZW50IGltcGxlbWVudHMgSFRNTEh5cGVy
bGlua0VsZW1lbnRVdGlsczsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFyZWFFbGVt
ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBcmVhRWxlbWVu
dC5pZGwJKHJldmlzaW9uIDI2NjM1OCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFyZWFF
bGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsNyBAQCBpbnRlcmZhY2UgSFRN
TEFyZWFFbGVtZW50IDogSFRNTEVsZW1lbnQgCiAgICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRlZCwg
UmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBzaGFwZTsKICAgICBbQ0VSZWFjdGlvbnM9Tm90
TmVlZGVkLCBSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHRhcmdldDsKIAotICAgIFtDRVJl
YWN0aW9ucz1Ob3ROZWVkZWQsIENvbmRpdGlvbmFsPURPV05MT0FEX0FUVFJJQlVURSwgRW5hYmxl
ZEF0UnVudGltZT1Eb3dubG9hZEF0dHJpYnV0ZSwgUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmlu
ZyBkb3dubG9hZDsKKyAgICBbQ0VSZWFjdGlvbnM9Tm90TmVlZGVkLCBDb25kaXRpb25hbD1ET1dO
TE9BRF9BVFRSSUJVVEUsIEVuYWJsZWRCeVNldHRpbmc9RG93bmxvYWRBdHRyaWJ1dGUsIFJlZmxl
Y3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgZG93bmxvYWQ7CiAKICAgICBbUHV0Rm9yd2FyZHM9dmFs
dWVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01Ub2tlbkxpc3QgcmVsTGlzdDsKIH07CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCdXR0b25FbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCdXR0b25FbGVtZW50LmlkbAkocmV2aXNpb24gMjY2MzU4
KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTM3LDcgKzM3LDcgQEAgaW50ZXJmYWNlIEhUTUxCdXR0b25FbGVtZW50IDogSFRN
TEVsZW1lbgogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBWYWxpZGl0eVN0YXRlIHZhbGlkaXR5Owog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2U7CiAgICAg
Ym9vbGVhbiBjaGVja1ZhbGlkaXR5KCk7Ci0gICAgW0VuYWJsZWRBdFJ1bnRpbWU9SW50ZXJhY3Rp
dmVGb3JtVmFsaWRhdGlvbl0gYm9vbGVhbiByZXBvcnRWYWxpZGl0eSgpOworICAgIFtFbmFibGVk
QnlTZXR0aW5nPUludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25dIGJvb2xlYW4gcmVwb3J0VmFsaWRp
dHkoKTsKICAgICB1bmRlZmluZWQgc2V0Q3VzdG9tVmFsaWRpdHkoRE9NU3RyaW5nIGVycm9yKTsK
IAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBOb2RlTGlzdCBsYWJlbHM7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxGaWVsZFNldEVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEZpZWxkU2V0RWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjM1OCkK
KysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZpZWxkU2V0RWxlbWVudC5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTMwLDYgKzMwLDYgQEAgaW50ZXJmYWNlIEhUTUxGaWVsZFNldEVsZW1lbnQgOiBI
VE1MRWxlbQogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBWYWxpZGl0eVN0YXRlICAgdmFsaWRpdHk7
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyAgICAgICB2YWxpZGF0aW9uTWVzc2Fn
ZTsKICAgICBib29sZWFuICBjaGVja1ZhbGlkaXR5KCk7Ci0gICAgW0VuYWJsZWRBdFJ1bnRpbWU9
SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0gYm9vbGVhbiByZXBvcnRWYWxpZGl0eSgpOworICAg
IFtFbmFibGVkQnlTZXR0aW5nPUludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25dIGJvb2xlYW4gcmVw
b3J0VmFsaWRpdHkoKTsKICAgICB1bmRlZmluZWQgc2V0Q3VzdG9tVmFsaWRpdHkoRE9NU3RyaW5n
IGVycm9yKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaWRs
CShyZXZpc2lvbiAyNjYzNTgpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVu
dC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQxLDUgKzQxLDUgQEAKICAgICBbSW1wbGVtZW50ZWRB
cz1zdWJtaXRGcm9tSmF2YVNjcmlwdF0gdW5kZWZpbmVkIHN1Ym1pdCgpOwogICAgIFtDRVJlYWN0
aW9ucz1Ob3ROZWVkZWRdIHVuZGVmaW5lZCByZXNldCgpOwogICAgIGJvb2xlYW4gY2hlY2tWYWxp
ZGl0eSgpOwotICAgIFtFbmFibGVkQXRSdW50aW1lPUludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25d
IGJvb2xlYW4gcmVwb3J0VmFsaWRpdHkoKTsKKyAgICBbRW5hYmxlZEJ5U2V0dGluZz1JbnRlcmFj
dGl2ZUZvcm1WYWxpZGF0aW9uXSBib29sZWFuIHJlcG9ydFZhbGlkaXR5KCk7CiB9OwpJbmRleDog
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5jcHAJKHJldmlzaW9uIDI2NjM1
OCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElGcmFtZUVsZW1lbnQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zMCw4ICszMCw4IEBACiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJI
VE1MTmFtZXMuaCIKICNpbmNsdWRlICJSZW5kZXJJRnJhbWUuaCIKLSNpbmNsdWRlICJSdW50aW1l
RW5hYmxlZEZlYXR1cmVzLmgiCiAjaW5jbHVkZSAiU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyLmgi
CisjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0xMzAsNyArMTMwLDcgQEAgU3RyaW5nIEhUTUxJ
RnJhbWVFbGVtZW50OjpyZWZlcnJlclBvbGljeQogCiBSZWZlcnJlclBvbGljeSBIVE1MSUZyYW1l
RWxlbWVudDo6cmVmZXJyZXJQb2xpY3koKSBjb25zdAogewotICAgIGlmIChSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnJlZmVycmVyUG9saWN5QXR0cmlidXRlRW5hYmxl
ZCgpKQorICAgIGlmIChkb2N1bWVudCgpLnNldHRpbmdzKCkucmVmZXJyZXJQb2xpY3lBdHRyaWJ1
dGVFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiBwYXJzZVJlZmVycmVyUG9saWN5KGF0dHJpYnV0
ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24ocmVmZXJyZXJwb2xpY3lBdHRyKSwgUmVmZXJyZXJQb2xp
Y3lTb3VyY2U6OlJlZmVycmVyUG9saWN5QXR0cmlidXRlKS52YWx1ZU9yKFJlZmVycmVyUG9saWN5
OjpFbXB0eVN0cmluZyk7CiAgICAgcmV0dXJuIFJlZmVycmVyUG9saWN5OjpFbXB0eVN0cmluZzsK
IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElGcmFtZUVsZW1lbnQuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElGcmFtZUVsZW1lbnQuaWRsCShyZXZp
c2lvbiAyNjYzNTgpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50Lmlk
bAkod29ya2luZyBjb3B5KQpAQCAtNDIsNSArNDIsNSBAQCBpbnRlcmZhY2UgSFRNTElGcmFtZUVs
ZW1lbnQgOiBIVE1MRWxlbWVuCiAKICAgICBbQ2hlY2tTZWN1cml0eUZvck5vZGUsIE1heVRocm93
RXhjZXB0aW9uXSBEb2N1bWVudCBnZXRTVkdEb2N1bWVudCgpOwogCi0gICAgW0VuYWJsZWRBdFJ1
bnRpbWU9UmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGUsIEltcGxlbWVudGVkQXM9cmVmZXJyZXJQb2xp
Y3lGb3JCaW5kaW5ncywgQ0VSZWFjdGlvbnM9Tm90TmVlZGVkXSBhdHRyaWJ1dGUgRE9NU3RyaW5n
IHJlZmVycmVyUG9saWN5OworICAgIFtFbmFibGVkQnlTZXR0aW5nPVJlZmVycmVyUG9saWN5QXR0
cmlidXRlLCBJbXBsZW1lbnRlZEFzPXJlZmVycmVyUG9saWN5Rm9yQmluZGluZ3MsIENFUmVhY3Rp
b25zPU5vdE5lZWRlZF0gYXR0cmlidXRlIERPTVN0cmluZyByZWZlcnJlclBvbGljeTsKIH07Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAJKHJldmlzaW9uIDI2
NjM1OCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTI1MCw3ICsyNTAsNyBAQCB2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OmF0dHJp
YnV0ZUNoYW5nZWQoCiB7CiAgICAgSFRNTEVsZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQobmFtZSwg
b2xkVmFsdWUsIG5ld1ZhbHVlLCByZWFzb24pOwogCi0gICAgaWYgKG5hbWUgPT0gcmVmZXJyZXJw
b2xpY3lBdHRyICYmIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkucmVm
ZXJyZXJQb2xpY3lBdHRyaWJ1dGVFbmFibGVkKCkpIHsKKyAgICBpZiAobmFtZSA9PSByZWZlcnJl
cnBvbGljeUF0dHIgJiYgZG9jdW1lbnQoKS5zZXR0aW5ncygpLnJlZmVycmVyUG9saWN5QXR0cmli
dXRlRW5hYmxlZCgpKSB7CiAgICAgICAgIGF1dG8gb2xkUmVmZXJyZXJQb2xpY3kgPSBwYXJzZVJl
ZmVycmVyUG9saWN5KG9sZFZhbHVlLCBSZWZlcnJlclBvbGljeVNvdXJjZTo6UmVmZXJyZXJQb2xp
Y3lBdHRyaWJ1dGUpLnZhbHVlT3IoUmVmZXJyZXJQb2xpY3k6OkVtcHR5U3RyaW5nKTsKICAgICAg
ICAgYXV0byBuZXdSZWZlcnJlclBvbGljeSA9IHBhcnNlUmVmZXJyZXJQb2xpY3kobmV3VmFsdWUs
IFJlZmVycmVyUG9saWN5U291cmNlOjpSZWZlcnJlclBvbGljeUF0dHJpYnV0ZSkudmFsdWVPcihS
ZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmcpOwogICAgICAgICBpZiAob2xkUmVmZXJyZXJQb2xp
Y3kgIT0gbmV3UmVmZXJyZXJQb2xpY3kpCkBAIC03OTcsNyArNzk3LDcgQEAgYm9vbCBIVE1MSW1h
Z2VFbGVtZW50Ojp3aWxsUmVzcG9uZFRvTW91cwogI2lmIFVTRShTWVNURU1fUFJFVklFVykKIGJv
b2wgSFRNTEltYWdlRWxlbWVudDo6aXNTeXN0ZW1QcmV2aWV3SW1hZ2UoKSBjb25zdAogewotICAg
IGlmICghUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zeXN0ZW1QcmV2
aWV3RW5hYmxlZCgpKQorICAgIGlmICghZG9jdW1lbnQoKS5zZXR0aW5ncygpLnN5c3RlbVByZXZp
ZXdFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGF1dG8qIHBhcmVudCA9
IHBhcmVudEVsZW1lbnQoKTsKQEAgLTg3NSw3ICs4NzUsNyBAQCBTdHJpbmcgSFRNTEltYWdlRWxl
bWVudDo6cmVmZXJyZXJQb2xpY3lGCiAKIFJlZmVycmVyUG9saWN5IEhUTUxJbWFnZUVsZW1lbnQ6
OnJlZmVycmVyUG9saWN5KCkgY29uc3QKIHsKLSAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2hhcmVkRmVhdHVyZXMoKS5yZWZlcnJlclBvbGljeUF0dHJpYnV0ZUVuYWJsZWQoKSkKKyAg
ICBpZiAoZG9jdW1lbnQoKS5zZXR0aW5ncygpLnJlZmVycmVyUG9saWN5QXR0cmlidXRlRW5hYmxl
ZCgpKQogICAgICAgICByZXR1cm4gcGFyc2VSZWZlcnJlclBvbGljeShhdHRyaWJ1dGVXaXRob3V0
U3luY2hyb25pemF0aW9uKHJlZmVycmVycG9saWN5QXR0ciksIFJlZmVycmVyUG9saWN5U291cmNl
OjpSZWZlcnJlclBvbGljeUF0dHJpYnV0ZSkudmFsdWVPcihSZWZlcnJlclBvbGljeTo6RW1wdHlT
dHJpbmcpOwogICAgIHJldHVybiBSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmc7CiB9CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjM1
OCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTQ0LDggKzQ0LDggQEAKIAogICAgIFtDb25kaXRpb25hbD1BVFRBQ0hNRU5UX0VM
RU1FTlQsIEVuYWJsZWRBdFJ1bnRpbWU9QXR0YWNobWVudEVsZW1lbnRdIHJlYWRvbmx5IGF0dHJp
YnV0ZSBET01TdHJpbmcgYXR0YWNobWVudElkZW50aWZpZXI7CiAKLSAgICBbRW5hYmxlZEF0UnVu
dGltZT1SZWZlcnJlclBvbGljeUF0dHJpYnV0ZSwgSW1wbGVtZW50ZWRBcz1yZWZlcnJlclBvbGlj
eUZvckJpbmRpbmdzLCBDRVJlYWN0aW9ucz1Ob3ROZWVkZWRdIGF0dHJpYnV0ZSBET01TdHJpbmcg
cmVmZXJyZXJQb2xpY3k7Ci0gICAgW0NFUmVhY3Rpb25zLCBFbmFibGVkQXRSdW50aW1lPUxhenlJ
bWFnZUxvYWRpbmcsIEltcGxlbWVudGVkQXM9bG9hZGluZ0ZvckJpbmRpbmdzXSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIGxvYWRpbmc7CisgICAgW0VuYWJsZWRCeVNldHRpbmc9UmVmZXJyZXJQb2xpY3lB
dHRyaWJ1dGUsIEltcGxlbWVudGVkQXM9cmVmZXJyZXJQb2xpY3lGb3JCaW5kaW5ncywgQ0VSZWFj
dGlvbnM9Tm90TmVlZGVkXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlZmVycmVyUG9saWN5OworICAg
IFtDRVJlYWN0aW9ucywgRW5hYmxlZEJ5U2V0dGluZz1MYXp5SW1hZ2VMb2FkaW5nLCBJbXBsZW1l
bnRlZEFzPWxvYWRpbmdGb3JCaW5kaW5nc10gYXR0cmlidXRlIERPTVN0cmluZyBsb2FkaW5nOwog
CiAgICAgLy8gRXh0ZW5zaW9ucwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGNvbXBs
ZXRlOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCShyZXZp
c2lvbiAyNjYzNTgpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC03MSw3ICs3MSw3IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IFZhbGlkaXR5U3RhdGUgdmFsaWRpdHk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmlu
ZyB2YWxpZGF0aW9uTWVzc2FnZTsKICAgICBib29sZWFuIGNoZWNrVmFsaWRpdHkoKTsKLSAgICBb
RW5hYmxlZEF0UnVudGltZT1JbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uXSBib29sZWFuIHJlcG9y
dFZhbGlkaXR5KCk7CisgICAgW0VuYWJsZWRCeVNldHRpbmc9SW50ZXJhY3RpdmVGb3JtVmFsaWRh
dGlvbl0gYm9vbGVhbiByZXBvcnRWYWxpZGl0eSgpOwogICAgIHVuZGVmaW5lZCBzZXRDdXN0b21W
YWxpZGl0eShET01TdHJpbmcgZXJyb3IpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5vZGVM
aXN0IGxhYmVsczsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEtleWdlbkVsZW1lbnQu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEtleWdlbkVsZW1lbnQu
aWRsCShyZXZpc2lvbiAyNjYzNTgpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxLZXlnZW5F
bGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDMsNyArNDMsNyBAQCBpbnRlcmZhY2UgSFRN
TEtleWdlbkVsZW1lbnQgOiBIVE1MRWxlbWVuCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFZhbGlk
aXR5U3RhdGUgdmFsaWRpdHk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB2YWxp
ZGF0aW9uTWVzc2FnZTsKICAgICBib29sZWFuIGNoZWNrVmFsaWRpdHkoKTsKLSAgICBbRW5hYmxl
ZEF0UnVudGltZT1JbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uXSBib29sZWFuIHJlcG9ydFZhbGlk
aXR5KCk7CisgICAgW0VuYWJsZWRCeVNldHRpbmc9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0g
Ym9vbGVhbiByZXBvcnRWYWxpZGl0eSgpOwogICAgIHVuZGVmaW5lZCBzZXRDdXN0b21WYWxpZGl0
eShET01TdHJpbmcgZXJyb3IpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5vZGVMaXN0IGxh
YmVsczsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5jcHAJKHJldmlz
aW9uIDI2NjM1OCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNTIsNyArNTIsNiBAQAogI2luY2x1ZGUgIk1vdXNlRXZlbnQuaCIK
ICNpbmNsdWRlICJQYXJzZWRDb250ZW50VHlwZS5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgi
Ci0jaW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIgogI2luY2x1ZGUgIlNlY3VyaXR5
T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJTdHlsZUluaGVyaXRl
ZERhdGEuaCIKQEAgLTI0MSw5ICsyNDAsNyBAQCBTdHJpbmcgSFRNTExpbmtFbGVtZW50Ojphcygp
IGNvbnN0CiAgICAgICAgIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGFzLCAiaW1h
Z2UiKQogICAgICAgICB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShhcywgInNjcmlw
dCIpCiAgICAgICAgIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGFzLCAic3R5bGUi
KQotICAgICAgICB8fCAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5t
ZWRpYVByZWxvYWRpbmdFbmFibGVkKCkKLSAgICAgICAgICAgICYmIChlcXVhbExldHRlcnNJZ25v
cmluZ0FTQ0lJQ2FzZShhcywgInZpZGVvIikKLSAgICAgICAgICAgICAgICB8fCBlcXVhbExldHRl
cnNJZ25vcmluZ0FTQ0lJQ2FzZShhcywgImF1ZGlvIikpKQorICAgICAgICB8fCAoZG9jdW1lbnQo
KS5zZXR0aW5ncygpLm1lZGlhUHJlbG9hZGluZ0VuYWJsZWQoKSAmJiAoZXF1YWxMZXR0ZXJzSWdu
b3JpbmdBU0NJSUNhc2UoYXMsICJ2aWRlbyIpIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlD
YXNlKGFzLCAiYXVkaW8iKSkpCiAgICAgICAgIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlD
YXNlKGFzLCAidHJhY2siKQogICAgICAgICB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2Fz
ZShhcywgImZvbnQiKSkKICAgICAgICAgcmV0dXJuIGFzLmNvbnZlcnRUb0FTQ0lJTG93ZXJjYXNl
KCk7CkBAIC02NzgsNyArNjc1LDcgQEAgU3RyaW5nIEhUTUxMaW5rRWxlbWVudDo6cmVmZXJyZXJQ
b2xpY3lGbwogCiBSZWZlcnJlclBvbGljeSBIVE1MTGlua0VsZW1lbnQ6OnJlZmVycmVyUG9saWN5
KCkgY29uc3QKIHsKLSAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVy
ZXMoKS5yZWZlcnJlclBvbGljeUF0dHJpYnV0ZUVuYWJsZWQoKSkKKyAgICBpZiAoZG9jdW1lbnQo
KS5zZXR0aW5ncygpLnJlZmVycmVyUG9saWN5QXR0cmlidXRlRW5hYmxlZCgpKQogICAgICAgICBy
ZXR1cm4gcGFyc2VSZWZlcnJlclBvbGljeShhdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9u
KHJlZmVycmVycG9saWN5QXR0ciksIFJlZmVycmVyUG9saWN5U291cmNlOjpSZWZlcnJlclBvbGlj
eUF0dHJpYnV0ZSkudmFsdWVPcihSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmcpOwogICAgIHJl
dHVybiBSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmc7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxMaW5rRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTGlua0VsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYzNTgpCisrKyBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM1LDggKzM1
LDggQEAKICAgICBbQ0VSZWFjdGlvbnM9Tm90TmVlZGVkLCBSZWZsZWN0XSBhdHRyaWJ1dGUgRE9N
U3RyaW5nIHR5cGU7CiAgICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRlZF0gYXR0cmlidXRlIERPTVN0
cmluZyBhczsKICAgICBbQ0VSZWFjdGlvbnM9Tm90TmVlZGVkXSBhdHRyaWJ1dGUgRE9NU3RyaW5n
PyBjcm9zc09yaWdpbjsKLSAgICBbQ0VSZWFjdGlvbnM9Tm90TmVlZGVkLCBSZWZsZWN0LCBFbmFi
bGVkQXRSdW50aW1lPUxpbmtQcmVsb2FkUmVzcG9uc2l2ZUltYWdlc10gYXR0cmlidXRlIERPTVN0
cmluZyBpbWFnZVNyY3NldDsKLSAgICBbQ0VSZWFjdGlvbnM9Tm90TmVlZGVkLCBSZWZsZWN0LCBF
bmFibGVkQXRSdW50aW1lPUxpbmtQcmVsb2FkUmVzcG9uc2l2ZUltYWdlc10gYXR0cmlidXRlIERP
TVN0cmluZyBpbWFnZVNpemVzOworICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWQsIFJlZmxlY3Qs
IEVuYWJsZWRCeVNldHRpbmc9TGlua1ByZWxvYWRSZXNwb25zaXZlSW1hZ2VzXSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIGltYWdlU3Jjc2V0OworICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWQsIFJlZmxl
Y3QsIEVuYWJsZWRCeVNldHRpbmc9TGlua1ByZWxvYWRSZXNwb25zaXZlSW1hZ2VzXSBhdHRyaWJ1
dGUgRE9NU3RyaW5nIGltYWdlU2l6ZXM7CiAKICAgICAvLyBET00gTGV2ZWwgMiBTdHlsZQogICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBTdHlsZVNoZWV0IHNoZWV0OwpJbmRleDogU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCShyZXZpc2lvbiAyNjYzNTgpCisrKyBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDUx
LDcgKzI0NTEsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnVwZGF0ZVNob3VsZENvbnRpCiB7
CiAgICAgaWYgKCFtX3BsYXllcikKICAgICAgICAgcmV0dXJuOwotICAgIGJvb2wgc2hvdWxkQ29u
dGludWUgPSBoYXNFdmVudExpc3RlbmVycygid2Via2l0bmVlZGtleSIpIHx8IChSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZCgp
ICYmICFkb2N1bWVudCgpLnF1aXJrcygpLmhhc0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9y
dFF1aXJrKCkpOworICAgIGJvb2wgc2hvdWxkQ29udGludWUgPSBoYXNFdmVudExpc3RlbmVycygi
d2Via2l0bmVlZGtleSIpIHx8IChkb2N1bWVudCgpLnNldHRpbmdzKCkuZW5jcnlwdGVkTWVkaWFB
UElFbmFibGVkKCkgJiYgIWRvY3VtZW50KCkucXVpcmtzKCkuaGFzQnJva2VuRW5jcnlwdGVkTWVk
aWFBUElTdXBwb3J0UXVpcmsoKSk7CiAgICAgbV9wbGF5ZXItPnNldFNob3VsZENvbnRpbnVlQWZ0
ZXJLZXlOZWVkZWQoc2hvdWxkQ29udGludWUpOwogfQogI2VuZGlmCkBAIC0yNDYzLDE0ICsyNDYz
LDE0IEBAIFJlZlB0cjxBcnJheUJ1ZmZlcj4gSFRNTE1lZGlhRWxlbWVudDo6bWUKIAogdm9pZCBI
VE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllcktleU5lZWRlZChVaW50OEFycmF5KiBpbml0RGF0
YSkKIHsKLSAgICBpZiAoIVJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCku
bGVnYWN5RW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKCkpCisgICAgaWYgKCFkb2N1bWVudCgpLnNl
dHRpbmdzKCkubGVnYWN5RW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKCkpCiAgICAgICAgIHJldHVy
bjsKIAogICAgIGlmICghaGFzRXZlbnRMaXN0ZW5lcnMoIndlYmtpdG5lZWRrZXkiKQogI2lmIEVO
QUJMRShFTkNSWVBURURfTUVESUEpCiAgICAgICAgIC8vIE9ubHkgZmlyZSBhbiBlcnJvciBpZiBF
TkNSWVBURURfTUVESUEgaXMgbm90IGVuYWJsZWQsIHRvIGdpdmUgY2xpZW50cyBvZiB0aGUKICAg
ICAgICAgLy8gImVuY3J5cHRlZCIgZXZlbnQgYSBjaGFuY2UgdG8gaGFuZGxlIGl0IHdpdGhvdXQg
cmVzdWx0aW5nIGluIGEgc3ludGhldGljIGVycm9yLgotICAgICAgICAmJiAoIVJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuZW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKCkg
fHwgZG9jdW1lbnQoKS5xdWlya3MoKS5oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnRR
dWlyaygpKQorICAgICAgICAmJiAoIWRvY3VtZW50KCkuc2V0dGluZ3MoKS5lbmNyeXB0ZWRNZWRp
YUFQSUVuYWJsZWQoKSB8fCBkb2N1bWVudCgpLnF1aXJrcygpLmhhc0Jyb2tlbkVuY3J5cHRlZE1l
ZGlhQVBJU3VwcG9ydFF1aXJrKCkpCiAjZW5kaWYKICAgICAgICAgKSB7CiAgICAgICAgIG1fZXJy
b3IgPSBNZWRpYUVycm9yOjpjcmVhdGUoTWVkaWFFcnJvcjo6TUVESUFfRVJSX0VOQ1JZUFRFRCk7
CkBAIC0yNDk4LDcgKzI0OTgsNyBAQCBTdHJpbmcgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5
ZXJNZWRpCiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6d2Via2l0U2V0TWVkaWFLZXlzKFdlYktp
dE1lZGlhS2V5cyogbWVkaWFLZXlzKQogewotICAgIGlmICghUnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2hhcmVkRmVhdHVyZXMoKS5sZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQoKSkKKyAg
ICBpZiAoIWRvY3VtZW50KCkuc2V0dGluZ3MoKS5sZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSUVuYWJs
ZWQoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKG1fd2ViS2l0TWVkaWFLZXlzID09IG1l
ZGlhS2V5cykKQEAgLTI1MTMsNyArMjUxMyw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6d2Vi
a2l0U2V0TWVkaWFLZXkKIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjprZXlBZGRlZCgpCiB7Ci0g
ICAgaWYgKCFSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmxlZ2FjeUVu
Y3J5cHRlZE1lZGlhQVBJRW5hYmxlZCgpKQorICAgIGlmICghZG9jdW1lbnQoKS5zZXR0aW5ncygp
LmxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47CiAKICAg
ICBpZiAobV9wbGF5ZXIpCkBAIC0yNjA0LDcgKzI2MDQsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1l
bnQ6OnNldE1lZGlhS2V5cyhNZWRpCiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5
ZXJJbml0aWFsaXphdGlvbkRhdGFFbmNvdW50ZXJlZChjb25zdCBTdHJpbmcmIGluaXREYXRhVHlw
ZSwgUmVmUHRyPEFycmF5QnVmZmVyPiYmIGluaXREYXRhKQogewotICAgIGlmICghUnVudGltZUVu
YWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5lbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQo
KSB8fCBkb2N1bWVudCgpLnF1aXJrcygpLmhhc0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9y
dFF1aXJrKCkpCisgICAgaWYgKCFkb2N1bWVudCgpLnNldHRpbmdzKCkuZW5jcnlwdGVkTWVkaWFB
UElFbmFibGVkKCkgfHwgZG9jdW1lbnQoKS5xdWlya3MoKS5oYXNCcm9rZW5FbmNyeXB0ZWRNZWRp
YUFQSVN1cHBvcnRRdWlyaygpKQogICAgICAgICByZXR1cm47CiAKICAgICAvLyBodHRwczovL3cz
Yy5naXRodWIuaW8vZW5jcnlwdGVkLW1lZGlhLyNpbml0ZGF0YS1lbmNvdW50ZXJlZApJbmRleDog
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYzNTgp
CisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0xMDIsMTIgKzEwMiwxMiBAQCB0eXBlZGVmICgKICAgICBbQ29uZGl0aW9uYWw9TUVE
SUFfU1RBVElTVElDU10gcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgd2Via2l0QXVk
aW9EZWNvZGVkQnl0ZUNvdW50OwogICAgIFtDb25kaXRpb25hbD1NRURJQV9TVEFUSVNUSUNTXSBy
ZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyB3ZWJraXRWaWRlb0RlY29kZWRCeXRlQ291
bnQ7CiAKLSAgICBbQ29uZGl0aW9uYWw9TEVHQUNZX0VOQ1JZUFRFRF9NRURJQSwgRW5hYmxlZEF0
UnVudGltZT1MZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSV0gcmVhZG9ubHkgYXR0cmlidXRlIFdlYktp
dE1lZGlhS2V5cyB3ZWJraXRLZXlzOwotICAgIFtDb25kaXRpb25hbD1MRUdBQ1lfRU5DUllQVEVE
X01FRElBLCBFbmFibGVkQXRSdW50aW1lPUxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJXSB1bmRlZmlu
ZWQgd2Via2l0U2V0TWVkaWFLZXlzKFdlYktpdE1lZGlhS2V5cz8gbWVkaWFLZXlzKTsKLSAgICBb
Q29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBLCBFbmFibGVkQXRSdW50aW1lPUVuY3J5cHRlZE1l
ZGlhQVBJLCBEaXNhYmxlZEJ5UXVpcms9aGFzQnJva2VuRW5jcnlwdGVkTWVkaWFBUElTdXBwb3J0
XSByZWFkb25seSBhdHRyaWJ1dGUgTWVkaWFLZXlzIG1lZGlhS2V5czsKLSAgICBbQ29uZGl0aW9u
YWw9RU5DUllQVEVEX01FRElBLCBFbmFibGVkQXRSdW50aW1lPUVuY3J5cHRlZE1lZGlhQVBJLCBE
aXNhYmxlZEJ5UXVpcms9aGFzQnJva2VuRW5jcnlwdGVkTWVkaWFBUElTdXBwb3J0XSBhdHRyaWJ1
dGUgRXZlbnRIYW5kbGVyIG9uZW5jcnlwdGVkOwotICAgIFtDb25kaXRpb25hbD1FTkNSWVBURURf
TUVESUEsIEVuYWJsZWRBdFJ1bnRpbWU9RW5jcnlwdGVkTWVkaWFBUEksIERpc2FibGVkQnlRdWly
az1oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnRdIGF0dHJpYnV0ZSBFdmVudEhhbmRs
ZXIgb253YWl0aW5nZm9ya2V5OwotICAgIFtDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEsIEVu
YWJsZWRBdFJ1bnRpbWU9RW5jcnlwdGVkTWVkaWFBUEksIERpc2FibGVkQnlRdWlyaz1oYXNCcm9r
ZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnRdIFByb21pc2U8dW5kZWZpbmVkPiBzZXRNZWRpYUtl
eXMoTWVkaWFLZXlzPyBtZWRpYUtleXMpOworICAgIFtDb25kaXRpb25hbD1MRUdBQ1lfRU5DUllQ
VEVEX01FRElBLCBFbmFibGVkQnlTZXR0aW5nPUxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJXSByZWFk
b25seSBhdHRyaWJ1dGUgV2ViS2l0TWVkaWFLZXlzIHdlYmtpdEtleXM7CisgICAgW0NvbmRpdGlv
bmFsPUxFR0FDWV9FTkNSWVBURURfTUVESUEsIEVuYWJsZWRCeVNldHRpbmc9TGVnYWN5RW5jcnlw
dGVkTWVkaWFBUEldIHVuZGVmaW5lZCB3ZWJraXRTZXRNZWRpYUtleXMoV2ViS2l0TWVkaWFLZXlz
PyBtZWRpYUtleXMpOworICAgIFtDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEsIEVuYWJsZWRC
eVNldHRpbmc9RW5jcnlwdGVkTWVkaWFBUEksIERpc2FibGVkQnlRdWlyaz1oYXNCcm9rZW5FbmNy
eXB0ZWRNZWRpYUFQSVN1cHBvcnRdIHJlYWRvbmx5IGF0dHJpYnV0ZSBNZWRpYUtleXMgbWVkaWFL
ZXlzOworICAgIFtDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEsIEVuYWJsZWRCeVNldHRpbmc9
RW5jcnlwdGVkTWVkaWFBUEksIERpc2FibGVkQnlRdWlyaz1oYXNCcm9rZW5FbmNyeXB0ZWRNZWRp
YUFQSVN1cHBvcnRdIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25lbmNyeXB0ZWQ7CisgICAgW0Nv
bmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwgRW5hYmxlZEJ5U2V0dGluZz1FbmNyeXB0ZWRNZWRp
YUFQSSwgRGlzYWJsZWRCeVF1aXJrPWhhc0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydF0g
YXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbndhaXRpbmdmb3JrZXk7CisgICAgW0NvbmRpdGlvbmFs
PUVOQ1JZUFRFRF9NRURJQSwgRW5hYmxlZEJ5U2V0dGluZz1FbmNyeXB0ZWRNZWRpYUFQSSwgRGlz
YWJsZWRCeVF1aXJrPWhhc0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydF0gUHJvbWlzZTx1
bmRlZmluZWQ+IHNldE1lZGlhS2V5cyhNZWRpYUtleXM/IG1lZGlhS2V5cyk7CiAKICAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIFRleHRUcmFjayBhZGRUZXh0VHJhY2soRE9NU3RyaW5nIGtpbmQsIG9w
dGlvbmFsIERPTVN0cmluZyBsYWJlbCA9ICIiLCBvcHRpb25hbCBET01TdHJpbmcgbGFuZ3VhZ2Ug
PSAiIik7CiAgICAgW0ltcGxlbWVudGVkQXM9ZW5zdXJlQXVkaW9UcmFja3NdIHJlYWRvbmx5IGF0
dHJpYnV0ZSBBdWRpb1RyYWNrTGlzdCBhdWRpb1RyYWNrczsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE1ldGFFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNZXRhRWxlbWVudC5jcHAJKHJldmlzaW9uIDI2NjM1OCkKKysrIFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1ldGFFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcs
NiBAQAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiSFRNTEhlYWRFbGVtZW50Lmgi
CiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCi0jaW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJl
cy5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTg5LDcgKzg4LDcgQEAgdm9pZCBIVE1MTWV0YUVsZW1lbnQ6OnByb2Nlc3MoKQog
CiAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKG5hbWUoKSwgInZpZXdwb3J0
IikpCiAgICAgICAgIGRvY3VtZW50KCkucHJvY2Vzc1ZpZXdwb3J0KGNvbnRlbnRWYWx1ZSwgVmll
d3BvcnRBcmd1bWVudHM6OlZpZXdwb3J0TWV0YSk7Ci0gICAgZWxzZSBpZiAoUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5kaXNhYmxlZEFkYXB0YXRpb25zTWV0YVRhZ0Vu
YWJsZWQoKSAmJiBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShuYW1lKCksICJkaXNhYmxl
ZC1hZGFwdGF0aW9ucyIpKQorICAgIGVsc2UgaWYgKGRvY3VtZW50KCkuc2V0dGluZ3MoKS5kaXNh
YmxlZEFkYXB0YXRpb25zTWV0YVRhZ0VuYWJsZWQoKSAmJiBlcXVhbExldHRlcnNJZ25vcmluZ0FT
Q0lJQ2FzZShuYW1lKCksICJkaXNhYmxlZC1hZGFwdGF0aW9ucyIpKQogICAgICAgICBkb2N1bWVu
dCgpLnByb2Nlc3NEaXNhYmxlZEFkYXB0YXRpb25zKGNvbnRlbnRWYWx1ZSk7CiAjaWYgRU5BQkxF
KERBUktfTU9ERV9DU1MpCiAgICAgZWxzZSBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNh
c2UobmFtZSgpLCAiY29sb3Itc2NoZW1lIikgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNh
c2UobmFtZSgpLCAic3VwcG9ydGVkLWNvbG9yLXNjaGVtZXMiKSkKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYzNTgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAt
NDIsNyArNDIsNyBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBWYWxpZGl0eVN0YXRlIHZhbGlk
aXR5OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2U7
CiAgICAgYm9vbGVhbiBjaGVja1ZhbGlkaXR5KCk7Ci0gICAgW0VuYWJsZWRBdFJ1bnRpbWU9SW50
ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0gYm9vbGVhbiByZXBvcnRWYWxpZGl0eSgpOworICAgIFtF
bmFibGVkQnlTZXR0aW5nPUludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25dIGJvb2xlYW4gcmVwb3J0
VmFsaWRpdHkoKTsKICAgICB1bmRlZmluZWQgc2V0Q3VzdG9tVmFsaWRpdHkoRE9NU3RyaW5nIGVy
cm9yKTsKIAogICAgIFtDaGVja1NlY3VyaXR5Rm9yTm9kZV0gcmVhZG9ubHkgYXR0cmlidXRlIERv
Y3VtZW50IGNvbnRlbnREb2N1bWVudDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE91
dHB1dEVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE91
dHB1dEVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYzNTgpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxPdXRwdXRFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBAQCBp
bnRlcmZhY2UgSFRNTE91dHB1dEVsZW1lbnQgOiBIVE1MRWxlbWVuCiAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIFZhbGlkaXR5U3RhdGUgdmFsaWRpdHk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERP
TVN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZTsKICAgICBib29sZWFuIGNoZWNrVmFsaWRpdHkoKTsK
LSAgICBbRW5hYmxlZEF0UnVudGltZT1JbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uXSBib29sZWFu
IHJlcG9ydFZhbGlkaXR5KCk7CisgICAgW0VuYWJsZWRCeVNldHRpbmc9SW50ZXJhY3RpdmVGb3Jt
VmFsaWRhdGlvbl0gYm9vbGVhbiByZXBvcnRWYWxpZGl0eSgpOwogICAgIHVuZGVmaW5lZCBzZXRD
dXN0b21WYWxpZGl0eShET01TdHJpbmcgZXJyb3IpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IE5vZGVMaXN0IGxhYmVsczsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBpY3R1cmVF
bGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQaWN0dXJl
RWxlbWVudC5jcHAJKHJldmlzaW9uIDI2NjM1OCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFBpY3R1cmVFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQAogI2lu
Y2x1ZGUgIkhUTUxJbWFnZUVsZW1lbnQuaCIKICNpbmNsdWRlICJJbWFnZUxvYWRlci5oIgogI2lu
Y2x1ZGUgIkxvZ2dpbmcuaCIKLSNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCisj
aW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC02Nyw3ICs2Nyw3IEBAIHZvaWQgSFRNTFBpY3R1cmVF
bGVtZW50Ojpzb3VyY2VzQ2hhbmdlZCgKICNpZiBVU0UoU1lTVEVNX1BSRVZJRVcpCiBib29sIEhU
TUxQaWN0dXJlRWxlbWVudDo6aXNTeXN0ZW1QcmV2aWV3SW1hZ2UoKQogewotICAgIGlmICghUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zeXN0ZW1QcmV2aWV3RW5hYmxl
ZCgpKQorICAgIGlmICghZG9jdW1lbnQoKS5zZXR0aW5ncygpLnN5c3RlbVByZXZpZXdFbmFibGVk
KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGF1dG8qIHBhcmVudCA9IHBhcmVudEVs
ZW1lbnQoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNjcmlwdEVsZW1lbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNjcmlwdEVsZW1lbnQuY3Bw
CShyZXZpc2lvbiAyNjYzNTgpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTY3JpcHRFbGVt
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNyBAQAogI2luY2x1ZGUgIkV2ZW50
TmFtZXMuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJIVE1MUGFyc2VySWRp
b21zLmgiCi0jaW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIgorI2luY2x1ZGUgIlNl
dHRpbmdzLmgiCiAjaW5jbHVkZSAiVGV4dC5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxp
bmVzLmg+CiAjaW5jbHVkZSA8d3RmL1JlZi5oPgpAQCAtMTk3LDcgKzE5Nyw3IEBAIFN0cmluZyBI
VE1MU2NyaXB0RWxlbWVudDo6cmVmZXJyZXJQb2xpY3kKIAogUmVmZXJyZXJQb2xpY3kgSFRNTFNj
cmlwdEVsZW1lbnQ6OnJlZmVycmVyUG9saWN5KCkgY29uc3QKIHsKLSAgICBpZiAoUnVudGltZUVu
YWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5yZWZlcnJlclBvbGljeUF0dHJpYnV0ZUVu
YWJsZWQoKSkKKyAgICBpZiAoZG9jdW1lbnQoKS5zZXR0aW5ncygpLnJlZmVycmVyUG9saWN5QXR0
cmlidXRlRW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gcGFyc2VSZWZlcnJlclBvbGljeShhdHRy
aWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKHJlZmVycmVycG9saWN5QXR0ciksIFJlZmVycmVy
UG9saWN5U291cmNlOjpSZWZlcnJlclBvbGljeUF0dHJpYnV0ZSkudmFsdWVPcihSZWZlcnJlclBv
bGljeTo6RW1wdHlTdHJpbmcpOwogICAgIHJldHVybiBSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJp
bmc7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTY3JpcHRFbGVtZW50LmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTY3JpcHRFbGVtZW50LmlkbAko
cmV2aXNpb24gMjY2MzU4KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2NyaXB0RWxlbWVu
dC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMxLDUgKzMxLDUgQEAgaW50ZXJmYWNlIEhUTUxTY3Jp
cHRFbGVtZW50IDogSFRNTEVsZW1lbgogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5n
IG5vbmNlOwogICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWQsIFJlZmxlY3RdIGF0dHJpYnV0ZSBi
b29sZWFuIG5vTW9kdWxlOwogICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWQsIFJlZmxlY3QsIEVu
YWJsZWRCeVNldHRpbmc9U3VicmVzb3VyY2VJbnRlZ3JpdHldIGF0dHJpYnV0ZSBET01TdHJpbmcg
aW50ZWdyaXR5OwotICAgIFtFbmFibGVkQXRSdW50aW1lPVJlZmVycmVyUG9saWN5QXR0cmlidXRl
LCBJbXBsZW1lbnRlZEFzPXJlZmVycmVyUG9saWN5Rm9yQmluZGluZ3MsIENFUmVhY3Rpb25zPU5v
dE5lZWRlZF0gYXR0cmlidXRlIERPTVN0cmluZyByZWZlcnJlclBvbGljeTsKKyAgICBbRW5hYmxl
ZEJ5U2V0dGluZz1SZWZlcnJlclBvbGljeUF0dHJpYnV0ZSwgSW1wbGVtZW50ZWRBcz1yZWZlcnJl
clBvbGljeUZvckJpbmRpbmdzLCBDRVJlYWN0aW9ucz1Ob3ROZWVkZWRdIGF0dHJpYnV0ZSBET01T
dHJpbmcgcmVmZXJyZXJQb2xpY3k7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
U2VsZWN0RWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
U2VsZWN0RWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjM1OCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFNlbGVjdEVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC01MCw3ICs1MCw3IEBA
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFZhbGlkaXR5U3RhdGUgdmFsaWRpdHk7CiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZTsKICAgICBib29sZWFu
IGNoZWNrVmFsaWRpdHkoKTsKLSAgICBbRW5hYmxlZEF0UnVudGltZT1JbnRlcmFjdGl2ZUZvcm1W
YWxpZGF0aW9uXSBib29sZWFuIHJlcG9ydFZhbGlkaXR5KCk7CisgICAgW0VuYWJsZWRCeVNldHRp
bmc9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0gYm9vbGVhbiByZXBvcnRWYWxpZGl0eSgpOwog
ICAgIHVuZGVmaW5lZCBzZXRDdXN0b21WYWxpZGl0eShET01TdHJpbmcgZXJyb3IpOwogCiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIE5vZGVMaXN0IGxhYmVsczsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmlkbAkocmV2aXNpb24gMjY2MzU4KQorKysgU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpA
QCAtNDMsNyArNDMsNyBAQCBpbnRlcmZhY2UgSFRNTFRleHRBcmVhRWxlbWVudCA6IEhUTUxFbGVt
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFZhbGlkaXR5U3RhdGUgdmFsaWRpdHk7CiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZTsKICAgICBib29sZWFu
IGNoZWNrVmFsaWRpdHkoKTsKLSAgICBbRW5hYmxlZEF0UnVudGltZT1JbnRlcmFjdGl2ZUZvcm1W
YWxpZGF0aW9uXSBib29sZWFuIHJlcG9ydFZhbGlkaXR5KCk7CisgICAgW0VuYWJsZWRCeVNldHRp
bmc9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0gYm9vbGVhbiByZXBvcnRWYWxpZGl0eSgpOwog
ICAgIHVuZGVmaW5lZCBzZXRDdXN0b21WYWxpZGl0eShET01TdHJpbmcgZXJyb3IpOwogCiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIE5vZGVMaXN0IGxhYmVsczsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2h0bWwvTGlua1JlbEF0dHJpYnV0ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
aHRtbC9MaW5rUmVsQXR0cmlidXRlLmNwcAkocmV2aXNpb24gMjY2MzU4KQorKysgU291cmNlL1dl
YkNvcmUvaHRtbC9MaW5rUmVsQXR0cmlidXRlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzEsOSAr
NzEsOSBAQCBMaW5rUmVsQXR0cmlidXRlOjpMaW5rUmVsQXR0cmlidXRlKERvY3VtCiAgICAgICAg
IGlzRE5TUHJlZmV0Y2ggPSB0cnVlOwogICAgIGVsc2UgaWYgKGRvY3VtZW50LnNldHRpbmdzKCku
bGlua1ByZWNvbm5lY3RFbmFibGVkKCkgJiYgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uo
cmVsLCAicHJlY29ubmVjdCIpKQogICAgICAgICBpc0xpbmtQcmVjb25uZWN0ID0gdHJ1ZTsKLSAg
ICBlbHNlIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmxpbmtQ
cmVsb2FkRW5hYmxlZCgpICYmIGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHJlbCwgInBy
ZWxvYWQiKSkKKyAgICBlbHNlIGlmIChkb2N1bWVudC5zZXR0aW5ncygpLmxpbmtQcmVsb2FkRW5h
YmxlZCgpICYmIGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHJlbCwgInByZWxvYWQiKSkK
ICAgICAgICAgaXNMaW5rUHJlbG9hZCA9IHRydWU7Ci0gICAgZWxzZSBpZiAoUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5saW5rUHJlZmV0Y2hFbmFibGVkKCkgJiYgZXF1
YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UocmVsLCAicHJlZmV0Y2giKSkKKyAgICBlbHNlIGlm
IChkb2N1bWVudC5zZXR0aW5ncygpLmxpbmtQcmVmZXRjaEVuYWJsZWQoKSAmJiBlcXVhbExldHRl
cnNJZ25vcmluZ0FTQ0lJQ2FzZShyZWwsICJwcmVmZXRjaCIpKQogICAgICAgICBpc0xpbmtQcmVm
ZXRjaCA9IHRydWU7CiAgICAgZWxzZSBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uo
cmVsLCAiYWx0ZXJuYXRlIHN0eWxlc2hlZXQiKSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJ
Q2FzZShyZWwsICJzdHlsZXNoZWV0IGFsdGVybmF0ZSIpKSB7CiAgICAgICAgIGlzU3R5bGVTaGVl
dCA9IHRydWU7CkBAIC0xMTksMTAgKzExOSwxMCBAQCBib29sIExpbmtSZWxBdHRyaWJ1dGU6Omlz
U3VwcG9ydGVkKERvY3VtCiAgICAgaWYgKGRvY3VtZW50LnNldHRpbmdzKCkubGlua1ByZWNvbm5l
Y3RFbmFibGVkKCkgJiYgZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShhdHRyaWJ1dGUsICJwcmVjb25u
ZWN0IikpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkubGlua1ByZWxvYWRFbmFibGVkKCkgJiYgZXF1YWxJZ25v
cmluZ0FTQ0lJQ2FzZShhdHRyaWJ1dGUsICJwcmVsb2FkIikpCisgICAgaWYgKGRvY3VtZW50LnNl
dHRpbmdzKCkubGlua1ByZWxvYWRFbmFibGVkKCkgJiYgZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShh
dHRyaWJ1dGUsICJwcmVsb2FkIikpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgaWYgKFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkubGlua1ByZWZldGNoRW5hYmxl
ZCgpICYmIGVxdWFsSWdub3JpbmdBU0NJSUNhc2UoYXR0cmlidXRlLCAicHJlZmV0Y2giKSkKKyAg
ICBpZiAoZG9jdW1lbnQuc2V0dGluZ3MoKS5saW5rUHJlZmV0Y2hFbmFibGVkKCkgJiYgZXF1YWxJ
Z25vcmluZ0FTQ0lJQ2FzZShhdHRyaWJ1dGUsICJwcmVmZXRjaCIpKQogICAgICAgICByZXR1cm4g
dHJ1ZTsKIAogICAgIHJldHVybiBmYWxzZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvTWVk
aWFFbmNyeXB0ZWRFdmVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9N
ZWRpYUVuY3J5cHRlZEV2ZW50LmlkbAkocmV2aXNpb24gMjY2MzU4KQorKysgU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYUVuY3J5cHRlZEV2ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzMsNyAr
MzMsNyBAQCBkaWN0aW9uYXJ5IE1lZGlhRW5jcnlwdGVkRXZlbnRJbml0IDogRXZlCiAKIFsKICAg
ICBDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEsCi0gICAgRW5hYmxlZEF0UnVudGltZT1FbmNy
eXB0ZWRNZWRpYUFQSSwKKyAgICBFbmFibGVkQnlTZXR0aW5nPUVuY3J5cHRlZE1lZGlhQVBJLAog
ICAgIERpc2FibGVkQnlRdWlyaz1oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnQsCiBd
IGludGVyZmFjZSBNZWRpYUVuY3J5cHRlZEV2ZW50IDogRXZlbnQgewogICAgIGNvbnN0cnVjdG9y
KERPTVN0cmluZyB0eXBlLCBvcHRpb25hbCBNZWRpYUVuY3J5cHRlZEV2ZW50SW5pdCBldmVudElu
aXREaWN0KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvV2ViS2l0TWVkaWFLZXlFcnJvci5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9XZWJLaXRNZWRpYUtleUVycm9y
LmlkbAkocmV2aXNpb24gMjY2MzU4KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9XZWJLaXRNZWRp
YUtleUVycm9yLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogWwogICAgIENv
bmRpdGlvbmFsPUxFR0FDWV9FTkNSWVBURURfTUVESUEsCiAgICAgSW1wbGVtZW50YXRpb25MYWNr
c1ZUYWJsZSwKLSAgICBFbmFibGVkQXRSdW50aW1lPUxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJLAor
ICAgIEVuYWJsZWRCeVNldHRpbmc9TGVnYWN5RW5jcnlwdGVkTWVkaWFBUEksCiBdIGludGVyZmFj
ZSBXZWJLaXRNZWRpYUtleUVycm9yIHsKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBNRURJQV9L
RVlFUlJfVU5LTk9XTiA9IDE7CiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgTUVESUFfS0VZRVJS
X0NMSUVOVCA9IDI7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9h
ZFNjYW5uZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxQcmVsb2FkU2Nhbm5lci5jcHAJKHJldmlzaW9uIDI2NjM1OCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQy
LDcgKzQyLDYgQEAKICNpbmNsdWRlICJNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCiAjaW5jbHVkZSAi
TWVkaWFRdWVyeVBhcnNlci5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKLSNpbmNsdWRlICJS
dW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlQb2xpY3kuaCIKICNp
bmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlNpemVzQXR0cmlidXRlUGFyc2VyLmgiCkBA
IC0xMDUsOCArMTA0LDkgQEAgU3RyaW5nIFRva2VuUHJlbG9hZFNjYW5uZXI6OmluaXRpYXRvckZv
cgogCiBjbGFzcyBUb2tlblByZWxvYWRTY2FubmVyOjpTdGFydFRhZ1NjYW5uZXIgewogcHVibGlj
OgotICAgIGV4cGxpY2l0IFN0YXJ0VGFnU2Nhbm5lcihUYWdJZCB0YWdJZCwgZmxvYXQgZGV2aWNl
U2NhbGVGYWN0b3IgPSAxLjApCi0gICAgICAgIDogbV90YWdJZCh0YWdJZCkKKyAgICBleHBsaWNp
dCBTdGFydFRhZ1NjYW5uZXIoRG9jdW1lbnQmIGRvY3VtZW50LCBUYWdJZCB0YWdJZCwgZmxvYXQg
ZGV2aWNlU2NhbGVGYWN0b3IgPSAxLjApCisgICAgICAgIDogbV9kb2N1bWVudChkb2N1bWVudCkK
KyAgICAgICAgLCBtX3RhZ0lkKHRhZ0lkKQogICAgICAgICAsIG1fbGlua0lzU3R5bGVTaGVldChm
YWxzZSkKICAgICAgICAgLCBtX2xpbmtJc1ByZWxvYWQoZmFsc2UpCiAgICAgICAgICwgbV9tZXRh
SXNWaWV3cG9ydChmYWxzZSkKQEAgLTExNiw3ICsxMTYsNyBAQCBwdWJsaWM6CiAgICAgewogICAg
IH0KIAotICAgIHZvaWQgcHJvY2Vzc0F0dHJpYnV0ZXMoY29uc3QgSFRNTFRva2VuOjpBdHRyaWJ1
dGVMaXN0JiBhdHRyaWJ1dGVzLCBEb2N1bWVudCYgZG9jdW1lbnQsIFZlY3Rvcjxib29sPiYgcGlj
dHVyZVN0YXRlKQorICAgIHZvaWQgcHJvY2Vzc0F0dHJpYnV0ZXMoY29uc3QgSFRNTFRva2VuOjpB
dHRyaWJ1dGVMaXN0JiBhdHRyaWJ1dGVzLCBWZWN0b3I8Ym9vbD4mIHBpY3R1cmVTdGF0ZSkKICAg
ICB7CiAgICAgICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgICAgIGlmIChtX3RhZ0lk
ID49IFRhZ0lkOjpVbmtub3duKQpAQCAtMTI1LDEyICsxMjUsMTIgQEAgcHVibGljOgogICAgICAg
ICBmb3IgKGF1dG8mIGF0dHJpYnV0ZSA6IGF0dHJpYnV0ZXMpIHsKICAgICAgICAgICAgIEF0b21T
dHJpbmcgYXR0cmlidXRlTmFtZShhdHRyaWJ1dGUubmFtZSk7CiAgICAgICAgICAgICBTdHJpbmcg
YXR0cmlidXRlVmFsdWUgPSBTdHJpbmdJbXBsOjpjcmVhdGU4Qml0SWZQb3NzaWJsZShhdHRyaWJ1
dGUudmFsdWUpOwotICAgICAgICAgICAgcHJvY2Vzc0F0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lLCBh
dHRyaWJ1dGVWYWx1ZSwgZG9jdW1lbnQsIHBpY3R1cmVTdGF0ZSk7CisgICAgICAgICAgICBwcm9j
ZXNzQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUsIGF0dHJpYnV0ZVZhbHVlLCBwaWN0dXJlU3RhdGUp
OwogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBpZiAobV90YWdJZCA9PSBUYWdJZDo6U291
cmNlICYmICFwaWN0dXJlU3RhdGUuaXNFbXB0eSgpICYmICFwaWN0dXJlU3RhdGUubGFzdCgpICYm
IG1fbWVkaWFNYXRjaGVkICYmIG1fdHlwZU1hdGNoZWQgJiYgIW1fc3JjU2V0QXR0cmlidXRlLmlz
RW1wdHkoKSkgewogICAgICAgICAgICAgCi0gICAgICAgICAgICBhdXRvIHNvdXJjZVNpemUgPSBT
aXplc0F0dHJpYnV0ZVBhcnNlcihtX3NpemVzQXR0cmlidXRlLCBkb2N1bWVudCkubGVuZ3RoKCk7
CisgICAgICAgICAgICBhdXRvIHNvdXJjZVNpemUgPSBTaXplc0F0dHJpYnV0ZVBhcnNlcihtX3Np
emVzQXR0cmlidXRlLCBtX2RvY3VtZW50KS5sZW5ndGgoKTsKICAgICAgICAgICAgIEltYWdlQ2Fu
ZGlkYXRlIGltYWdlQ2FuZGlkYXRlID0gYmVzdEZpdFNvdXJjZUZvckltYWdlQXR0cmlidXRlcyht
X2RldmljZVNjYWxlRmFjdG9yLCBtX3VybFRvTG9hZCwgbV9zcmNTZXRBdHRyaWJ1dGUsIHNvdXJj
ZVNpemUpOwogICAgICAgICAgICAgaWYgKCFpbWFnZUNhbmRpZGF0ZS5pc0VtcHR5KCkpIHsKICAg
ICAgICAgICAgICAgICBwaWN0dXJlU3RhdGUubGFzdCgpID0gdHJ1ZTsKQEAgLTE0MCwxNiArMTQw
LDE2IEBAIHB1YmxpYzoKICAgICAgICAgCiAgICAgICAgIC8vIFJlc29sdmUgYmV0d2VlbiBzcmMg
YW5kIHNyY1NldCBpZiB3ZSBoYXZlIHRoZW0gYW5kIHRoZSB0YWcgaXMgaW1nLgogICAgICAgICBp
ZiAobV90YWdJZCA9PSBUYWdJZDo6SW1nICYmICFtX3NyY1NldEF0dHJpYnV0ZS5pc0VtcHR5KCkp
IHsKLSAgICAgICAgICAgIGF1dG8gc291cmNlU2l6ZSA9IFNpemVzQXR0cmlidXRlUGFyc2VyKG1f
c2l6ZXNBdHRyaWJ1dGUsIGRvY3VtZW50KS5sZW5ndGgoKTsKKyAgICAgICAgICAgIGF1dG8gc291
cmNlU2l6ZSA9IFNpemVzQXR0cmlidXRlUGFyc2VyKG1fc2l6ZXNBdHRyaWJ1dGUsIG1fZG9jdW1l
bnQpLmxlbmd0aCgpOwogICAgICAgICAgICAgSW1hZ2VDYW5kaWRhdGUgaW1hZ2VDYW5kaWRhdGUg
PSBiZXN0Rml0U291cmNlRm9ySW1hZ2VBdHRyaWJ1dGVzKG1fZGV2aWNlU2NhbGVGYWN0b3IsIG1f
dXJsVG9Mb2FkLCBtX3NyY1NldEF0dHJpYnV0ZSwgc291cmNlU2l6ZSk7CiAgICAgICAgICAgICBz
ZXRVcmxUb0xvYWQoaW1hZ2VDYW5kaWRhdGUuc3RyaW5nLnRvU3RyaW5nKCksIHRydWUpOwogICAg
ICAgICB9CiAKICAgICAgICAgaWYgKG1fbWV0YUlzVmlld3BvcnQgJiYgIW1fbWV0YUNvbnRlbnQu
aXNOdWxsKCkpCi0gICAgICAgICAgICBkb2N1bWVudC5wcm9jZXNzVmlld3BvcnQobV9tZXRhQ29u
dGVudCwgVmlld3BvcnRBcmd1bWVudHM6OlZpZXdwb3J0TWV0YSk7CisgICAgICAgICAgICBtX2Rv
Y3VtZW50LnByb2Nlc3NWaWV3cG9ydChtX21ldGFDb250ZW50LCBWaWV3cG9ydEFyZ3VtZW50czo6
Vmlld3BvcnRNZXRhKTsKIAogICAgICAgICBpZiAobV9tZXRhSXNEaXNhYmxlZEFkYXB0YXRpb25z
ICYmICFtX21ldGFDb250ZW50LmlzTnVsbCgpKQotICAgICAgICAgICAgZG9jdW1lbnQucHJvY2Vz
c0Rpc2FibGVkQWRhcHRhdGlvbnMobV9tZXRhQ29udGVudCk7CisgICAgICAgICAgICBtX2RvY3Vt
ZW50LnByb2Nlc3NEaXNhYmxlZEFkYXB0YXRpb25zKG1fbWV0YUNvbnRlbnQpOwogICAgIH0KIAog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxQcmVsb2FkUmVxdWVzdD4gY3JlYXRlUHJlbG9hZFJlcXVlc3Qo
Y29uc3QgVVJMJiBwcmVkaWN0ZWRCYXNlVVJMKQpAQCAtMTYxLDcgKzE2MSw3IEBAIHB1YmxpYzoK
ICAgICAgICAgaWYgKCF0eXBlKQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICAg
ICAgaWYgKCFMaW5rTG9hZGVyOjppc1N1cHBvcnRlZFR5cGUodHlwZS52YWx1ZSgpLCBtX3R5cGVB
dHRyaWJ1dGUpKQorICAgICAgICBpZiAoIUxpbmtMb2FkZXI6OmlzU3VwcG9ydGVkVHlwZSh0eXBl
LnZhbHVlKCksIG1fdHlwZUF0dHJpYnV0ZSwgbV9kb2N1bWVudCkpCiAgICAgICAgICAgICByZXR1
cm4gbnVsbHB0cjsKIAogICAgICAgICAvLyBEbyBub3QgcHJlbG9hZCBpZiBsYXp5bG9hZCBpcyBw
b3NzaWJsZSBidXQgbWV0YWRhdGEgZmV0Y2ggaXMgZGlzYWJsZWQuCkBAIC0xOTcsNyArMTk3LDcg
QEAgcHJpdmF0ZToKICAgICAgICAgICAgIG1fY2hhcnNldCA9IGF0dHJpYnV0ZVZhbHVlOwogICAg
IH0KIAotICAgIHZvaWQgcHJvY2Vzc0F0dHJpYnV0ZShjb25zdCBBdG9tU3RyaW5nJiBhdHRyaWJ1
dGVOYW1lLCBjb25zdCBTdHJpbmcmIGF0dHJpYnV0ZVZhbHVlLCBEb2N1bWVudCYgZG9jdW1lbnQs
IGNvbnN0IFZlY3Rvcjxib29sPiYgcGljdHVyZVN0YXRlKQorICAgIHZvaWQgcHJvY2Vzc0F0dHJp
YnV0ZShjb25zdCBBdG9tU3RyaW5nJiBhdHRyaWJ1dGVOYW1lLCBjb25zdCBTdHJpbmcmIGF0dHJp
YnV0ZVZhbHVlLCBjb25zdCBWZWN0b3I8Ym9vbD4mIHBpY3R1cmVTdGF0ZSkKICAgICB7CiAgICAg
ICAgIGJvb2wgaW5QaWN0dXJlID0gIXBpY3R1cmVTdGF0ZS5pc0VtcHR5KCk7CiAgICAgICAgIGJv
b2wgYWxyZWFkeU1hdGNoZWRTb3VyY2UgPSBpblBpY3R1cmUgJiYgcGljdHVyZVN0YXRlLmxhc3Qo
KTsKQEAgLTIxNCw3ICsyMTQsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgIG1fc2l6ZXNB
dHRyaWJ1dGUgPSBhdHRyaWJ1dGVWYWx1ZTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRG
ZWF0dXJlcygpLmxhenlJbWFnZUxvYWRpbmdFbmFibGVkKCkpIHsKKyAgICAgICAgICAgIGlmICht
X2RvY3VtZW50LnNldHRpbmdzKCkubGF6eUltYWdlTG9hZGluZ0VuYWJsZWQoKSkgewogICAgICAg
ICAgICAgICAgIGlmIChtYXRjaChhdHRyaWJ1dGVOYW1lLCBsb2FkaW5nQXR0cikgJiYgbV9sYXp5
bG9hZEF0dHJpYnV0ZS5pc051bGwoKSkgewogICAgICAgICAgICAgICAgICAgICBtX2xhenlsb2Fk
QXR0cmlidXRlID0gYXR0cmlidXRlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwpA
QCAtMjM1LDEwICsyMzUsMTAgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIH0KICAgICAgICAgICAg
IGlmIChtYXRjaChhdHRyaWJ1dGVOYW1lLCBtZWRpYUF0dHIpICYmIG1fbWVkaWFBdHRyaWJ1dGUu
aXNOdWxsKCkpIHsKICAgICAgICAgICAgICAgICBtX21lZGlhQXR0cmlidXRlID0gYXR0cmlidXRl
VmFsdWU7Ci0gICAgICAgICAgICAgICAgYXV0byBtZWRpYVNldCA9IE1lZGlhUXVlcnlTZXQ6OmNy
ZWF0ZShhdHRyaWJ1dGVWYWx1ZSwgTWVkaWFRdWVyeVBhcnNlckNvbnRleHQoZG9jdW1lbnQpKTsK
LSAgICAgICAgICAgICAgICBhdXRvIGRvY3VtZW50RWxlbWVudCA9IG1ha2VSZWZQdHIoZG9jdW1l
bnQuZG9jdW1lbnRFbGVtZW50KCkpOworICAgICAgICAgICAgICAgIGF1dG8gbWVkaWFTZXQgPSBN
ZWRpYVF1ZXJ5U2V0OjpjcmVhdGUoYXR0cmlidXRlVmFsdWUsIE1lZGlhUXVlcnlQYXJzZXJDb250
ZXh0KG1fZG9jdW1lbnQpKTsKKyAgICAgICAgICAgICAgICBhdXRvIGRvY3VtZW50RWxlbWVudCA9
IG1ha2VSZWZQdHIobV9kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQoKSk7CiAgICAgICAgICAgICAg
ICAgTE9HKE1lZGlhUXVlcmllcywgIkhUTUxQcmVsb2FkU2Nhbm5lciAlcCBwcm9jZXNzQXR0cmli
dXRlIGV2YWx1YXRpbmcgbWVkaWEgcXVlcmllcyIsIHRoaXMpOwotICAgICAgICAgICAgICAgIG1f
bWVkaWFNYXRjaGVkID0gTWVkaWFRdWVyeUV2YWx1YXRvciB7IGRvY3VtZW50LnByaW50aW5nKCkg
PyAicHJpbnQiIDogInNjcmVlbiIsIGRvY3VtZW50LCBkb2N1bWVudEVsZW1lbnQgPyBkb2N1bWVu
dEVsZW1lbnQtPmNvbXB1dGVkU3R5bGUoKSA6IG51bGxwdHIgfS5ldmFsdWF0ZShtZWRpYVNldC5n
ZXQoKSk7CisgICAgICAgICAgICAgICAgbV9tZWRpYU1hdGNoZWQgPSBNZWRpYVF1ZXJ5RXZhbHVh
dG9yIHsgbV9kb2N1bWVudC5wcmludGluZygpID8gInByaW50IiA6ICJzY3JlZW4iLCBtX2RvY3Vt
ZW50LCBkb2N1bWVudEVsZW1lbnQgPyBkb2N1bWVudEVsZW1lbnQtPmNvbXB1dGVkU3R5bGUoKSA6
IG51bGxwdHIgfS5ldmFsdWF0ZShtZWRpYVNldC5nZXQoKSk7CiAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICBpZiAobWF0Y2goYXR0cmlidXRlTmFtZSwgdHlwZUF0dHIpICYmIG1fdHlwZUF0dHJp
YnV0ZS5pc051bGwoKSkgewogICAgICAgICAgICAgICAgIC8vIHdoZW4gbXVsdGlwbGUgdHlwZSBh
dHRyaWJ1dGVzIHByZXNlbnQ6IGZpcnN0IHZhbHVlIHdpbnMsIGlnbm9yZSBzdWJzZXF1ZW50ICh0
byBtYXRjaCBJbWFnZUVsZW1lbnQgcGFyc2VyIGFuZCBCbGluayBiZWhhdmlvdXJzKQpAQCAtMjY5
LDcgKzI2OSw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBpZiAobWF0Y2goYXR0cmlidXRlTmFt
ZSwgaHJlZkF0dHIpKQogICAgICAgICAgICAgICAgIHNldFVybFRvTG9hZChhdHRyaWJ1dGVWYWx1
ZSk7CiAgICAgICAgICAgICBlbHNlIGlmIChtYXRjaChhdHRyaWJ1dGVOYW1lLCByZWxBdHRyKSkg
ewotICAgICAgICAgICAgICAgIExpbmtSZWxBdHRyaWJ1dGUgcGFyc2VkQXR0cmlidXRlIHsgZG9j
dW1lbnQsIGF0dHJpYnV0ZVZhbHVlIH07CisgICAgICAgICAgICAgICAgTGlua1JlbEF0dHJpYnV0
ZSBwYXJzZWRBdHRyaWJ1dGUgeyBtX2RvY3VtZW50LCBhdHRyaWJ1dGVWYWx1ZSB9OwogICAgICAg
ICAgICAgICAgIG1fbGlua0lzU3R5bGVTaGVldCA9IHJlbEF0dHJpYnV0ZUlzU3R5bGVTaGVldChw
YXJzZWRBdHRyaWJ1dGUpOwogICAgICAgICAgICAgICAgIG1fbGlua0lzUHJlbG9hZCA9IHBhcnNl
ZEF0dHJpYnV0ZS5pc0xpbmtQcmVsb2FkOwogICAgICAgICAgICAgfSBlbHNlIGlmIChtYXRjaChh
dHRyaWJ1dGVOYW1lLCBtZWRpYUF0dHIpKQpAQCAtMjk4LDcgKzI5OCw3IEBAIHByaXZhdGU6CiAg
ICAgICAgICAgICAgICAgbV9tZXRhQ29udGVudCA9IGF0dHJpYnV0ZVZhbHVlOwogICAgICAgICAg
ICAgZWxzZSBpZiAobWF0Y2goYXR0cmlidXRlTmFtZSwgbmFtZUF0dHIpKQogICAgICAgICAgICAg
ICAgIG1fbWV0YUlzVmlld3BvcnQgPSBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShhdHRy
aWJ1dGVWYWx1ZSwgInZpZXdwb3J0Iik7Ci0gICAgICAgICAgICBlbHNlIGlmIChSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmRpc2FibGVkQWRhcHRhdGlvbnNNZXRhVGFn
RW5hYmxlZCgpICYmIG1hdGNoKGF0dHJpYnV0ZU5hbWUsIG5hbWVBdHRyKSkKKyAgICAgICAgICAg
IGVsc2UgaWYgKG1fZG9jdW1lbnQuc2V0dGluZ3MoKS5kaXNhYmxlZEFkYXB0YXRpb25zTWV0YVRh
Z0VuYWJsZWQoKSAmJiBtYXRjaChhdHRyaWJ1dGVOYW1lLCBuYW1lQXR0cikpCiAgICAgICAgICAg
ICAgICAgbV9tZXRhSXNEaXNhYmxlZEFkYXB0YXRpb25zID0gZXF1YWxMZXR0ZXJzSWdub3JpbmdB
U0NJSUNhc2UoYXR0cmlidXRlVmFsdWUsICJkaXNhYmxlZC1hZGFwdGF0aW9ucyIpOwogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgVGFnSWQ6OkJhc2U6CkBAIC0zNDYsNyArMzQ2LDcg
QEAgcHJpdmF0ZToKICAgICAgICAgICAgIGlmIChtX2xpbmtJc1N0eWxlU2hlZXQpCiAgICAgICAg
ICAgICAgICAgcmV0dXJuIENhY2hlZFJlc291cmNlOjpUeXBlOjpDU1NTdHlsZVNoZWV0OwogICAg
ICAgICAgICAgaWYgKG1fbGlua0lzUHJlbG9hZCkKLSAgICAgICAgICAgICAgICByZXR1cm4gTGlu
a0xvYWRlcjo6cmVzb3VyY2VUeXBlRnJvbUFzQXR0cmlidXRlKG1fYXNBdHRyaWJ1dGUpOworICAg
ICAgICAgICAgICAgIHJldHVybiBMaW5rTG9hZGVyOjpyZXNvdXJjZVR5cGVGcm9tQXNBdHRyaWJ1
dGUobV9hc0F0dHJpYnV0ZSwgbV9kb2N1bWVudCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgY2FzZSBUYWdJZDo6TWV0YToKICAgICAgICAgY2FzZSBUYWdJZDo6VW5rbm93bjoKQEAgLTM4
MCw2ICszODAsNyBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKKyAg
ICBEb2N1bWVudCYgbV9kb2N1bWVudDsKICAgICBUYWdJZCBtX3RhZ0lkOwogICAgIFN0cmluZyBt
X3VybFRvTG9hZDsKICAgICBTdHJpbmcgbV9zcmNTZXRBdHRyaWJ1dGU7CkBAIC00NjIsOCArNDYz
LDggQEAgdm9pZCBUb2tlblByZWxvYWRTY2FubmVyOjpzY2FuKGNvbnN0IEhUTQogICAgICAgICAg
ICAgcmV0dXJuOwogICAgICAgICB9CiAKLSAgICAgICAgU3RhcnRUYWdTY2FubmVyIHNjYW5uZXIo
dGFnSWQsIG1fZGV2aWNlU2NhbGVGYWN0b3IpOwotICAgICAgICBzY2FubmVyLnByb2Nlc3NBdHRy
aWJ1dGVzKHRva2VuLmF0dHJpYnV0ZXMoKSwgZG9jdW1lbnQsIG1fcGljdHVyZVNvdXJjZVN0YXRl
KTsKKyAgICAgICAgU3RhcnRUYWdTY2FubmVyIHNjYW5uZXIoZG9jdW1lbnQsIHRhZ0lkLCBtX2Rl
dmljZVNjYWxlRmFjdG9yKTsKKyAgICAgICAgc2Nhbm5lci5wcm9jZXNzQXR0cmlidXRlcyh0b2tl
bi5hdHRyaWJ1dGVzKCksIG1fcGljdHVyZVNvdXJjZVN0YXRlKTsKICAgICAgICAgaWYgKGF1dG8g
cmVxdWVzdCA9IHNjYW5uZXIuY3JlYXRlUHJlbG9hZFJlcXVlc3QobV9wcmVkaWN0ZWRCYXNlRWxl
bWVudFVSTCkpCiAgICAgICAgICAgICByZXF1ZXN0cy5hcHBlbmQoV1RGTW92ZShyZXF1ZXN0KSk7
CiAgICAgICAgIHJldHVybjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRl
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNw
cAkocmV2aXNpb24gMjY2MzU4KQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjA4LDcgKzIwOCw3IEBAIHZvaWQgSW1hZ2VMb2FkZXI6
OnVwZGF0ZUZyb21FbGVtZW50KFJlbGUKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGlm
IChtX2xhenlJbWFnZUxvYWRTdGF0ZSA9PSBMYXp5SW1hZ2VMb2FkU3RhdGU6Ok5vbmUgJiYgaXNJ
bWFnZUVsZW1lbnQpIHsKICAgICAgICAgICAgICAgICBhdXRvJiBpbWFnZUVsZW1lbnQgPSBkb3du
Y2FzdDxIVE1MSW1hZ2VFbGVtZW50PihlbGVtZW50KCkpOwotICAgICAgICAgICAgICAgIGlmIChp
bWFnZUVsZW1lbnQuaXNMYXp5TG9hZGFibGUoKSAmJiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpz
aGFyZWRGZWF0dXJlcygpLmxhenlJbWFnZUxvYWRpbmdFbmFibGVkKCkpIHsKKyAgICAgICAgICAg
ICAgICBpZiAoaW1hZ2VFbGVtZW50LmlzTGF6eUxvYWRhYmxlKCkgJiYgZG9jdW1lbnQuc2V0dGlu
Z3MoKS5sYXp5SW1hZ2VMb2FkaW5nRW5hYmxlZCgpKSB7CiAgICAgICAgICAgICAgICAgICAgIG1f
bGF6eUltYWdlTG9hZFN0YXRlID0gTGF6eUltYWdlTG9hZFN0YXRlOjpEZWZlcnJlZDsKICAgICAg
ICAgICAgICAgICAgICAgcmVxdWVzdC5zZXRJZ25vcmVGb3JSZXF1ZXN0Q291bnQodHJ1ZSk7CiAg
ICAgICAgICAgICAgICAgfQpJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmNwcAko
cmV2aXNpb24gMjY2MzU4KQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMTcsNyArMTE3LDcgQEAgdm9pZCBMaW5rTG9hZGVyOjpsb2Fk
TGlua3NGcm9tSGVhZGVyKGNvbgogICAgIH0KIH0KIAotT3B0aW9uYWw8Q2FjaGVkUmVzb3VyY2U6
OlR5cGU+IExpbmtMb2FkZXI6OnJlc291cmNlVHlwZUZyb21Bc0F0dHJpYnV0ZShjb25zdCBTdHJp
bmcmIGFzKQorT3B0aW9uYWw8Q2FjaGVkUmVzb3VyY2U6OlR5cGU+IExpbmtMb2FkZXI6OnJlc291
cmNlVHlwZUZyb21Bc0F0dHJpYnV0ZShjb25zdCBTdHJpbmcmIGFzLCBEb2N1bWVudCYgZG9jdW1l
bnQpCiB7CiAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGFzLCAiZmV0Y2gi
KSkKICAgICAgICAgcmV0dXJuIENhY2hlZFJlc291cmNlOjpUeXBlOjpSYXdSZXNvdXJjZTsKQEAg
LTEyNyw3ICsxMjcsNyBAQCBPcHRpb25hbDxDYWNoZWRSZXNvdXJjZTo6VHlwZT4gTGlua0xvYWRl
CiAgICAgICAgIHJldHVybiBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6U2NyaXB0OwogICAgIGlmIChl
cXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShhcywgInN0eWxlIikpCiAgICAgICAgIHJldHVy
biBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6Q1NTU3R5bGVTaGVldDsKLSAgICBpZiAoUnVudGltZUVu
YWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5tZWRpYVByZWxvYWRpbmdFbmFibGVkKCkg
JiYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGFzLCAidmlkZW8iKSB8fCBlcXVhbExl
dHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShhcywgImF1ZGlvIikpKQorICAgIGlmIChkb2N1bWVudC5z
ZXR0aW5ncygpLm1lZGlhUHJlbG9hZGluZ0VuYWJsZWQoKSAmJiAoZXF1YWxMZXR0ZXJzSWdub3Jp
bmdBU0NJSUNhc2UoYXMsICJ2aWRlbyIpIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNl
KGFzLCAiYXVkaW8iKSkpCiAgICAgICAgIHJldHVybiBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TWVk
aWFSZXNvdXJjZTsKICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoYXMsICJm
b250IikpCiAgICAgICAgIHJldHVybiBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6Rm9udFJlc291cmNl
OwpAQCAtMTM2LDcgKzEzNiw3IEBAIE9wdGlvbmFsPENhY2hlZFJlc291cmNlOjpUeXBlPiBMaW5r
TG9hZGUKICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogfQogCi1zdGF0aWMgc3RkOjp1bmlxdWVf
cHRyPExpbmtQcmVsb2FkUmVzb3VyY2VDbGllbnQ+IGNyZWF0ZUxpbmtQcmVsb2FkUmVzb3VyY2VD
bGllbnQoQ2FjaGVkUmVzb3VyY2UmIHJlc291cmNlLCBMaW5rTG9hZGVyJiBsb2FkZXIpCitzdGF0
aWMgc3RkOjp1bmlxdWVfcHRyPExpbmtQcmVsb2FkUmVzb3VyY2VDbGllbnQ+IGNyZWF0ZUxpbmtQ
cmVsb2FkUmVzb3VyY2VDbGllbnQoQ2FjaGVkUmVzb3VyY2UmIHJlc291cmNlLCBMaW5rTG9hZGVy
JiBsb2FkZXIsIERvY3VtZW50JiBkb2N1bWVudCkKIHsKICAgICBzd2l0Y2ggKHJlc291cmNlLnR5
cGUoKSkgewogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OkltYWdlUmVzb3VyY2U6CkBA
IC0xNTAsNyArMTUwLDcgQEAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxMaW5rUHJlbG9hZFJlc291
cgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlRleHRUcmFja1Jlc291cmNlOgogICAg
ICAgICByZXR1cm4gbWFrZVVuaXF1ZTxMaW5rUHJlbG9hZERlZmF1bHRSZXNvdXJjZUNsaWVudD4o
bG9hZGVyLCBkb3duY2FzdDxDYWNoZWRUZXh0VHJhY2s+KHJlc291cmNlKSk7CiAgICAgY2FzZSBD
YWNoZWRSZXNvdXJjZTo6VHlwZTo6TWVkaWFSZXNvdXJjZToKLSAgICAgICAgQVNTRVJUKFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkubWVkaWFQcmVsb2FkaW5nRW5hYmxl
ZCgpKTsKKyAgICAgICAgQVNTRVJUX1VOVVNFRChkb2N1bWVudCwgZG9jdW1lbnQuc2V0dGluZ3Mo
KS5tZWRpYVByZWxvYWRpbmdFbmFibGVkKCkpOwogICAgICAgICBGQUxMVEhST1VHSDsKICAgICBj
YXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpSYXdSZXNvdXJjZToKICAgICAgICAgcmV0dXJuIG1h
a2VVbmlxdWU8TGlua1ByZWxvYWRSYXdSZXNvdXJjZUNsaWVudD4obG9hZGVyLCBkb3duY2FzdDxD
YWNoZWRSYXdSZXNvdXJjZT4ocmVzb3VyY2UpKTsKQEAgLTE3NSw3ICsxNzUsNyBAQCBzdGF0aWMg
c3RkOjp1bmlxdWVfcHRyPExpbmtQcmVsb2FkUmVzb3VyCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9
CiAKLWJvb2wgTGlua0xvYWRlcjo6aXNTdXBwb3J0ZWRUeXBlKENhY2hlZFJlc291cmNlOjpUeXBl
IHJlc291cmNlVHlwZSwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSkKK2Jvb2wgTGlua0xvYWRlcjo6
aXNTdXBwb3J0ZWRUeXBlKENhY2hlZFJlc291cmNlOjpUeXBlIHJlc291cmNlVHlwZSwgY29uc3Qg
U3RyaW5nJiBtaW1lVHlwZSwgRG9jdW1lbnQmIGRvY3VtZW50KQogewogICAgIGlmIChtaW1lVHlw
ZS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtMTg5LDcgKzE4OSw3IEBAIGJv
b2wgTGlua0xvYWRlcjo6aXNTdXBwb3J0ZWRUeXBlKENhY2hlZFIKICAgICBjYXNlIENhY2hlZFJl
c291cmNlOjpUeXBlOjpGb250UmVzb3VyY2U6CiAgICAgICAgIHJldHVybiBNSU1FVHlwZVJlZ2lz
dHJ5Ojppc1N1cHBvcnRlZEZvbnRNSU1FVHlwZShtaW1lVHlwZSk7CiAgICAgY2FzZSBDYWNoZWRS
ZXNvdXJjZTo6VHlwZTo6TWVkaWFSZXNvdXJjZToKLSAgICAgICAgaWYgKCFSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLm1lZGlhUHJlbG9hZGluZ0VuYWJsZWQoKSkKKyAg
ICAgICAgaWYgKCFkb2N1bWVudC5zZXR0aW5ncygpLm1lZGlhUHJlbG9hZGluZ0VuYWJsZWQoKSkK
ICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm4gTUlNRVR5
cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRNZWRpYU1JTUVUeXBlKG1pbWVUeXBlKTsKICAgICBjYXNl
IENhY2hlZFJlc291cmNlOjpUeXBlOjpUZXh0VHJhY2tSZXNvdXJjZToKQEAgLTIzMSwxNCArMjMx
LDE0IEBAIHN0ZDo6dW5pcXVlX3B0cjxMaW5rUHJlbG9hZFJlc291cmNlQ2xpZW4KICAgICBpZiAo
IWRvY3VtZW50LmxvYWRlcigpIHx8ICFwYXJhbXMucmVsQXR0cmlidXRlLmlzTGlua1ByZWxvYWQp
CiAgICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgQVNTRVJUKFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkubGlua1ByZWxvYWRFbmFibGVkKCkpOwotICAgIGF1dG8g
dHlwZSA9IExpbmtMb2FkZXI6OnJlc291cmNlVHlwZUZyb21Bc0F0dHJpYnV0ZShwYXJhbXMuYXMp
OworICAgIEFTU0VSVChkb2N1bWVudC5zZXR0aW5ncygpLmxpbmtQcmVsb2FkRW5hYmxlZCgpKTsK
KyAgICBhdXRvIHR5cGUgPSBMaW5rTG9hZGVyOjpyZXNvdXJjZVR5cGVGcm9tQXNBdHRyaWJ1dGUo
cGFyYW1zLmFzLCBkb2N1bWVudCk7CiAgICAgaWYgKCF0eXBlKSB7CiAgICAgICAgIGRvY3VtZW50
LmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6Ok90aGVyLCBNZXNzYWdlTGV2ZWw6OkVy
cm9yLCAiPGxpbmsgcmVsPXByZWxvYWQ+IG11c3QgaGF2ZSBhIHZhbGlkIGBhc2AgdmFsdWUiX3Mp
OwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAgICAgVVJMIHVybDsKLSAgICBpZiAo
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5saW5rUHJlbG9hZFJlc3Bv
bnNpdmVJbWFnZXNFbmFibGVkKCkgJiYgdHlwZSA9PSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6SW1h
Z2VSZXNvdXJjZSAmJiAhcGFyYW1zLmltYWdlU3JjU2V0LmlzRW1wdHkoKSkgeworICAgIGlmIChk
b2N1bWVudC5zZXR0aW5ncygpLmxpbmtQcmVsb2FkUmVzcG9uc2l2ZUltYWdlc0VuYWJsZWQoKSAm
JiB0eXBlID09IENhY2hlZFJlc291cmNlOjpUeXBlOjpJbWFnZVJlc291cmNlICYmICFwYXJhbXMu
aW1hZ2VTcmNTZXQuaXNFbXB0eSgpKSB7CiAgICAgICAgIGF1dG8gc291cmNlU2l6ZSA9IFNpemVz
QXR0cmlidXRlUGFyc2VyKHBhcmFtcy5pbWFnZVNpemVzLCBkb2N1bWVudCkubGVuZ3RoKCk7CiAg
ICAgICAgIGF1dG8gY2FuZGlkYXRlID0gYmVzdEZpdFNvdXJjZUZvckltYWdlQXR0cmlidXRlcyhk
b2N1bWVudC5kZXZpY2VTY2FsZUZhY3RvcigpLCBwYXJhbXMuaHJlZi5zdHJpbmcoKSwgcGFyYW1z
LmltYWdlU3JjU2V0LCBzb3VyY2VTaXplKTsKICAgICAgICAgdXJsID0gZG9jdW1lbnQuY29tcGxl
dGVVUkwoVVJMKHsgfSwgY2FuZGlkYXRlLnN0cmluZy50b1N0cmluZygpKS5zdHJpbmcoKSk7CkBA
IC0yNTQsNyArMjU0LDcgQEAgc3RkOjp1bmlxdWVfcHRyPExpbmtQcmVsb2FkUmVzb3VyY2VDbGll
bgogICAgIH0KICAgICBpZiAoIU1lZGlhUXVlcnlFdmFsdWF0b3I6Om1lZGlhQXR0cmlidXRlTWF0
Y2hlcyhkb2N1bWVudCwgcGFyYW1zLm1lZGlhKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0g
ICAgaWYgKCFpc1N1cHBvcnRlZFR5cGUodHlwZS52YWx1ZSgpLCBwYXJhbXMubWltZVR5cGUpKQor
ICAgIGlmICghaXNTdXBwb3J0ZWRUeXBlKHR5cGUudmFsdWUoKSwgcGFyYW1zLm1pbWVUeXBlLCBk
b2N1bWVudCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgYXV0byBvcHRpb25zID0g
Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmRlZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKTsKQEAg
LTI3MSw3ICsyNzEsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8TGlua1ByZWxvYWRSZXNvdXJjZUNsaWVu
CiAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgaWYgKGNhY2hlZExpbmtSZXNvdXJjZSAm
JiBsb2FkZXIpCi0gICAgICAgIHJldHVybiBjcmVhdGVMaW5rUHJlbG9hZFJlc291cmNlQ2xpZW50
KCpjYWNoZWRMaW5rUmVzb3VyY2UsICpsb2FkZXIpOworICAgICAgICByZXR1cm4gY3JlYXRlTGlu
a1ByZWxvYWRSZXNvdXJjZUNsaWVudCgqY2FjaGVkTGlua1Jlc291cmNlLCAqbG9hZGVyLCBkb2N1
bWVudCk7CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKQEAgLTI4MCw3ICsyODAsNyBAQCB2b2lk
IExpbmtMb2FkZXI6OnByZWZldGNoSWZOZWVkZWQoY29uc3QgCiAgICAgaWYgKCFwYXJhbXMuaHJl
Zi5pc1ZhbGlkKCkgfHwgIWRvY3VtZW50LmZyYW1lKCkpCiAgICAgICAgIHJldHVybjsKIAotICAg
IEFTU0VSVChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmxpbmtQcmVm
ZXRjaEVuYWJsZWQoKSk7CisgICAgQVNTRVJUKGRvY3VtZW50LnNldHRpbmdzKCkubGlua1ByZWZl
dGNoRW5hYmxlZCgpKTsKICAgICBPcHRpb25hbDxSZXNvdXJjZUxvYWRQcmlvcml0eT4gcHJpb3Jp
dHk7CiAgICAgQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSA9IENhY2hlZFJlc291cmNlOjpUeXBl
OjpMaW5rUHJlZmV0Y2g7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVy
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIuaAkocmV2
aXNpb24gMjY2MzU4KQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIuaAkod29y
a2luZyBjb3B5KQpAQCAtNjMsMTEgKzYzLDExIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5MaW5r
TG9hZGVyKCk7CiAKICAgICB2b2lkIGxvYWRMaW5rKGNvbnN0IExpbmtMb2FkUGFyYW1ldGVycyYs
IERvY3VtZW50Jik7Ci0gICAgc3RhdGljIE9wdGlvbmFsPENhY2hlZFJlc291cmNlOjpUeXBlPiBy
ZXNvdXJjZVR5cGVGcm9tQXNBdHRyaWJ1dGUoY29uc3QgU3RyaW5nJiBhcyk7CisgICAgc3RhdGlj
IE9wdGlvbmFsPENhY2hlZFJlc291cmNlOjpUeXBlPiByZXNvdXJjZVR5cGVGcm9tQXNBdHRyaWJ1
dGUoY29uc3QgU3RyaW5nJiwgRG9jdW1lbnQmKTsKIAogICAgIGVudW0gY2xhc3MgTWVkaWFBdHRy
aWJ1dGVDaGVjayB7IE1lZGlhQXR0cmlidXRlRW1wdHksIE1lZGlhQXR0cmlidXRlTm90RW1wdHks
IFNraXBNZWRpYUF0dHJpYnV0ZUNoZWNrIH07CiAgICAgc3RhdGljIHZvaWQgbG9hZExpbmtzRnJv
bUhlYWRlcihjb25zdCBTdHJpbmcmIGhlYWRlclZhbHVlLCBjb25zdCBVUkwmIGJhc2VVUkwsIERv
Y3VtZW50JiwgTWVkaWFBdHRyaWJ1dGVDaGVjayk7Ci0gICAgc3RhdGljIGJvb2wgaXNTdXBwb3J0
ZWRUeXBlKENhY2hlZFJlc291cmNlOjpUeXBlLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlKTsKKyAg
ICBzdGF0aWMgYm9vbCBpc1N1cHBvcnRlZFR5cGUoQ2FjaGVkUmVzb3VyY2U6OlR5cGUsIGNvbnN0
IFN0cmluZyYgbWltZVR5cGUsIERvY3VtZW50Jik7CiAKICAgICB2b2lkIHRyaWdnZXJFdmVudHMo
Y29uc3QgQ2FjaGVkUmVzb3VyY2UmKTsKICAgICB2b2lkIGNhbmNlbExvYWQoKTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wYWdlL0RPTVdpbmRvdy5pZGwJKHJldmlzaW9uIDI2NjM1OCkKKysrIFNvdXJjZS9XZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNTcsNyArNTcsNyBAQCB0
eXBlZGVmIFVTVlN0cmluZyBDU1NPTVN0cmluZzsKICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5h
bWU7CiAgICAgW0RvTm90Q2hlY2tTZWN1cml0eSwgUHV0Rm9yd2FyZHM9aHJlZiwgVW5mb3JnZWFi
bGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBMb2NhdGlvbiBsb2NhdGlvbjsKICAgICByZWFkb25seSBh
dHRyaWJ1dGUgSGlzdG9yeSBoaXN0b3J5OwotICAgIFtFbmFibGVkQXRSdW50aW1lPUN1c3RvbUVs
ZW1lbnRzLCBJbXBsZW1lbnRlZEFzPWVuc3VyZUN1c3RvbUVsZW1lbnRSZWdpc3RyeV0gcmVhZG9u
bHkgYXR0cmlidXRlIEN1c3RvbUVsZW1lbnRSZWdpc3RyeSBjdXN0b21FbGVtZW50czsKKyAgICBb
RW5hYmxlZEJ5U2V0dGluZz1DdXN0b21FbGVtZW50cywgSW1wbGVtZW50ZWRBcz1lbnN1cmVDdXN0
b21FbGVtZW50UmVnaXN0cnldIHJlYWRvbmx5IGF0dHJpYnV0ZSBDdXN0b21FbGVtZW50UmVnaXN0
cnkgY3VzdG9tRWxlbWVudHM7CiAgICAgW1JlcGxhY2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUg
QmFyUHJvcCBsb2NhdGlvbmJhcjsKICAgICBbUmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0
ZSBCYXJQcm9wIG1lbnViYXI7CiAgICAgW1JlcGxhY2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUg
QmFyUHJvcCBwZXJzb25hbGJhcjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0
aW9uT2JzZXJ2ZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJz
ZWN0aW9uT2JzZXJ2ZXIuaWRsCShyZXZpc2lvbiAyNjYzNTgpCisrKyBTb3VyY2UvV2ViQ29yZS9w
YWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgs
NyBAQAogWwogICAgIEFjdGl2ZURPTU9iamVjdCwKICAgICBDb25kaXRpb25hbD1JTlRFUlNFQ1RJ
T05fT0JTRVJWRVIsCi0gICAgRW5hYmxlZEF0UnVudGltZT1JbnRlcnNlY3Rpb25PYnNlcnZlcgor
ICAgIEVuYWJsZWRCeVNldHRpbmc9SW50ZXJzZWN0aW9uT2JzZXJ2ZXIKIF0gaW50ZXJmYWNlIElu
dGVyc2VjdGlvbk9ic2VydmVyIHsKICAgICBbQ2FsbFdpdGg9RG9jdW1lbnQsIE1heVRocm93RXhj
ZXB0aW9uXSBjb25zdHJ1Y3RvcihJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrIGNhbGxiYWNr
LCBvcHRpb25hbCBJbnRlcnNlY3Rpb25PYnNlcnZlckluaXQgb3B0aW9ucyk7CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeS5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5LmlkbAko
cmV2aXNpb24gMjY2MzU4KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNl
cnZlckVudHJ5LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAsNyBAQCB0eXBlZGVmIGRv
dWJsZSBET01IaWdoUmVzVGltZVN0YW1wOwogWwogICAgIENvbmRpdGlvbmFsPUlOVEVSU0VDVElP
Tl9PQlNFUlZFUiwKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAotICAgIEVuYWJsZWRB
dFJ1bnRpbWU9SW50ZXJzZWN0aW9uT2JzZXJ2ZXIsCisgICAgRW5hYmxlZEJ5U2V0dGluZz1JbnRl
cnNlY3Rpb25PYnNlcnZlciwKICAgICBKU0N1c3RvbU1hcmtGdW5jdGlvbiwKIF0gaW50ZXJmYWNl
IEludGVyc2VjdGlvbk9ic2VydmVyRW50cnkgewogICAgIGNvbnN0cnVjdG9yKEludGVyc2VjdGlv
bk9ic2VydmVyRW50cnlJbml0IGludGVyc2VjdGlvbk9ic2VydmVyRW50cnlJbml0KTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAJKHJldmlzaW9uIDI2NjM1OCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI0LDE2ICsxMjQs
MTYgQEAgc3RhdGljIE9wdGlvbmFsPFVSTD4gc2hhcmVhYmxlVVJMRm9yU2hhcgogICAgIHJldHVy
biB1cmw7CiB9CiAKLWJvb2wgTmF2aWdhdG9yOjpjYW5TaGFyZShTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiBjb250ZXh0LCBjb25zdCBTaGFyZURhdGEmIGRhdGEpCitib29sIE5hdmlnYXRvcjo6Y2Fu
U2hhcmUoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTaGFyZURhdGEmIGRhdGEpCiB7CiAgICAg
YXV0byogZnJhbWUgPSB0aGlzLT5mcmFtZSgpOwogICAgIGlmICghZnJhbWUgfHwgIWZyYW1lLT5w
YWdlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGJvb2wgaGFzU2hhcmVhYmxlVGl0
bGVPclRleHQgPSAhZGF0YS50aXRsZS5pc051bGwoKSB8fCAhZGF0YS50ZXh0LmlzTnVsbCgpOwot
ICAgIGJvb2wgaGFzU2hhcmVhYmxlVVJMID0gISFzaGFyZWFibGVVUkxGb3JTaGFyZURhdGEoY29u
dGV4dCwgZGF0YSk7CisgICAgYm9vbCBoYXNTaGFyZWFibGVVUkwgPSAhIXNoYXJlYWJsZVVSTEZv
clNoYXJlRGF0YShkb2N1bWVudCwgZGF0YSk7CiAjaWYgRU5BQkxFKEZJTEVfU0hBUkUpCi0gICAg
Ym9vbCBoYXNTaGFyZWFibGVGaWxlcyA9IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZl
YXR1cmVzKCkud2ViU2hhcmVGaWxlQVBJRW5hYmxlZCgpICYmICFkYXRhLmZpbGVzLmlzRW1wdHko
KTsKKyAgICBib29sIGhhc1NoYXJlYWJsZUZpbGVzID0gZG9jdW1lbnQuc2V0dGluZ3MoKS53ZWJT
aGFyZUZpbGVBUElFbmFibGVkKCkgJiYgIWRhdGEuZmlsZXMuaXNFbXB0eSgpOwogI2Vsc2UKICAg
ICBib29sIGhhc1NoYXJlYWJsZUZpbGVzID0gZmFsc2U7CiAjZW5kaWYKQEAgLTE0MSw5ICsxNDEs
OSBAQCBib29sIE5hdmlnYXRvcjo6Y2FuU2hhcmUoU2NyaXB0RXhlY3V0aW9uCiAgICAgcmV0dXJu
IGhhc1NoYXJlYWJsZVRpdGxlT3JUZXh0IHx8IGhhc1NoYXJlYWJsZVVSTCB8fCBoYXNTaGFyZWFi
bGVGaWxlczsKIH0KIAotdm9pZCBOYXZpZ2F0b3I6OnNoYXJlKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIGNvbnRleHQsIGNvbnN0IFNoYXJlRGF0YSYgZGF0YSwgUmVmPERlZmVycmVkUHJvbWlzZT4m
JiBwcm9taXNlKQordm9pZCBOYXZpZ2F0b3I6OnNoYXJlKERvY3VtZW50JiBkb2N1bWVudCwgY29u
c3QgU2hhcmVEYXRhJiBkYXRhLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCiB7Ci0g
ICAgaWYgKCFjYW5TaGFyZShjb250ZXh0LCBkYXRhKSkgeworICAgIGlmICghY2FuU2hhcmUoZG9j
dW1lbnQsIGRhdGEpKSB7CiAgICAgICAgIHByb21pc2UtPnJlamVjdChUeXBlRXJyb3IpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQpAQCAtMTU1LDIxICsxNTUsMjEgQEAgdm9pZCBOYXZpZ2F0b3I6
OnNoYXJlKFNjcmlwdEV4ZWN1dGlvbkNvbgogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAg
T3B0aW9uYWw8VVJMPiB1cmwgPSBzaGFyZWFibGVVUkxGb3JTaGFyZURhdGEoY29udGV4dCwgZGF0
YSk7CisgICAgT3B0aW9uYWw8VVJMPiB1cmwgPSBzaGFyZWFibGVVUkxGb3JTaGFyZURhdGEoZG9j
dW1lbnQsIGRhdGEpOwogICAgIFNoYXJlRGF0YVdpdGhQYXJzZWRVUkwgc2hhcmVEYXRhID0gewog
ICAgICAgICBkYXRhLAogICAgICAgICB1cmwsCiAgICAgICAgIHsgfSwKICAgICB9OwogI2lmIEVO
QUJMRShGSUxFX1NIQVJFKQotICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRG
ZWF0dXJlcygpLndlYlNoYXJlRmlsZUFQSUVuYWJsZWQoKSAmJiAhZGF0YS5maWxlcy5pc0VtcHR5
KCkpIHsKKyAgICBpZiAoZG9jdW1lbnQuc2V0dGluZ3MoKS53ZWJTaGFyZUZpbGVBUElFbmFibGVk
KCkgJiYgIWRhdGEuZmlsZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgIGlmIChtX2xvYWRlcikKICAg
ICAgICAgICAgIG1fbG9hZGVyLT5jYW5jZWwoKTsKICAgICAgICAgCiAgICAgICAgIG1fbG9hZGVy
ID0gU2hhcmVEYXRhUmVhZGVyOjpjcmVhdGUoW3RoaXMsIHByb21pc2UgPSBXVEZNb3ZlKHByb21p
c2UpXSAoRXhjZXB0aW9uT3I8U2hhcmVEYXRhV2l0aFBhcnNlZFVSTCY+IHJlYWREYXRhKSBtdXRh
YmxlIHsKICAgICAgICAgICAgIHNob3dTaGFyZURhdGEocmVhZERhdGEsIFdURk1vdmUocHJvbWlz
ZSkpOwogICAgICAgICB9KTsKLSAgICAgICAgbV9sb2FkZXItPnN0YXJ0KGZyYW1lKCktPmRvY3Vt
ZW50KCksIFdURk1vdmUoc2hhcmVEYXRhKSk7CisgICAgICAgIG1fbG9hZGVyLT5zdGFydCgmZG9j
dW1lbnQsIFdURk1vdmUoc2hhcmVEYXRhKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAjZW5k
aWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaAkocmV2aXNpb24gMjY2MzU4KQorKysgU291
cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtNDksOCArNDks
OCBAQCBwdWJsaWM6CiAgICAgU3RyaW5nIHBsYXRmb3JtKCkgY29uc3QgZmluYWw7CiAgICAgdm9p
ZCB1c2VyQWdlbnRDaGFuZ2VkKCk7CiAgICAgYm9vbCBvbkxpbmUoKSBjb25zdCBmaW5hbDsKLSAg
ICBib29sIGNhblNoYXJlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBjb25zdCBTaGFyZURhdGEm
KTsKLSAgICB2b2lkIHNoYXJlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBjb25zdCBTaGFyZURh
dGEmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKKyAgICBib29sIGNhblNoYXJlKERvY3VtZW50
JiwgY29uc3QgU2hhcmVEYXRhJik7CisgICAgdm9pZCBzaGFyZShEb2N1bWVudCYsIGNvbnN0IFNo
YXJlRGF0YSYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwogICAgIAogI2lmIFBMQVRGT1JNKElP
U19GQU1JTFkpCiAgICAgYm9vbCBzdGFuZGFsb25lKCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wYWdlL05hdmlnYXRvclNoYXJlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wYWdlL05hdmlnYXRvclNoYXJlLmlkbAkocmV2aXNpb24gMjY2MzU4KQorKysgU291cmNlL1dl
YkNvcmUvcGFnZS9OYXZpZ2F0b3JTaGFyZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDggKzI2
LDggQEAKIAogWwogICAgIE5vSW50ZXJmYWNlT2JqZWN0LAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9
V2ViU2hhcmUKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYlNoYXJlCiBdIGludGVyZmFjZSBOYXZp
Z2F0b3JTaGFyZSB7Ci0gICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIFNlY3Vy
ZUNvbnRleHRdIGJvb2xlYW4gY2FuU2hhcmUob3B0aW9uYWwgU2hhcmVEYXRhIHNoYXJlRGF0YSk7
Ci0gICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIFNlY3VyZUNvbnRleHRdIFBy
b21pc2U8dW5kZWZpbmVkPiBzaGFyZShvcHRpb25hbCBTaGFyZURhdGEgc2hhcmVEYXRhKTsKKyAg
ICBbQ2FsbFdpdGg9RG9jdW1lbnQsIFNlY3VyZUNvbnRleHRdIGJvb2xlYW4gY2FuU2hhcmUob3B0
aW9uYWwgU2hhcmVEYXRhIHNoYXJlRGF0YSk7CisgICAgW0NhbGxXaXRoPURvY3VtZW50LCBTZWN1
cmVDb250ZXh0XSBQcm9taXNlPHVuZGVmaW5lZD4gc2hhcmUob3B0aW9uYWwgU2hhcmVEYXRhIHNo
YXJlRGF0YSk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZl
YXR1cmVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFi
bGVkRmVhdHVyZXMuY3BwCShyZXZpc2lvbiAyNjYzNTgpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdl
L1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MSw5ICs0MSw2
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogUnVudGltZUVuYWJsZWRGZWF0dXJlczo6UnVudGlt
ZUVuYWJsZWRGZWF0dXJlcygpCiB7Ci0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgUExBVEZP
Uk0oQ09DT0EpCi0gICAgbV9pc01lZGlhRGV2aWNlc0VuYWJsZWQgPSBmYWxzZTsKLSNlbmRpZgog
I2lmIFBMQVRGT1JNKFdBVENIT1MpCiAgICAgbV9pc1dlYlNvY2tldEVuYWJsZWQgPSBmYWxzZTsK
ICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVz
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1
cmVzLmgJKHJldmlzaW9uIDI2NjM1OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC00NCwxOCArNDQsNiBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiBjbGFzcyBSdW50aW1lRW5hYmxlZEZlYXR1cmVzIHsKICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShSdW50aW1lRW5hYmxlZEZlYXR1cmVzKTsKIHB1YmxpYzoKLSAgICB2b2lk
IHNldEJsYW5rQW5jaG9yVGFyZ2V0SW1wbGllc05vT3BlbmVyRW5hYmxlZChib29sIGlzRW5hYmxl
ZCkgeyBtX2JsYW5rQW5jaG9yVGFyZ2V0SW1wbGllc05vT3BlbmVyRW5hYmxlZCA9IGlzRW5hYmxl
ZDsgfQotICAgIGJvb2wgYmxhbmtBbmNob3JUYXJnZXRJbXBsaWVzTm9PcGVuZXJFbmFibGVkKCkg
Y29uc3QgeyByZXR1cm4gbV9ibGFua0FuY2hvclRhcmdldEltcGxpZXNOb09wZW5lckVuYWJsZWQ7
IH0KLQotICAgIHZvaWQgc2V0TGlua1ByZWxvYWRFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1f
aXNMaW5rUHJlbG9hZEVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAgICBib29sIGxpbmtQcmVsb2Fk
RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNMaW5rUHJlbG9hZEVuYWJsZWQ7IH0KLQotICAg
IHZvaWQgc2V0TGlua1ByZWZldGNoRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzTGlua1By
ZWZldGNoRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotICAgIGJvb2wgbGlua1ByZWZldGNoRW5hYmxl
ZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNMaW5rUHJlZmV0Y2hFbmFibGVkOyB9Ci0KLSAgICB2b2lk
IHNldE1lZGlhUHJlbG9hZGluZ0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc01lZGlhUHJl
bG9hZGluZ0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAgICBib29sIG1lZGlhUHJlbG9hZGluZ0Vu
YWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzTWVkaWFQcmVsb2FkaW5nRW5hYmxlZDsgfQotCiAg
ICAgdm9pZCBzZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1Jl
c291cmNlVGltaW5nRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogICAgIGJvb2wgcmVzb3VyY2VUaW1p
bmdFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1Jlc291cmNlVGltaW5nRW5hYmxlZDsgfQog
CkBAIC03MCwzOSArNTgsMTggQEAgcHVibGljOgogICAgIHZvaWQgc2V0U2hhZG93RE9NRW5hYmxl
ZChib29sIGlzRW5hYmxlZCkgeyBtX2lzU2hhZG93RE9NRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQog
ICAgIGJvb2wgc2hhZG93RE9NRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNTaGFkb3dET01F
bmFibGVkOyB9CiAKLSAgICB2b2lkIHNldElucHV0RXZlbnRzRW5hYmxlZChib29sIGlzRW5hYmxl
ZCkgeyBtX2lucHV0RXZlbnRzRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotICAgIGJvb2wgaW5wdXRF
dmVudHNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pbnB1dEV2ZW50c0VuYWJsZWQ7IH0KLQot
ICAgIHZvaWQgc2V0SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQoYm9vbCBpc0VuYWJs
ZWQpIHsgbV9pc0ludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkID0gaXNFbmFibGVkOyB9
Ci0gICAgYm9vbCBpbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZCgpIGNvbnN0IHsgcmV0
dXJuIG1faXNJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZDsgfQotCi0gICAgdm9pZCBz
ZXRDdXN0b21FbGVtZW50c0VuYWJsZWQoYm9vbCBhcmVFbmFibGVkKSB7IG1fYXJlQ3VzdG9tRWxl
bWVudHNFbmFibGVkID0gYXJlRW5hYmxlZDsgfQotICAgIGJvb2wgY3VzdG9tRWxlbWVudHNFbmFi
bGVkKCkgY29uc3QgeyByZXR1cm4gbV9hcmVDdXN0b21FbGVtZW50c0VuYWJsZWQ7IH0KLQogICAg
IHZvaWQgc2V0TWVudUl0ZW1FbGVtZW50RW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzTWVu
dUl0ZW1FbGVtZW50RW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogICAgIGJvb2wgbWVudUl0ZW1FbGVt
ZW50RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNNZW51SXRlbUVsZW1lbnRFbmFibGVkOyB9
CiAKICAgICB2b2lkIHNldERpcmVjdG9yeVVwbG9hZEVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsg
bV9pc0RpcmVjdG9yeVVwbG9hZEVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIGRpcmVj
dG9yeVVwbG9hZEVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzRGlyZWN0b3J5VXBsb2FkRW5h
YmxlZDsgfQogCi0gICAgdm9pZCBzZXREYXRhVHJhbnNmZXJJdGVtc0VuYWJsZWQoYm9vbCBhcmVF
bmFibGVkKSB7IG1fYXJlRGF0YVRyYW5zZmVySXRlbXNFbmFibGVkID0gYXJlRW5hYmxlZDsgfQot
ICAgIGJvb2wgZGF0YVRyYW5zZmVySXRlbXNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9hcmVE
YXRhVHJhbnNmZXJJdGVtc0VuYWJsZWQ7IH0KLQogICAgIHZvaWQgc2V0Q3VzdG9tUGFzdGVib2Fy
ZERhdGFFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNDdXN0b21QYXN0ZWJvYXJkRGF0YUVu
YWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIGN1c3RvbVBhc3RlYm9hcmREYXRhRW5hYmxl
ZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNDdXN0b21QYXN0ZWJvYXJkRGF0YUVuYWJsZWQ7IH0KIAot
ICAgIHZvaWQgc2V0V2ViU2hhcmVFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNXZWJTaGFy
ZUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAgICBib29sIHdlYlNoYXJlRW5hYmxlZCgpIGNvbnN0
IHsgcmV0dXJuIG1faXNXZWJTaGFyZUVuYWJsZWQ7IH0KLQogICAgIHZvaWQgc2V0TW9kZXJuTWVk
aWFDb250cm9sc0VuYWJsZWQoYm9vbCBhcmVFbmFibGVkKSB7IG1fYXJlTW9kZXJuTWVkaWFDb250
cm9sc0VuYWJsZWQgPSBhcmVFbmFibGVkOyB9CiAgICAgYm9vbCBtb2Rlcm5NZWRpYUNvbnRyb2xz
RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fYXJlTW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQ7
IH0KIAotICAgIHZvaWQgc2V0V2ViQXV0aGVudGljYXRpb25FbmFibGVkKGJvb2wgaXNFbmFibGVk
KSB7IG1faXNXZWJBdXRoZW50aWNhdGlvbkVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAgICBib29s
IHdlYkF1dGhlbnRpY2F0aW9uRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNXZWJBdXRoZW50
aWNhdGlvbkVuYWJsZWQ7IH0KLQotICAgIHZvaWQgc2V0V2ViQXV0aGVudGljYXRpb25Mb2NhbEF1
dGhlbnRpY2F0b3JFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNXZWJBdXRoZW50aWNhdGlv
bkxvY2FsQXV0aGVudGljYXRvckVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAgICBib29sIHdlYkF1
dGhlbnRpY2F0aW9uTG9jYWxBdXRoZW50aWNhdG9yRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1f
aXNXZWJBdXRoZW50aWNhdGlvbkxvY2FsQXV0aGVudGljYXRvckVuYWJsZWQ7IH0KLQogICAgIHZv
aWQgc2V0SXNTZWN1cmVDb250ZXh0QXR0cmlidXRlRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBt
X2lzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29s
IGlzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzU2Vj
dXJlQ29udGV4dEF0dHJpYnV0ZUVuYWJsZWQ7IH0KIApAQCAtMTcwLDIxICsxMzcsMTIgQEAgcHVi
bGljOgogICAgIHZvaWQgc2V0RXhwZXJpbWVudGFsUGx1Z0luU2FuZGJveFByb2ZpbGVzRW5hYmxl
ZChib29sIGlzRW5hYmxlZCkgeyBtX2V4cGVyaW1lbnRhbFBsdWdJblNhbmRib3hQcm9maWxlc0Vu
YWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIGV4cGVyaW1lbnRhbFBsdWdJblNhbmRib3hQ
cm9maWxlc0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2V4cGVyaW1lbnRhbFBsdWdJblNhbmRi
b3hQcm9maWxlc0VuYWJsZWQ7IH0KIAotICAgIHZvaWQgc2V0RGlzYWJsZWRBZGFwdGF0aW9uc01l
dGFUYWdFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fZGlzYWJsZWRBZGFwdGF0aW9uc01ldGFU
YWdFbmFibGVkID0gaXNFbmFibGVkOyB9Ci0gICAgYm9vbCBkaXNhYmxlZEFkYXB0YXRpb25zTWV0
YVRhZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2Rpc2FibGVkQWRhcHRhdGlvbnNNZXRhVGFn
RW5hYmxlZDsgfQotCiAgICAgdm9pZCBzZXRBdHRyU3R5bGVFbmFibGVkKGJvb2wgaXNFbmFibGVk
KSB7IG1fYXR0clN0eWxlRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogICAgIGJvb2wgYXR0clN0eWxl
RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fYXR0clN0eWxlRW5hYmxlZDsgfQogCiAgICAgdm9p
ZCBzZXRXZWJBUElTdGF0aXN0aWNzRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX3dlYkFQSVN0
YXRpc3RpY3NFbmFibGVkID0gaXNFbmFibGVkOyB9CiAgICAgYm9vbCB3ZWJBUElTdGF0aXN0aWNz
RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fd2ViQVBJU3RhdGlzdGljc0VuYWJsZWQ7IH0KIAot
ICAgIHZvaWQgc2V0Q1NTQ3VzdG9tUHJvcGVydGllc0FuZFZhbHVlc0VuYWJsZWQoYm9vbCBpc0Vu
YWJsZWQpIHsgbV9DU1NDdXN0b21Qcm9wZXJ0aWVzQW5kVmFsdWVzRW5hYmxlZCA9IGlzRW5hYmxl
ZDsgfQotICAgIGJvb2wgY3NzQ3VzdG9tUHJvcGVydGllc0FuZFZhbHVlc0VuYWJsZWQoKSBjb25z
dCB7IHJldHVybiBtX0NTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVkOyB9Ci0KLSAg
ICB2b2lkIHNldFN5bnRoZXRpY0VkaXRpbmdDb21tYW5kc0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQp
IHsgbV9zeW50aGV0aWNFZGl0aW5nQ29tbWFuZHNFbmFibGVkID0gaXNFbmFibGVkOyB9Ci0gICAg
Ym9vbCBzeW50aGV0aWNFZGl0aW5nQ29tbWFuZHNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9z
eW50aGV0aWNFZGl0aW5nQ29tbWFuZHNFbmFibGVkOyB9Ci0KICNpZiBFTkFCTEUoTEFZT1VUX0ZP
Uk1BVFRJTkdfQ09OVEVYVCkKICAgICB2b2lkIHNldExheW91dEZvcm1hdHRpbmdDb250ZXh0RW5h
YmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2xheW91dEZvcm1hdHRpbmdDb250ZXh0RW5hYmxlZCA9
IGlzRW5hYmxlZDsgfQogICAgIGJvb2wgbGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRFbmFibGVkKCkg
Y29uc3QgeyByZXR1cm4gbV9sYXlvdXRGb3JtYXR0aW5nQ29udGV4dEVuYWJsZWQ7IH0KQEAgLTIy
OCwxNyArMTg2LDYgQEAgcHVibGljOgogICAgIGJvb2wgdXNlckdlc3R1cmVQcm9taXNlUHJvcGFn
YXRpb25FbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV91c2VyR2VzdHVyZVByb21pc2VQcm9wYWdh
dGlvbkVuYWJsZWQ7IH0KICAgICB2b2lkIHNldFVzZXJHZXN0dXJlUHJvbWlzZVByb3BhZ2F0aW9u
RW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX3VzZXJHZXN0dXJlUHJvbWlzZVByb3BhZ2F0aW9u
RW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLSAgICBi
b29sIG1lZGlhUmVjb3JkZXJFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc01lZGlhUmVjb3Jk
ZXJFbmFibGVkOyB9Ci0gICAgdm9pZCBzZXRNZWRpYVJlY29yZGVyRW5hYmxlZChib29sIGlzRW5h
YmxlZCkgeyBtX2lzTWVkaWFSZWNvcmRlckVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAgICBib29s
IG1lZGlhRGV2aWNlc0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzTWVkaWFEZXZpY2VzRW5h
YmxlZDsgfQotICAgIHZvaWQgc2V0TWVkaWFEZXZpY2VzRW5hYmxlZChib29sIGlzRW5hYmxlZCkg
eyBtX2lzTWVkaWFEZXZpY2VzRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotICAgIGJvb2wgbWVkaWFT
dHJlYW1FbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc01lZGlhU3RyZWFtRW5hYmxlZDsgfQot
ICAgIHZvaWQgc2V0TWVkaWFTdHJlYW1FbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNNZWRp
YVN0cmVhbUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAgICBib29sIHNjcmVlbkNhcHR1cmVFbmFi
bGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1NjcmVlbkNhcHR1cmVFbmFibGVkOyB9Ci0gICAgdm9p
ZCBzZXRTY3JlZW5DYXB0dXJlRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzU2NyZWVuQ2Fw
dHVyZUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSNlbmRpZgotCiAjaWYgRU5BQkxFKFdFQl9SVEMp
CiAgICAgYm9vbCB3ZWJSVENEVE1GRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNXZWJSVENE
VE1GRW5hYmxlZDsgfQogICAgIHZvaWQgc2V0V2ViUlRDRFRNRkVuYWJsZWQoYm9vbCBpc0VuYWJs
ZWQpIHsgbV9pc1dlYlJUQ0RUTUZFbmFibGVkID0gaXNFbmFibGVkOyB9CkBAIC0yNjgsMTEgKzIx
NSw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldERhdGFMaXN0RWxlbWVudEVuYWJsZWQoYm9vbCBp
c0VuYWJsZWQpIHsgbV9pc0RhdGFMaXN0RWxlbWVudEVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICNl
bmRpZgogCi0jaWYgRU5BQkxFKEdBTUVQQUQpCi0gICAgdm9pZCBzZXRHYW1lcGFkc0VuYWJsZWQo
Ym9vbCBhcmVFbmFibGVkKSB7IG1fYXJlR2FtZXBhZHNFbmFibGVkID0gYXJlRW5hYmxlZDsgfQot
ICAgIGJvb2wgZ2FtZXBhZHNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9hcmVHYW1lcGFkc0Vu
YWJsZWQ7IH0KLSNlbmRpZgotCiAjaWYgRU5BQkxFKFdFQkdMMikKICAgICB2b2lkIHNldFdlYkdM
MkVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1dlYkdMMkVuYWJsZWQgPSBpc0VuYWJsZWQ7
IH0KICAgICBib29sIHdlYkdMMkVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzV2ViR0wyRW5h
YmxlZDsgfQpAQCAtMjk1LDUwICsyMzcsMTcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0VHJhbnNm
b3JtU3RyZWFtQVBJRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzVHJhbnNmb3JtU3RyZWFt
QVBJRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogICAgIGJvb2wgdHJhbnNmb3JtU3RyZWFtQVBJRW5h
YmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNUcmFuc2Zvcm1TdHJlYW1BUElFbmFibGVkOyB9CiAK
LSNpZiBFTkFCTEUoRE9XTkxPQURfQVRUUklCVVRFKQotICAgIHZvaWQgc2V0RG93bmxvYWRBdHRy
aWJ1dGVFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNEb3dubG9hZEF0dHJpYnV0ZUVuYWJs
ZWQgPSBpc0VuYWJsZWQ7IH0KLSAgICBib29sIGRvd25sb2FkQXR0cmlidXRlRW5hYmxlZCgpIGNv
bnN0IHsgcmV0dXJuIG1faXNEb3dubG9hZEF0dHJpYnV0ZUVuYWJsZWQ7IH0KLSNlbmRpZgotCi0j
aWYgRU5BQkxFKElOVEVSU0VDVElPTl9PQlNFUlZFUikKLSAgICB2b2lkIHNldEludGVyc2VjdGlv
bk9ic2VydmVyRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2ludGVyc2VjdGlvbk9ic2VydmVy
RW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotICAgIGJvb2wgaW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFi
bGVkKCkgY29uc3QgeyByZXR1cm4gbV9pbnRlcnNlY3Rpb25PYnNlcnZlckVuYWJsZWQ7IH0KLSNl
bmRpZgotCi0gICAgdm9pZCBzZXRVbmRvTWFuYWdlckFQSUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQp
IHsgbV91bmRvTWFuYWdlckFQSUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAgICBib29sIHVuZG9N
YW5hZ2VyQVBJRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fdW5kb01hbmFnZXJBUElFbmFibGVk
OyB9Ci0KLSNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQotICAgIHZvaWQgc2V0RW5jcnlwdGVk
TWVkaWFBUElFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fZW5jcnlwdGVkTWVkaWFBUElFbmFi
bGVkID0gaXNFbmFibGVkOyB9Ci0gICAgYm9vbCBlbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQoKSBj
b25zdCB7IHJldHVybiBtX2VuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZDsgfQotI2VuZGlmCi0KLSNp
ZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkKLSAgICB2b2lkIHNldExlZ2FjeUVuY3J5
cHRlZE1lZGlhQVBJRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2xlZ2FjeUVuY3J5cHRlZE1l
ZGlhQVBJRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotICAgIGJvb2wgbGVnYWN5RW5jcnlwdGVkTWVk
aWFBUElFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9sZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSUVu
YWJsZWQ7IH0KLSNlbmRpZgotCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogICAgIGJvb2wg
c2VydmljZVdvcmtlckVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3NlcnZpY2VXb3JrZXJFbmFi
bGVkOyB9CiAgICAgdm9pZCBzZXRTZXJ2aWNlV29ya2VyRW5hYmxlZChib29sIGlzRW5hYmxlZCkg
eyBtX3NlcnZpY2VXb3JrZXJFbmFibGVkID0gaXNFbmFibGVkOyB9CiAjZW5kaWYKIAotI2lmIFVT
RShTWVNURU1fUFJFVklFVykKLSAgICB2b2lkIHNldFN5c3RlbVByZXZpZXdFbmFibGVkKGJvb2wg
aXNFbmFibGVkKSB7IG1fc3lzdGVtUHJldmlld0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAgICBi
b29sIHN5c3RlbVByZXZpZXdFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9zeXN0ZW1QcmV2aWV3
RW5hYmxlZDsgfQotI2VuZGlmCi0KICAgICB2b2lkIHNldENTU0xvZ2ljYWxFbmFibGVkKGJvb2wg
aXNFbmFibGVkKSB7IG1fQ1NTTG9naWNhbEVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29s
IGNzc0xvZ2ljYWxFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9DU1NMb2dpY2FsRW5hYmxlZDsg
fQogCi0gICAgdm9pZCBzZXRMZWdhY3lCZWZvcmVMb2FkRXZlbnRFbmFibGVkKGJvb2wgaXNFbmFi
bGVkKSB7IG1fbGVnYWN5QmVmb3JlTG9hZEV2ZW50RW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotICAg
IGJvb2wgbGVnYWN5QmVmb3JlTG9hZEV2ZW50RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVn
YWN5QmVmb3JlTG9hZEV2ZW50RW5hYmxlZDsgfQotCiAgICAgdm9pZCBzZXRMaW5lSGVpZ2h0VW5p
dHNFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fbGluZUhlaWdodFVuaXRzRW5hYmxlZCA9IGlz
RW5hYmxlZDsgfQogICAgIGJvb2wgbGluZUhlaWdodFVuaXRzRW5hYmxlZCgpIGNvbnN0IHsgcmV0
dXJuIG1fbGluZUhlaWdodFVuaXRzRW5hYmxlZDsgfQogCi0gICAgYm9vbCBhZENsaWNrQXR0cmli
dXRpb25FbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9hZENsaWNrQXR0cmlidXRpb25FbmFibGVk
OyB9Ci0gICAgdm9pZCBzZXRBZENsaWNrQXR0cmlidXRpb25FbmFibGVkKGJvb2wgaXNFbmFibGVk
KSB7IG1fYWRDbGlja0F0dHJpYnV0aW9uRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogICAgIGJvb2wg
YWRDbGlja0F0dHJpYnV0aW9uRGVidWdNb2RlRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fYWRD
bGlja0F0dHJpYnV0aW9uRGVidWdNb2RlRW5hYmxlZDsgfQogICAgIHZvaWQgc2V0QWRDbGlja0F0
dHJpYnV0aW9uRGVidWdNb2RlRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2FkQ2xpY2tBdHRy
aWJ1dGlvbkRlYnVnTW9kZUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KIApAQCAtMzQ5LDIxICsyNTgs
OSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRUb3VjaEV2ZW50c0VuYWJsZWQoYm9vbCBpc0VuYWJs
ZWQpIHsgbV90b3VjaEV2ZW50c0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICNlbmRpZgogCi0gICAg
Ym9vbCByZWZlcnJlclBvbGljeUF0dHJpYnV0ZUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3Jl
ZmVycmVyUG9saWN5QXR0cmlidXRlRW5hYmxlZDsgfQotICAgIHZvaWQgc2V0UmVmZXJyZXJQb2xp
Y3lBdHRyaWJ1dGVFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fcmVmZXJyZXJQb2xpY3lBdHRy
aWJ1dGVFbmFibGVkID0gaXNFbmFibGVkOyB9Ci0KICAgICBib29sIHBhZ2VBdFJ1bGVTdXBwb3J0
RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcGFnZUF0UnVsZVN1cHBvcnRFbmFibGVkOyB9CiAg
ICAgdm9pZCBzZXRQYWdlQXRSdWxlU3VwcG9ydEVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9w
YWdlQXRSdWxlU3VwcG9ydEVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KIAotICAgIGJvb2wgaW50ZXJy
dXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5Q2hhbmdlRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1f
aW50ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5Q2hhbmdlRW5hYmxlZDsgfQotICAgIHZvaWQg
c2V0SW50ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5Q2hhbmdlRW5hYmxlZChib29sIGVuYWJs
ZWQpIHsgbV9pbnRlcnJ1cHRBdWRpb09uUGFnZVZpc2liaWxpdHlDaGFuZ2VFbmFibGVkID0gZW5h
YmxlZDsgfQotCi0gICAgYm9vbCBsaW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVkKCkg
Y29uc3QgeyByZXR1cm4gbV9saW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVkOyB9Ci0g
ICAgdm9pZCBzZXRMaW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVkKGJvb2wgaXNFbmFi
bGVkKSB7IG1fbGlua1ByZWxvYWRSZXNwb25zaXZlSW1hZ2VzRW5hYmxlZCA9IGlzRW5hYmxlZDsg
fQotCi0gICAgdm9pZCBzZXRMYXp5SW1hZ2VMb2FkaW5nRW5hYmxlZChib29sIGFyZUVuYWJsZWQp
IHsgbV9sYXp5SW1hZ2VMb2FkaW5nRW5hYmxlZCA9IGFyZUVuYWJsZWQ7IH0KLSAgICBib29sIGxh
enlJbWFnZUxvYWRpbmdFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9sYXp5SW1hZ2VMb2FkaW5n
RW5hYmxlZDsgfQotCiAgICAgdm9pZCBzZXRDU1NTaGFkb3dQYXJ0c0VuYWJsZWQoYm9vbCBpc0Vu
YWJsZWQpIHsgbV9pc0NTU1NoYWRvd1BhcnRzRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogICAgIGJv
b2wgY3NzU2hhZG93UGFydHNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc0NTU1NoYWRvd1Bh
cnRzRW5hYmxlZDsgfQogCkBAIC0zNzcsMjAgKzI3NCwxMSBAQCBwdWJsaWM6CiAgICAgYm9vbCBz
ZWN1cmVDb250ZXh0Q2hlY2tzRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc2VjdXJlQ29udGV4
dENoZWNrc0VuYWJsZWQ7IH0KICAgICB2b2lkIHNldFNlY3VyZUNvbnRleHRDaGVja3NFbmFibGVk
KGJvb2wgaXNFbmFibGVkKSB7IG1fc2VjdXJlQ29udGV4dENoZWNrc0VuYWJsZWQgPSBpc0VuYWJs
ZWQ7IH0KIAotICAgIHZvaWQgc2V0SXNJbkFwcEJyb3dzZXJQcml2YWN5RW5hYmxlZChib29sIGlz
RW5hYmxlZCkgeyBtX2lzSW5BcHBCcm93c2VyUHJpdmFjeUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0K
LSAgICBib29sIGlzSW5BcHBCcm93c2VyUHJpdmFjeUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBt
X2lzSW5BcHBCcm93c2VyUHJpdmFjeUVuYWJsZWQ7IH0KLQotICAgIHZvaWQgc2V0TmVlZHNJbkFw
cEJyb3dzZXJQcml2YWN5UXVpcmtzKGJvb2wgaXNFbmFibGVkKSB7IG1fbmVlZHNJbkFwcEJyb3dz
ZXJQcml2YWN5UXVpcmtzID0gaXNFbmFibGVkOyB9Ci0gICAgYm9vbCBuZWVkc0luQXBwQnJvd3Nl
clByaXZhY3lRdWlya3MoKSBjb25zdCB7IHJldHVybiBtX25lZWRzSW5BcHBCcm93c2VyUHJpdmFj
eVF1aXJrczsgfQotCiAjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKICAg
ICB2b2lkIHNldElzQWNjZXNzaWJpbGl0eUlzb2xhdGVkVHJlZUVuYWJsZWQoYm9vbCBpc0VuYWJs
ZWQpIHsgbV9hY2Nlc3NpYmlsaXR5SXNvbGF0ZWRUcmVlID0gaXNFbmFibGVkOyB9CiAgICAgYm9v
bCBpc0FjY2Vzc2liaWxpdHlJc29sYXRlZFRyZWVFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9h
Y2Nlc3NpYmlsaXR5SXNvbGF0ZWRUcmVlOyB9CiAjZW5kaWYKICAgICAKLSAgICB2b2lkIHNldFdl
YlNoYXJlRmlsZUFQSUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV93ZWJTaGFyZUZpbGVBUElF
bmFibGVkID0gaXNFbmFibGVkOyB9Ci0gICAgYm9vbCB3ZWJTaGFyZUZpbGVBUElFbmFibGVkKCkg
Y29uc3QgeyByZXR1cm4gbV93ZWJTaGFyZUZpbGVBUElFbmFibGVkOyB9Ci0KICNpZiBIQVZFKElO
Q1JFTUVOVEFMX1BERl9BUElTKQogICAgIHZvaWQgc2V0SW5jcmVtZW50YWxQREZMb2FkaW5nRW5h
YmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2luY3JlbWVudGFsUERGTG9hZGluZ0VuYWJsZWQgPSBp
c0VuYWJsZWQ7IH0KICAgICBib29sIGluY3JlbWVudGFsUERGTG9hZGluZ0VuYWJsZWQoKSBjb25z
dCB7IHJldHVybiBtX2luY3JlbWVudGFsUERGTG9hZGluZ0VuYWJsZWQ7IH0KQEAgLTQwNSwyNiAr
MjkzLDE1IEBAIHByaXZhdGU6CiAgICAgLy8gTmV2ZXIgaW5zdGFudGlhdGUuCiAgICAgUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcygpOwogCi0gICAgYm9vbCBtX2JsYW5rQW5jaG9yVGFyZ2V0SW1wbGll
c05vT3BlbmVyRW5hYmxlZCB7IHRydWUgfTsKICAgICBib29sIG1fYXJlTW9kZXJuTWVkaWFDb250
cm9sc0VuYWJsZWQgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9pc0xpbmtQcmVsb2FkRW5hYmxlZCB7
IHRydWUgfTsKLSAgICBib29sIG1faXNMaW5rUHJlZmV0Y2hFbmFibGVkIHsgZmFsc2UgfTsKLSAg
ICBib29sIG1faXNNZWRpYVByZWxvYWRpbmdFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1f
aXNQYWludFRpbWluZ0VuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc1Jlc291cmNlVGlt
aW5nRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzVXNlclRpbWluZ0VuYWJsZWQgeyBm
YWxzZSB9OwotICAgIGJvb2wgbV9pc0ludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkIHsg
ZmFsc2UgfTsKLSAgICBib29sIG1faXNXZWJBdXRoZW50aWNhdGlvbkVuYWJsZWQgeyBmYWxzZSB9
OwotICAgIGJvb2wgbV9pc1dlYkF1dGhlbnRpY2F0aW9uTG9jYWxBdXRoZW50aWNhdG9yRW5hYmxl
ZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVuYWJsZWQg
eyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc1NoYWRvd0RPTUVuYWJsZWQgeyB0cnVlIH07Ci0gICAg
Ym9vbCBtX2FyZUN1c3RvbUVsZW1lbnRzRW5hYmxlZCB7IHRydWUgfTsKICAgICBib29sIG1faXNN
ZW51SXRlbUVsZW1lbnRFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNEaXJlY3RvcnlV
cGxvYWRFbmFibGVkIHsgZmFsc2UgfTsKLSAgICBib29sIG1fYXJlRGF0YVRyYW5zZmVySXRlbXNF
bmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNDdXN0b21QYXN0ZWJvYXJkRGF0YUVuYWJs
ZWQgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9pc1dlYlNoYXJlRW5hYmxlZCB7IGZhbHNlIH07Ci0g
ICAgYm9vbCBtX2lucHV0RXZlbnRzRW5hYmxlZCB7IHRydWUgfTsKICAgICBib29sIG1fYXJlV2Vi
QW5pbWF0aW9uc0VuYWJsZWQgeyB0cnVlIH07CiAgICAgYm9vbCBtX2lzV2ViQW5pbWF0aW9uc0NT
U0ludGVncmF0aW9uRW5hYmxlZCB7IHRydWUgfTsKICAgICBib29sIG1fYXJlV2ViQW5pbWF0aW9u
c0NvbXBvc2l0ZU9wZXJhdGlvbnNFbmFibGVkIHsgZmFsc2UgfTsKQEAgLTQ0OCwxMCArMzI1LDgg
QEAgcHJpdmF0ZToKICAgICBib29sIG1fY3Jvc3NPcmlnaW5SZXNvdXJjZVBvbGljeUVuYWJsZWQg
eyB0cnVlIH07CiAgICAgYm9vbCBtX2lzU2VydmVyVGltaW5nRW5hYmxlZCB7IGZhbHNlIH07CiAg
ICAgYm9vbCBtX2V4cGVyaW1lbnRhbFBsdWdJblNhbmRib3hQcm9maWxlc0VuYWJsZWQgeyBmYWxz
ZSB9OwotICAgIGJvb2wgbV9kaXNhYmxlZEFkYXB0YXRpb25zTWV0YVRhZ0VuYWJsZWQgeyBmYWxz
ZSB9OwogICAgIGJvb2wgbV9hdHRyU3R5bGVFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1f
d2ViQVBJU3RhdGlzdGljc0VuYWJsZWQgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9DU1NDdXN0b21Q
cm9wZXJ0aWVzQW5kVmFsdWVzRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3N5bnRoZXRp
Y0VkaXRpbmdDb21tYW5kc0VuYWJsZWQgeyB0cnVlIH07CiAgICAgYm9vbCBtX2RpYWxvZ0VsZW1l
bnRFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fd2ViU1FMRW5hYmxlZCB7IGZhbHNlIH07
CkBAIC00ODEsMTIgKzM1Niw2IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAgIGJvb2wgbV91c2Vy
R2VzdHVyZVByb21pc2VQcm9wYWdhdGlvbkVuYWJsZWQgeyB0cnVlIH07Ci0jaWYgRU5BQkxFKE1F
RElBX1NUUkVBTSkKLSAgICBib29sIG1faXNNZWRpYVJlY29yZGVyRW5hYmxlZCB7IGZhbHNlIH07
Ci0gICAgYm9vbCBtX2lzTWVkaWFEZXZpY2VzRW5hYmxlZCB7IGZhbHNlIH07Ci0gICAgYm9vbCBt
X2lzTWVkaWFTdHJlYW1FbmFibGVkIHsgdHJ1ZSB9OwotICAgIGJvb2wgbV9pc1NjcmVlbkNhcHR1
cmVFbmFibGVkIHsgZmFsc2UgfTsKLSNlbmRpZgogCiAjaWYgRU5BQkxFKFdFQl9SVEMpCiAgICAg
Ym9vbCBtX2lzV2ViUlRDRFRNRkVuYWJsZWQgeyB0cnVlIH07CkBAIC01MDcsMTAgKzM3Niw2IEBA
IHByaXZhdGU6CiAgICAgYm9vbCBtX2lzRGF0YUxpc3RFbGVtZW50RW5hYmxlZCB7IGZhbHNlIH07
CiAjZW5kaWYKIAotI2lmIEVOQUJMRShHQU1FUEFEKQotICAgIGJvb2wgbV9hcmVHYW1lcGFkc0Vu
YWJsZWQgeyBmYWxzZSB9OwotI2VuZGlmCi0KICAgICBib29sIG1faXNSZWFkYWJsZUJ5dGVTdHJl
YW1BUElFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNXcml0YWJsZVN0cmVhbUFQSUVu
YWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc1RyYW5zZm9ybVN0cmVhbUFQSUVuYWJsZWQg
eyBmYWxzZSB9OwpAQCAtNTI3LDM5ICszOTIsMTYgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNN
YXNrV2ViR0xTdHJpbmdzRW5hYmxlZCB7IGZhbHNlIH07CiAjZW5kaWYKIAotI2lmIEVOQUJMRShE
T1dOTE9BRF9BVFRSSUJVVEUpCi0gICAgYm9vbCBtX2lzRG93bmxvYWRBdHRyaWJ1dGVFbmFibGVk
IHsgZmFsc2UgfTsKLSNlbmRpZgotCi0jaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKLSAgICBi
b29sIG1fZW5jcnlwdGVkTWVkaWFBUElFbmFibGVkIHsgZmFsc2UgfTsKLSNlbmRpZgotCi0jaWYg
RU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpCi0gICAgYm9vbCBtX2xlZ2FjeUVuY3J5cHRl
ZE1lZGlhQVBJRW5hYmxlZCB7IHRydWUgfTsKLSNlbmRpZgotCi0jaWYgRU5BQkxFKElOVEVSU0VD
VElPTl9PQlNFUlZFUikKLSAgICBib29sIG1faW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkIHsg
ZmFsc2UgfTsKLSNlbmRpZgotCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogICAgIGJvb2wg
bV9zZXJ2aWNlV29ya2VyRW5hYmxlZCB7IGZhbHNlIH07CiAjZW5kaWYKIAotI2lmIFVTRShTWVNU
RU1fUFJFVklFVykKLSAgICBib29sIG1fc3lzdGVtUHJldmlld0VuYWJsZWQgeyBmYWxzZSB9Owot
I2VuZGlmCi0KLSAgICBib29sIG1fdW5kb01hbmFnZXJBUElFbmFibGVkIHsgZmFsc2UgfTsKLQog
ICAgIGJvb2wgbV9DU1NMb2dpY2FsRW5hYmxlZCB7IGZhbHNlIH07CiAKICAgICAvLyBGYWxzZSBi
eSBkZWZhdWx0IHVudGlsIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTEzNTEgLwogICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctZHJhZnRzL2lzc3Vl
cy8zMjU3IGhhdmUgYmVlbiBzb3J0ZWQgb3V0LgogICAgIGJvb2wgbV9saW5lSGVpZ2h0VW5pdHNF
bmFibGVkIHsgZmFsc2UgfTsKIAotICAgIGJvb2wgbV9hZENsaWNrQXR0cmlidXRpb25FbmFibGVk
IHsgZmFsc2UgfTsKICAgICBib29sIG1fYWRDbGlja0F0dHJpYnV0aW9uRGVidWdNb2RlRW5hYmxl
ZCB7IGZhbHNlIH07CiAKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQpAQCAtNTY5LDI4ICs0MTEs
MTYgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgbV9pc0lUUERhdGFiYXNlRW5hYmxlZCB7IHRydWUg
fTsKIAotICAgIGJvb2wgbV9yZWZlcnJlclBvbGljeUF0dHJpYnV0ZUVuYWJsZWQgeyB0cnVlIH07
Ci0gICAgYm9vbCBtX2ludGVycnVwdEF1ZGlvT25QYWdlVmlzaWJpbGl0eUNoYW5nZUVuYWJsZWQg
eyBmYWxzZSB9OwotCi0gICAgYm9vbCBtX2xpbmtQcmVsb2FkUmVzcG9uc2l2ZUltYWdlc0VuYWJs
ZWQgeyBmYWxzZSB9OwotCiAjaWYgSEFWRShOU1VSTFNFU1NJT05fV0VCU09DS0VUKQogICAgIGJv
b2wgbV9pc05TVVJMU2Vzc2lvbldlYlNvY2tldEVuYWJsZWQgeyBmYWxzZSB9OwogI2VuZGlmCiAK
LSAgICBib29sIG1fbGF6eUltYWdlTG9hZGluZ0VuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wg
bV9zZWN1cmVDb250ZXh0Q2hlY2tzRW5hYmxlZCB7IHRydWUgfTsKICAgICBib29sIG1faXNDU1NT
aGFkb3dQYXJ0c0VuYWJsZWQgeyB0cnVlIH07CiAKLSAgICBib29sIG1faXNJbkFwcEJyb3dzZXJQ
cml2YWN5RW5hYmxlZCB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX25lZWRzSW5BcHBCcm93c2VyUHJp
dmFjeVF1aXJrcyB7IGZhbHNlIH07Ci0KLSAgICBib29sIG1fbGVnYWN5QmVmb3JlTG9hZEV2ZW50
RW5hYmxlZCB7IGZhbHNlIH07Ci0KICNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9U
UkVFKQogICAgIGJvb2wgbV9hY2Nlc3NpYmlsaXR5SXNvbGF0ZWRUcmVlIHsgZmFsc2UgfTsKICNl
bmRpZgotICAgIGJvb2wgbV93ZWJTaGFyZUZpbGVBUElFbmFibGVkIHsgZmFsc2UgfTsKIAogI2lm
IEhBVkUoSU5DUkVNRU5UQUxfUERGX0FQSVMpCiAgICAgYm9vbCBtX2luY3JlbWVudGFsUERGTG9h
ZGluZ0VuYWJsZWQgeyBmYWxzZSB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5n
cy55YW1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbAko
cmV2aXNpb24gMjY2MzU4KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCSh3
b3JraW5nIGNvcHkpCkBAIC0yMDQsNyArMjA0LDcgQEAgZG9tVGltZXJzVGhyb3R0bGluZ0VuYWJs
ZWQ6CiAgIGluaXRpYWw6IHRydWUKIHdlYkFyY2hpdmVEZWJ1Z01vZGVFbmFibGVkOgogICBpbml0
aWFsOiBmYWxzZQotICBjb25kaXRpb25hbDogV0VCX0FSQ0hJVkUKKyAgY29uZGl0aW9uYWw6IEVO
QUJMRShXRUJfQVJDSElWRSkKIGxvY2FsRmlsZUNvbnRlbnRTbmlmZmluZ0VuYWJsZWQ6CiAgIGlu
aXRpYWw6IGZhbHNlCiBvZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQ6CkBAIC0yMzcs
NyArMjM3LDcgQEAgYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbgogICBp
bml0aWFsOiBkZWZhdWx0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbmFi
bGVkCiBydWJiZXJCYW5kaW5nRm9yU3ViU2Nyb2xsYWJsZVJlZ2lvbnNFbmFibGVkOgogICBpbml0
aWFsOiB0cnVlCi0gIGNvbmRpdGlvbmFsOiBSVUJCRVJfQkFORElORworICBjb25kaXRpb25hbDog
RU5BQkxFKFJVQkJFUl9CQU5ESU5HKQogCiBleHBlcmltZW50YWxOb3RpZmljYXRpb25zRW5hYmxl
ZDoKICAgaW5pdGlhbDogZmFsc2UKQEAgLTI2Myw3ICsyNjMsNyBAQCBwYWdpbmF0ZUR1cmluZ0xh
eW91dEVuYWJsZWQ6CiAgIGluaXRpYWw6IGZhbHNlCiBmdWxsU2NyZWVuRW5hYmxlZDoKICAgaW5p
dGlhbDogZmFsc2UKLSAgY29uZGl0aW9uYWw6IEZVTExTQ1JFRU5fQVBJCisgIGNvbmRpdGlvbmFs
OiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCiBhc3luY2hyb25vdXNTcGVsbENoZWNraW5nRW5hYmxl
ZDoKICAgaW5pdGlhbDogZmFsc2UKIApAQCAtMzIyLDI2ICszMjIsMjYgQEAgYmFja3NwYWNlS2V5
TmF2aWdhdGlvbkVuYWJsZWQ6CiAgIGluaXRpYWw6IHRydWUKIHNob3VsZERpc3BsYXlTdWJ0aXRs
ZXM6CiAgIGluaXRpYWw6IGZhbHNlCi0gIGNvbmRpdGlvbmFsOiBWSURFTworICBjb25kaXRpb25h
bDogRU5BQkxFKFZJREVPKQogc2hvdWxkRGlzcGxheUNhcHRpb25zOgogICBpbml0aWFsOiBmYWxz
ZQotICBjb25kaXRpb25hbDogVklERU8KKyAgY29uZGl0aW9uYWw6IEVOQUJMRShWSURFTykKIHNo
b3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zOgogICBpbml0aWFsOiBmYWxzZQotICBjb25kaXRp
b25hbDogVklERU8KKyAgY29uZGl0aW9uYWw6IEVOQUJMRShWSURFTykKIGdlbmVyaWNDdWVBUElF
bmFibGVkOgogICBpbml0aWFsOiBmYWxzZQotICBjb25kaXRpb25hbDogVklERU8KKyAgY29uZGl0
aW9uYWw6IEVOQUJMRShWSURFTykKIHVzZUdQVVByb2Nlc3NGb3JNZWRpYToKICAgaW5pdGlhbDog
ZmFsc2UKLSAgY29uZGl0aW9uYWw6IEdQVV9QUk9DRVNTCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUo
R1BVX1BST0NFU1MpCiBzY3JvbGxpbmdDb29yZGluYXRvckVuYWJsZWQ6CiAgIGluaXRpYWw6IGZh
bHNlCiBzY3JvbGxpbmdUcmVlSW5jbHVkZXNGcmFtZXM6CiAgIGluaXRpYWw6IGRlZmF1bHRTY3Jv
bGxpbmdUcmVlSW5jbHVkZXNGcmFtZXMKIHNjcm9sbEFuaW1hdG9yRW5hYmxlZDoKICAgaW5pdGlh
bDogdHJ1ZQotICBjb25kaXRpb25hbDogU01PT1RIX1NDUk9MTElORworICBjb25kaXRpb25hbDog
RU5BQkxFKFNNT09USF9TQ1JPTExJTkcpCiBmb3JjZVVwZGF0ZVNjcm9sbGJhcnNPbk1haW5UaHJl
YWRGb3JQZXJmb3JtYW5jZVRlc3Rpbmc6CiAgIGluaXRpYWw6IGZhbHNlCiBub3RpZmljYXRpb25z
RW5hYmxlZDoKQEAgLTQyOCw3ICs0MjgsNyBAQCBjb3JlSW1hZ2VBY2NlbGVyYXRlZEZpbHRlclJl
bmRlckVuYWJsZWQ6CiBsZWdhY3lPdmVyZmxvd1Njcm9sbGluZ1RvdWNoRW5hYmxlZDoKICAgaW5p
dGlhbDogdHJ1ZQogICBvbkNoYW5nZTogc2V0TmVlZHNSZWxheW91dEFsbEZyYW1lcwotICBjb25k
aXRpb25hbDogT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNICisgIGNvbmRpdGlvbmFsOiBFTkFCTEUo
T1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKQogCiB3ZWJTZWN1cml0eUVuYWJsZWQ6CiAgIGluaXRp
YWw6IHRydWUKQEAgLTQ2OCwyMiArNDY4LDIyIEBAIGZpeGVkQmFja2dyb3VuZHNQYWludFJlbGF0
aXZlVG9Eb2N1bWVudDoKIHRleHRBdXRvc2l6aW5nRW5hYmxlZDoKICAgaW5pdGlhbDogZGVmYXVs
dFRleHRBdXRvc2l6aW5nRW5hYmxlZCgpCiAgIG9uQ2hhbmdlOiBzZXROZWVkc1JlY2FsY1N0eWxl
SW5BbGxGcmFtZXMKLSAgY29uZGl0aW9uYWw6IFRFWFRfQVVUT1NJWklORworICBjb25kaXRpb25h
bDogRU5BQkxFKFRFWFRfQVVUT1NJWklORykKIHRleHRBdXRvc2l6aW5nV2luZG93U2l6ZU92ZXJy
aWRlOgogICB0eXBlOiBJbnRTaXplCiAgIG9uQ2hhbmdlOiBzZXROZWVkc1JlY2FsY1N0eWxlSW5B
bGxGcmFtZXMKLSAgY29uZGl0aW9uYWw6IFRFWFRfQVVUT1NJWklORworICBjb25kaXRpb25hbDog
RU5BQkxFKFRFWFRfQVVUT1NJWklORykKIG1pbmltdW1ab29tRm9udFNpemU6CiAgIHR5cGU6IGZs
b2F0CiAgIGluaXRpYWw6IGRlZmF1bHRNaW5pbXVtWm9vbUZvbnRTaXplKCkKLSAgY29uZGl0aW9u
YWw6IFRFWFRfQVVUT1NJWklORworICBjb25kaXRpb25hbDogRU5BQkxFKFRFWFRfQVVUT1NJWklO
RykKIHRleHRBdXRvc2l6aW5nVXNlc0lkZW1wb3RlbnRNb2RlOgogICBpbml0aWFsOiBmYWxzZQog
ICBvbkNoYW5nZTogc2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVzCi0gIGNvbmRpdGlvbmFs
OiBURVhUX0FVVE9TSVpJTkcKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShURVhUX0FVVE9TSVpJTkcp
CiBpZGVtcG90ZW50TW9kZUF1dG9zaXppbmdPbmx5SG9ub3JzUGVyY2VudGFnZXM6CiAgIGluaXRp
YWw6IGZhbHNlCi0gIGNvbmRpdGlvbmFsOiBURVhUX0FVVE9TSVpJTkcKKyAgY29uZGl0aW9uYWw6
IEVOQUJMRShURVhUX0FVVE9TSVpJTkcpCiAgICMgVGhpcyBpcyBvbmx5IHNldCBiZWZvcmUgdGhl
IG1haW4gZnJhbWUgbG9hZCwgc28gdGhlcmUncyBubyBuZWVkIHRvIHNwZWNpZnkgc2V0TmVlZHNS
ZWNhbGNTdHlsZUluQWxsRnJhbWVzLgogCiBzdWJwaXhlbEFudGlhbGlhc2VkTGF5ZXJUZXh0RW5h
YmxlZDoKQEAgLTUwNywxMSArNTA3LDExIEBAIHVzZUdpYW50VGlsZXM6CiAKIG1lZGlhU291cmNl
RW5hYmxlZDoKICAgaW5pdGlhbDogcGxhdGZvcm1EZWZhdWx0TWVkaWFTb3VyY2VFbmFibGVkKCkK
LSAgY29uZGl0aW9uYWw6IE1FRElBX1NPVVJDRQorICBjb25kaXRpb25hbDogRU5BQkxFKE1FRElB
X1NPVVJDRSkKIAogc291cmNlQnVmZmVyQ2hhbmdlVHlwZUVuYWJsZWQ6CiAgIGluaXRpYWw6IHRy
dWUKLSAgY29uZGl0aW9uYWw6IE1FRElBX1NPVVJDRQorICBjb25kaXRpb25hbDogRU5BQkxFKE1F
RElBX1NPVVJDRSkKIAogIyBGSVhNRTogUmVuYW1lIHRvIGFsbG93TXVsdGlFbGVtZW50SW1wbGlj
aXRGb3JtU3VibWlzc2lvbiBvbmNlIHdlIHVwc3RyZWFtIHRoZSBpT1MgY2hhbmdlcyB0byBXZWJW
aWV3Lm1tLgogYWxsb3dNdWx0aUVsZW1lbnRJbXBsaWNpdFN1Ym1pc3Npb246CkBAIC01MTksMTEg
KzUxOSwxMSBAQCBhbGxvd011bHRpRWxlbWVudEltcGxpY2l0U3VibWlzc2lvbjoKIAogYWxsb3dz
QWlyUGxheUZvck1lZGlhUGxheWJhY2s6CiAgIGluaXRpYWw6IHRydWUKLSAgY29uZGl0aW9uYWw6
IFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVAorICBjb25kaXRpb25hbDogRU5BQkxFKFdJUkVMRVNT
X1BMQVlCQUNLX1RBUkdFVCkKIAogcmVtb3RlUGxheWJhY2tFbmFibGVkOgogICBpbml0aWFsOiB0
cnVlCi0gIGNvbmRpdGlvbmFsOiBXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQKKyAgY29uZGl0aW9u
YWw6IEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpCiAKIHNob3VsZENvbnZlcnRQb3Np
dGlvblN0eWxlT25Db3B5OgogICBpbml0aWFsOiBmYWxzZQpAQCAtNTQxLDcgKzU0MSw3IEBAIGFs
d2F5c1VzZUFjY2VsZXJhdGVkT3ZlcmZsb3dTY3JvbGw6CiAgIGluaXRpYWw6IGZhbHNlCiBpbWFn
ZUNvbnRyb2xzRW5hYmxlZDoKICAgaW5pdGlhbDogZmFsc2UKLSAgY29uZGl0aW9uYWw6IFNFUlZJ
Q0VfQ09OVFJPTFMKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQogCiBl
bmFibGVJbmhlcml0VVJJUXVlcnlDb21wb25lbnQ6CiAgIGluaXRpYWw6IGZhbHNlCkBAIC01NTYs
MTggKzU1NiwxOCBAQCB1c2VJbWFnZURvY3VtZW50Rm9yU3ViZnJhbWVQREY6CiBkYXRhRGV0ZWN0
b3JUeXBlczoKICAgdHlwZTogRGF0YURldGVjdG9yVHlwZXMKICAgaW5pdGlhbDogCi0gIGNvbmRp
dGlvbmFsOiBEQVRBX0RFVEVDVElPTgorICBjb25kaXRpb25hbDogRU5BQkxFKERBVEFfREVURUNU
SU9OKQogCiAjIEFsbG93IFNvdXJjZUJ1ZmZlcnMgdG8gc3RvcmUgdXAgdG8gMzA0TUIgZWFjaCwg
ZW5vdWdoIGZvciBhcHByb3hpbWF0ZWx5IGZpdmUgbWludXRlcwogIyBvZiAxMDgwcCB2aWRlbyBh
bmQgc3RlcmVvIGF1ZGlvLgogbWF4aW11bVNvdXJjZUJ1ZmZlclNpemU6CiAgIHR5cGU6IGludAog
ICBpbml0aWFsOiAzMTg3NjcxMDQKLSAgY29uZGl0aW9uYWw6IE1FRElBX1NPVVJDRQorICBjb25k
aXRpb25hbDogRU5BQkxFKE1FRElBX1NPVVJDRSkKIAogc2VydmljZUNvbnRyb2xzRW5hYmxlZDoK
ICAgaW5pdGlhbDogZmFsc2UKLSAgY29uZGl0aW9uYWw6IFNFUlZJQ0VfQ09OVFJPTFMKKyAgY29u
ZGl0aW9uYWw6IEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQogCiBhcHBsZU1haWxQYWdpbmF0aW9u
UXVpcmtFbmFibGVkOgogICBpbml0aWFsOiBmYWxzZQpAQCAtNjI2LDcgKzYyNiw2IEBAIGxheW91
dFZpZXdwb3J0SGVpZ2h0RXhwYW5zaW9uRmFjdG9yOgogICBpbml0aWFsOiAwCiAgIG9uQ2hhbmdl
OiBzZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMKIAotIyBSdW50aW1lLWVuYWJsZWQgZmVh
dHVyZXMKIHZpc3VhbFZpZXdwb3J0RW5hYmxlZDoKICAgaW5pdGlhbDogdHJ1ZQogICBvbkNoYW5n
ZTogc2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVzCkBAIC03MjAsMTYgKzcxOSwxNiBAQCBz
aG91bGRJZ25vcmVGb250TG9hZENvbXBsZXRpb25zOgogICBpbml0aWFsOiBmYWxzZQogCiBhcHBs
ZVBheUNhcGFiaWxpdHlEaXNjbG9zdXJlQWxsb3dlZDoKLSAgY29uZGl0aW9uYWw6IEFQUExFX1BB
WQorICBjb25kaXRpb25hbDogRU5BQkxFKEFQUExFX1BBWSkKICAgaW5pdGlhbDogdHJ1ZQogYXBw
bGVQYXlFbmFibGVkOgotICBjb25kaXRpb25hbDogQVBQTEVfUEFZCisgIGNvbmRpdGlvbmFsOiBF
TkFCTEUoQVBQTEVfUEFZKQogICBpbml0aWFsOiBkZWZhdWx0QXBwbGVQYXlFbmFibGVkCiBhcHBs
ZVBheVJlbW90ZVVJRW5hYmxlZDoKLSAgY29uZGl0aW9uYWw6IEFQUExFX1BBWV9SRU1PVEVfVUkK
KyAgY29uZGl0aW9uYWw6IEVOQUJMRShBUFBMRV9QQVlfUkVNT1RFX1VJKQogICBpbml0aWFsOiB0
cnVlCiBwYXltZW50UmVxdWVzdEVuYWJsZWQ6Ci0gIGNvbmRpdGlvbmFsOiBQQVlNRU5UX1JFUVVF
U1QKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShQQVlNRU5UX1JFUVVFU1QpCiAgIGluaXRpYWw6IGZh
bHNlCiAKIGphdmFFbmFibGVkOgpAQCAtNzk5LDcgKzc5OCw3IEBAIHNob3VsZEFsbG93VXNlcklu
c3RhbGxlZEZvbnRzOgogCiByZXNpemVPYnNlcnZlckVuYWJsZWQ6CiAgIGluaXRpYWw6IGZhbHNl
Ci0gIGNvbmRpdGlvbmFsOiBSRVNJWkVfT0JTRVJWRVIKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShS
RVNJWkVfT0JTRVJWRVIpCiAKICMgT25seSBzZXQgYnkgTGF5b3V0IFRlc3RzLgogbWVkaWFUeXBl
T3ZlcnJpZGU6CkBAIC04MjksNyArODI4LDcgQEAgZXhwb3NlU3BlYWtlcnNFbmFibGVkOgogCiBt
ZWRpYURldmljZUlkZW50aWZpZXJTdG9yYWdlRGlyZWN0b3J5OgogICB0eXBlOiBTdHJpbmcKLSAg
Y29uZGl0aW9uYWw6IE1FRElBX1NUUkVBTQorICBjb25kaXRpb25hbDogRU5BQkxFKE1FRElBX1NU
UkVBTSkKIAogIyBGSVhNRTogVGhpcyBxdWlyayBpcyBuZWVkZWQgYmVjYXVzZSBvZiBSYWRhciA0
Njc0NTM3IGFuZCA1MjExMjcxLiBXZSBuZWVkIHRvIHBoYXNlIGl0IG91dCBvbmNlIEFkb2JlCiAj
IGNhbiBmaXggdGhlIGJ1ZyBmcm9tIHRoZWlyIGVuZC4KQEAgLTg0MywyMiArODQyLDIyIEBAIHBh
c3NpdmVUb3VjaExpc3RlbmVyc0FzRGVmYXVsdE9uRG9jdW1lbnQKIHRvdWNoRXZlbnRFbXVsYXRp
b25FbmFibGVkOgogICBpbml0aWFsOiBmYWxzZQogICBnZXR0ZXI6IGlzVG91Y2hFdmVudEVtdWxh
dGlvbkVuYWJsZWQKLSAgY29uZGl0aW9uYWw6IFRPVUNIX0VWRU5UUworICBjb25kaXRpb25hbDog
RU5BQkxFKFRPVUNIX0VWRU5UUykKIAogZGV2aWNlT3JpZW50YXRpb25FdmVudEVuYWJsZWQ6CiAg
IHR5cGU6IGJvb2wKICAgaW5pdGlhbDogdHJ1ZQotICBjb25kaXRpb25hbDogREVWSUNFX09SSUVO
VEFUSU9OCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQogCiBkZXZp
Y2VPcmllbnRhdGlvblBlcm1pc3Npb25BUElFbmFibGVkOgogICB0eXBlOiBib29sCiAgIGluaXRp
YWw6IGZhbHNlCi0gIGNvbmRpdGlvbmFsOiBERVZJQ0VfT1JJRU5UQVRJT04KKyAgY29uZGl0aW9u
YWw6IEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCiAKIHNob3VsZEVuYWJsZVRleHRBdXRvc2l6
aW5nQm9vc3Q6CiAgIHR5cGU6IGJvb2wKICAgaW5pdGlhbDogZmFsc2UKLSAgY29uZGl0aW9uYWw6
IFRFWFRfQVVUT1NJWklORworICBjb25kaXRpb25hbDogRU5BQkxFKFRFWFRfQVVUT1NJWklORykK
ICAgb25DaGFuZ2U6IHNob3VsZEVuYWJsZVRleHRBdXRvc2l6aW5nQm9vc3RDaGFuZ2VkCiAKIG1l
ZGlhQ2FwYWJpbGl0aWVzRW5hYmxlZDoKQEAgLTg4Nyw3ICs4ODYsNyBAQCBzaG91bGRJZ25vcmVN
ZXRhVmlld3BvcnQ6CiAKIHZpZGVvUXVhbGl0eUluY2x1ZGVzRGlzcGxheUNvbXBvc2l0aW5nRW5h
YmxlZDoKICAgaW5pdGlhbDogZmFsc2UKLSAgY29uZGl0aW9uYWw6IFZJREVPCisgIGNvbmRpdGlv
bmFsOiBFTkFCTEUoVklERU8pCiAKIGFkQ2xpY2tBdHRyaWJ1dGlvbkVuYWJsZWQ6CiAgIGluaXRp
YWw6IGZhbHNlCkBAIC05MzgsMTEgKzkzNywxMyBAQCBlbnRlcktleUhpbnRFbmFibGVkOgogCiBs
ZWdhY3lHZXRVc2VyTWVkaWFFbmFibGVkOgogICBpbml0aWFsOiBmYWxzZQotICBjb25kaXRpb25h
bDogTUVESUFfU1RSRUFNCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCisj
IEZJWE1FOiBTZWVtcyB0byBiZSB1bnVzZWQuIFJlbW92ZSBvbmNlIHZlcmlmaWVkLgogaXNJbkFw
cEJyb3dzZXJQcml2YWN5RW5hYmxlZDoKICAgaW5pdGlhbDogZmFsc2UKIAorIyBGSVhNRTogU2Vl
bXMgdG8gYmUgdW51c2VkLiBSZW1vdmUgb25jZSB2ZXJpZmllZC4KIE5lZWRzSW5BcHBCcm93c2Vy
UHJpdmFjeVF1aXJrczoKICAgaW5pdGlhbDogZmFsc2UKIApAQCAtOTU0LDMxICs5NTUsMTI2IEBA
IGFzcGVjdFJhdGlvT2ZJbWdGcm9tV2lkdGhBbmRIZWlnaHRFbmFibGUKIAogaW5wdXRUeXBlQ29s
b3JFbmFibGVkOgogICBpbml0aWFsOiBmYWxzZQotICBjb25kaXRpb25hbDogSU5QVVRfVFlQRV9D
T0xPUgorICBjb25kaXRpb25hbDogRU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCiAKIGlucHV0VHlw
ZURhdGVFbmFibGVkOgogICBpbml0aWFsOiBmYWxzZQotICBjb25kaXRpb25hbDogSU5QVVRfVFlQ
RV9EQVRFCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoSU5QVVRfVFlQRV9EQVRFKQogCiBpbnB1dFR5
cGVEYXRlVGltZUxvY2FsRW5hYmxlZDoKICAgaW5pdGlhbDogZmFsc2UKLSAgY29uZGl0aW9uYWw6
IElOUFVUX1RZUEVfREFURVRJTUVMT0NBTAorICBjb25kaXRpb25hbDogRU5BQkxFKElOUFVUX1RZ
UEVfREFURVRJTUVMT0NBTCkKIAogaW5wdXRUeXBlTW9udGhFbmFibGVkOgogICBpbml0aWFsOiBm
YWxzZQotICBjb25kaXRpb25hbDogSU5QVVRfVFlQRV9NT05USAorICBjb25kaXRpb25hbDogRU5B
QkxFKElOUFVUX1RZUEVfTU9OVEgpCiAKIGlucHV0VHlwZVRpbWVFbmFibGVkOgogICBpbml0aWFs
OiBmYWxzZQotICBjb25kaXRpb25hbDogSU5QVVRfVFlQRV9USU1FCisgIGNvbmRpdGlvbmFsOiBF
TkFCTEUoSU5QVVRfVFlQRV9USU1FKQogCiBpbnB1dFR5cGVXZWVrRW5hYmxlZDoKICAgaW5pdGlh
bDogZmFsc2UKLSAgY29uZGl0aW9uYWw6IElOUFVUX1RZUEVfV0VFSworICBjb25kaXRpb25hbDog
RU5BQkxFKElOUFVUX1RZUEVfV0VFSykKIAogZGF0ZVRpbWVJbnB1dHNFZGl0YWJsZUNvbXBvbmVu
dHNFbmFibGVkOgogICBpbml0aWFsOiBmYWxzZQotICBjb25kaXRpb25hbDogREFURV9BTkRfVElN
RV9JTlBVVF9UWVBFUworICBjb25kaXRpb25hbDogRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRf
VFlQRVMpCisKK2JsYW5rQW5jaG9yVGFyZ2V0SW1wbGllc05vT3BlbmVyRW5hYmxlZDoKKyAgaW5p
dGlhbDogdHJ1ZQorCitsaW5rUHJlbG9hZEVuYWJsZWQ6CisgIGluaXRpYWw6IHRydWUKKworbGlu
a1ByZWZldGNoRW5hYmxlZDoKKyAgaW5pdGlhbDogZmFsc2UKKworbGlua1ByZWxvYWRSZXNwb25z
aXZlSW1hZ2VzRW5hYmxlZDoKKyAgaW5pdGlhbDogZmFsc2UKKworZGlzYWJsZWRBZGFwdGF0aW9u
c01ldGFUYWdFbmFibGVkOgorICBpbml0aWFsOiBmYWxzZQorCitsYXp5SW1hZ2VMb2FkaW5nRW5h
YmxlZDoKKyAgaW5pdGlhbDogZmFsc2UKKworcmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGVFbmFibGVk
OgorICBpbml0aWFsOiB0cnVlCisKK2N1c3RvbUVsZW1lbnRzRW5hYmxlZDoKKyAgaW5pdGlhbDog
dHJ1ZQorCitkYXRhVHJhbnNmZXJJdGVtc0VuYWJsZWQ6CisgIGluaXRpYWw6IGZhbHNlCisKK3dl
YkF1dGhlbnRpY2F0aW9uRW5hYmxlZDoKKyAgaW5pdGlhbDogZmFsc2UKKword2ViQXV0aGVudGlj
YXRpb25Mb2NhbEF1dGhlbnRpY2F0b3JFbmFibGVkOgorICBpbml0aWFsOiBmYWxzZQorCisjIEZJ
WE1FOiBTZWVtcyB0byBiZSB1bnVzZWQuIFJlbW92ZSBvbmNlIHZlcmlmaWVkLgorbWVkaWFTdHJl
YW1FbmFibGVkOgorICBpbml0aWFsOiB0cnVlCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoTUVESUFf
U1RSRUFNKQorCittZWRpYVJlY29yZGVyRW5hYmxlZDoKKyAgaW5pdGlhbDogZmFsc2UKKyAgY29u
ZGl0aW9uYWw6IEVOQUJMRShNRURJQV9TVFJFQU0pCisKK21lZGlhRGV2aWNlc0VuYWJsZWQ6Cisg
IGluaXRpYWw6IGZhbHNlCisgIGNvbmRpdGlvbmFsOiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCitz
Y3JlZW5DYXB0dXJlRW5hYmxlZDoKKyAgaW5pdGlhbDogZmFsc2UKKyAgY29uZGl0aW9uYWw6IEVO
QUJMRShNRURJQV9TVFJFQU0pCisKK2dhbWVwYWRzRW5hYmxlZDoKKyAgaW5pdGlhbDogZmFsc2UK
KyAgY29uZGl0aW9uYWw6IEVOQUJMRShHQU1FUEFEKQorCitjc3NDdXN0b21Qcm9wZXJ0aWVzQW5k
VmFsdWVzRW5hYmxlZDoKKyAgaW5pdGlhbDogZmFsc2UKKword2ViU2hhcmVFbmFibGVkOgorICBp
bml0aWFsOiBmYWxzZQorCit3ZWJTaGFyZUZpbGVBUElFbmFibGVkOgorICBpbml0aWFsOiBmYWxz
ZQorCit1bmRvTWFuYWdlckFQSUVuYWJsZWQ6CisgIGluaXRpYWw6IGZhbHNlCisKK2ludGVyc2Vj
dGlvbk9ic2VydmVyRW5hYmxlZDoKKyAgaW5pdGlhbDogZmFsc2UKKyAgY29uZGl0aW9uYWw6IEVO
QUJMRShJTlRFUlNFQ1RJT05fT0JTRVJWRVIpCisKK2Rvd25sb2FkQXR0cmlidXRlRW5hYmxlZDoK
KyAgaW5pdGlhbDogZmFsc2UKKyAgY29uZGl0aW9uYWw6IEVOQUJMRShET1dOTE9BRF9BVFRSSUJV
VEUpCisKK3N5c3RlbVByZXZpZXdFbmFibGVkOgorICBpbml0aWFsOiBmYWxzZQorICBjb25kaXRp
b25hbDogVVNFKFNZU1RFTV9QUkVWSUVXKQorCitpbnRlcnJ1cHRBdWRpb09uUGFnZVZpc2liaWxp
dHlDaGFuZ2VFbmFibGVkOgorICBpbml0aWFsOiBmYWxzZQorICBjb25kaXRpb25hbDogRU5BQkxF
KE1FRElBX1NUUkVBTSkKKworZW5jcnlwdGVkTWVkaWFBUElFbmFibGVkOgorICBpbnRpaWFsOiBm
YWxzZQorICBjb25kaXRpb25hOiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorCitsZWdhY3lFbmNy
eXB0ZWRNZWRpYUFQSUVuYWJsZWQ6CisgIGludGlpYWw6IHRydWUKKyAgY29uZGl0aW9uYTogRU5B
QkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpCisKKyMgRklNWEU6IFRoaXMgZG9lcyBub3QgYXBw
ZWFyIHRvIGV2ZXIgYmUgc2V0IHRvIHRydWUuIFJlbW92ZSBvbmNlIHZlcmlmaWVkLgorbGVnYWN5
QmVmb3JlTG9hZEV2ZW50RW5hYmxlZDoKKyAgaW5pdGlhbDogZmFsc2UKKwogCiBpc1Bvc3RMb2Fk
Q1BVVXNhZ2VNZWFzdXJlbWVudEVuYWJsZWQ6CiAgIGluaXRpYWw6IGRlZmF1bHRQb3N0TG9hZENQ
VVVzYWdlTWVhc3VyZW1lbnRFbmFibGVkCkBAIC0xMDA0LDEzICsxMTAwLDEzIEBAIGljZUNhbmRp
ZGF0ZUZpbHRlcmluZ0VuYWJsZWQ6CiAKIG1vY2tDYXB0dXJlRGV2aWNlc0VuYWJsZWQ6CiAgIGlu
aXRpYWw6IGZhbHNlCi0gIGNvbmRpdGlvbmFsOiBNRURJQV9TVFJFQU0KKyAgY29uZGl0aW9uYWw6
IEVOQUJMRShNRURJQV9TVFJFQU0pCiAgIG9uQ2hhbmdlOiBtb2NrQ2FwdHVyZURldmljZXNFbmFi
bGVkQ2hhbmdlZAogICBpbnNwZWN0b3JPdmVycmlkZTogdHJ1ZQogCiBtZWRpYUNhcHR1cmVSZXF1
aXJlc1NlY3VyZUNvbm5lY3Rpb246CiAgIGluaXRpYWw6IHRydWUKLSAgY29uZGl0aW9uYWw6IE1F
RElBX1NUUkVBTQorICBjb25kaXRpb25hbDogRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgaW5zcGVj
dG9yT3ZlcnJpZGU6IHRydWUKIAogc2hvdWxkVXNlU2VydmljZVdvcmtlclNob3J0VGltZW91dDoK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvVW5kb0l0ZW0uaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BhZ2UvVW5kb0l0ZW0uaWRsCShyZXZpc2lvbiAyNjYzNTgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1VuZG9JdGVtLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQsNyArMjQs
NyBAQAogICovCiAKIFsKLSAgICBFbmFibGVkQXRSdW50aW1lPVVuZG9NYW5hZ2VyQVBJLAorICAg
IEVuYWJsZWRCeVNldHRpbmc9VW5kb01hbmFnZXJBUEksCiBdIGRpY3Rpb25hcnkgVW5kb0l0ZW1J
bml0IHsKICAgICByZXF1aXJlZCBET01TdHJpbmcgbGFiZWw7CiAgICAgcmVxdWlyZWQgVm9pZENh
bGxiYWNrIHVuZG87CkBAIC0zMiw3ICszMiw3IEBACiB9OwogCiBbCi0gICAgRW5hYmxlZEF0UnVu
dGltZT1VbmRvTWFuYWdlckFQSSwKKyAgICBFbmFibGVkQnlTZXR0aW5nPVVuZG9NYW5hZ2VyQVBJ
LAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgSlNDdXN0b21NYXJrRnVuY3Rp
b24sCiAgICAgQ3VzdG9tSXNSZWFjaGFibGUsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1Vu
ZG9NYW5hZ2VyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1VuZG9NYW5h
Z2VyLmlkbAkocmV2aXNpb24gMjY2MzU4KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9VbmRvTWFu
YWdlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI0LDcgKzI0LDcgQEAKICAqLwogCiBbCi0gICAg
RW5hYmxlZEF0UnVudGltZT1VbmRvTWFuYWdlckFQSSwKKyAgICBFbmFibGVkQnlTZXR0aW5nPVVu
ZG9NYW5hZ2VyQVBJLAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgR2VuZXJh
dGVJc1JlYWNoYWJsZT1JbXBsRG9jdW1lbnQsCiBdIGludGVyZmFjZSBVbmRvTWFuYWdlciB7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAJKHJldmlzaW9uIDI2
NjM1OCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTY5Miw3ICs2OTIsNyBAQCBJbWFnZURyYXdSZXN1bHQgUmVuZGVySW1hZ2U6
OnBhaW50SW50b1JlCiAgICAgICAgIGltYWdlUmVzb3VyY2UoKS5jYWNoZWRJbWFnZSgpLT5hZGRD
bGllbnRXYWl0aW5nRm9yQXN5bmNEZWNvZGluZygqdGhpcyk7CiAKICNpZiBVU0UoU1lTVEVNX1BS
RVZJRVcpCi0gICAgaWYgKGltYWdlRWxlbWVudCAmJiBpbWFnZUVsZW1lbnQtPmlzU3lzdGVtUHJl
dmlld0ltYWdlKCkgJiYgZHJhd1Jlc3VsdCA9PSBJbWFnZURyYXdSZXN1bHQ6OkRpZERyYXcgJiYg
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zeXN0ZW1QcmV2aWV3RW5h
YmxlZCgpKQorICAgIGlmIChpbWFnZUVsZW1lbnQgJiYgaW1hZ2VFbGVtZW50LT5pc1N5c3RlbVBy
ZXZpZXdJbWFnZSgpICYmIGRyYXdSZXN1bHQgPT0gSW1hZ2VEcmF3UmVzdWx0OjpEaWREcmF3ICYm
IGltYWdlRWxlbWVudC0+ZG9jdW1lbnQoKS5zZXR0aW5ncygpLnN5c3RlbVByZXZpZXdFbmFibGVk
KCkpCiAgICAgICAgIHRoZW1lKCkucGFpbnRTeXN0ZW1QcmV2aWV3QmFkZ2UoKmltZywgcGFpbnRJ
bmZvLCByZWN0KTsKICNlbmRpZgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFsU2V0dGluZ3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxTZXR0aW5ncy5jcHAJKHJldmlzaW9uIDI2NjM1OCkKKysrIFNvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExNiw5ICsxMTYs
NiBAQCBJbnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OkJhY2t1cChTZXR0aW5nCiAjaWYgRU5BQkxF
KFdFQkdMMikKICAgICAsIG1fd2ViR0wyRW5hYmxlZChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpz
aGFyZWRGZWF0dXJlcygpLndlYkdMMkVuYWJsZWQoKSkKICNlbmRpZgotI2lmIEVOQUJMRShNRURJ
QV9TVFJFQU0pCi0gICAgLCBtX3NldFNjcmVlbkNhcHR1cmVFbmFibGVkKFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2NyZWVuQ2FwdHVyZUVuYWJsZWQoKSkKLSNlbmRp
ZgogICAgICwgbV9mZXRjaEFQSUtlZXBBbGl2ZUFQSUVuYWJsZWQoUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5mZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQoKSkKICAgICAs
IG1fc2hvdWxkTW9ja0JvbGRTeXN0ZW1Gb250Rm9yQWNjZXNzaWJpbGl0eShSZW5kZXJUaGVtZTo6
c2luZ2xldG9uKCkuc2hvdWxkTW9ja0JvbGRTeXN0ZW1Gb250Rm9yQWNjZXNzaWJpbGl0eSgpKQog
I2lmIFVTRShBVURJT19TRVNTSU9OKQpAQCAtMjIwLDkgKzIxNyw2IEBAIHZvaWQgSW50ZXJuYWxT
ZXR0aW5nczo6QmFja3VwOjpyZXN0b3JlVG8KICNpZiBFTkFCTEUoV0VCR0wyKQogICAgIFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0V2ViR0wyRW5hYmxlZChtX3dl
YkdMMkVuYWJsZWQpOwogI2VuZGlmCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLSAgICBSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFNjcmVlbkNhcHR1cmVFbmFi
bGVkKG1fc2V0U2NyZWVuQ2FwdHVyZUVuYWJsZWQpOwotI2VuZGlmCiAgICAgUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRGZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQo
bV9mZXRjaEFQSUtlZXBBbGl2ZUFQSUVuYWJsZWQpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0Q3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVkKG1fY3Vz
dG9tUGFzdGVib2FyZERhdGFFbmFibGVkKTsKIApAQCAtODE0LDE1ICs4MDgsNiBAQCB2b2lkIElu
dGVybmFsU2V0dGluZ3M6OnNldFdlYkdQVUVuYWJsZWQoCiAjZW5kaWYKIH0KIAotdm9pZCBJbnRl
cm5hbFNldHRpbmdzOjpzZXRTY3JlZW5DYXB0dXJlRW5hYmxlZChib29sIGVuYWJsZWQpCi17Ci0j
aWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFy
ZWRGZWF0dXJlcygpLnNldFNjcmVlbkNhcHR1cmVFbmFibGVkKGVuYWJsZWQpOwotI2Vsc2UKLSAg
ICBVTlVTRURfUEFSQU0oZW5hYmxlZCk7Ci0jZW5kaWYKLX0KLQogdm9pZCBJbnRlcm5hbFNldHRp
bmdzOjpzZXRGZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQoYm9vbCBlbmFibGVkKQogewogICAgIFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0RmV0Y2hBUElLZWVwQWxp
dmVFbmFibGVkKGVuYWJsZWQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bFNldHRpbmdzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bFNldHRpbmdzLmgJKHJldmlzaW9uIDI2NjM1OCkKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxTZXR0aW5ncy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMzIsNyArMTMyLDYgQEAgcHVi
bGljOgogICAgIHN0YXRpYyB2b2lkIHNldFdlYkdMMkVuYWJsZWQoYm9vbCk7CiAgICAgc3RhdGlj
IHZvaWQgc2V0V2ViR1BVRW5hYmxlZChib29sKTsKICAgICBzdGF0aWMgdm9pZCBzZXRQaWN0dXJl
SW5QaWN0dXJlQVBJRW5hYmxlZChib29sKTsKLSAgICBzdGF0aWMgdm9pZCBzZXRTY3JlZW5DYXB0
dXJlRW5hYmxlZChib29sKTsKICAgICBzdGF0aWMgdm9pZCBzZXRGZXRjaEFQSUtlZXBBbGl2ZUVu
YWJsZWQoYm9vbCk7CiAKICAgICBzdGF0aWMgYm9vbCB3ZWJBbmltYXRpb25zQ1NTSW50ZWdyYXRp
b25FbmFibGVkKCk7CkBAIC0yMjQsNyArMjIzLDYgQEAgcHJpdmF0ZToKICAgICAgICAgLy8gUnVu
dGltZSBlbmFibGVkIHNldHRpbmdzLgogICAgICAgICBib29sIG1faW5kZXhlZERCV29ya2Vyc0Vu
YWJsZWQ7CiAgICAgICAgIGJvb2wgbV93ZWJHTDJFbmFibGVkOwotICAgICAgICBib29sIG1fc2V0
U2NyZWVuQ2FwdHVyZUVuYWJsZWQ7CiAgICAgICAgIGJvb2wgbV9mZXRjaEFQSUtlZXBBbGl2ZUFQ
SUVuYWJsZWQ7CiAgICAgICAgIAogICAgICAgICBib29sIG1fc2hvdWxkTW9ja0JvbGRTeXN0ZW1G
b250Rm9yQWNjZXNzaWJpbGl0eTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxTZXR0aW5ncy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbFNldHRpbmdzLmlkbAkocmV2aXNpb24gMjY2MzU4KQorKysgU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbAkod29ya2luZyBjb3B5KQpAQCAtOTYsNyArOTYsNiBA
QCBlbnVtIEZvbnRMb2FkVGltaW5nT3ZlcnJpZGUgeyAiQmxvY2siLCAiCiAgICAgdW5kZWZpbmVk
IHNldEluZGV4ZWREQldvcmtlcnNFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CiAgICAgdW5kZWZp
bmVkIHNldFdlYkdMMkVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKICAgICB1bmRlZmluZWQgc2V0
V2ViR1BVRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwotICAgIHVuZGVmaW5lZCBzZXRTY3JlZW5D
YXB0dXJlRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwogICAgIHVuZGVmaW5lZCBzZXRGZXRjaEFQ
SUtlZXBBbGl2ZUVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKIAogICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gRE9NU3RyaW5nIHVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koKTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJKHJldmlzaW9uIDI2NjM1OCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTc4LDcg
KzU3OCw3IEBAIHZvaWQgSW50ZXJuYWxzOjpyZXNldFRvQ29uc2lzdGVudFN0YXRlKFAKICAgICBN
ZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpkaXNhYmxlTW9jaygpOwogCiAjaWYgRU5B
QkxFKE1FRElBX1NUUkVBTSkKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0
dXJlcygpLnNldEludGVycnVwdEF1ZGlvT25QYWdlVmlzaWJpbGl0eUNoYW5nZUVuYWJsZWQoZmFs
c2UpOworICAgIHBhZ2Uuc2V0dGluZ3MoKS5zZXRJbnRlcnJ1cHRBdWRpb09uUGFnZVZpc2liaWxp
dHlDaGFuZ2VFbmFibGVkKGZhbHNlKTsKICAgICBXZWJDb3JlOjpNZWRpYVJlY29yZGVyOjpzZXRD
dXN0b21Qcml2YXRlUmVjb3JkZXJDcmVhdG9yKG51bGxwdHIpOwogI2VuZGlmCiAKQEAgLTE2ODEs
NyArMTY4MSw5IEBAIHZvaWQgSW50ZXJuYWxzOjpzZXRVc2VHUFVQcm9jZXNzRm9yV2ViUlQKICNp
ZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogdm9pZCBJbnRlcm5hbHM6OnNldFNob3VsZEludGVycnVw
dEF1ZGlvT25QYWdlVmlzaWJpbGl0eUNoYW5nZShib29sIHNob3VsZEludGVycnVwdCkKIHsKLSAg
ICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEludGVycnVwdEF1
ZGlvT25QYWdlVmlzaWJpbGl0eUNoYW5nZUVuYWJsZWQoc2hvdWxkSW50ZXJydXB0KTsKKyAgICBE
b2N1bWVudCogZG9jdW1lbnQgPSBjb250ZXh0RG9jdW1lbnQoKTsKKyAgICBpZiAoYXV0byogcGFn
ZSA9IGRvY3VtZW50LT5wYWdlKCkpCisgICAgICAgIHBhZ2UtPnNldHRpbmdzKCkuc2V0SW50ZXJy
dXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5Q2hhbmdlRW5hYmxlZChzaG91bGRJbnRlcnJ1cHQpOwog
fQogCiB2b2lkIEludGVybmFsczo6c2V0TWVkaWFDYXB0dXJlUmVxdWlyZXNTZWN1cmVDb25uZWN0
aW9uKGJvb2wgZW5hYmxlZCkKQEAgLTU4MTQsNyArNTgxNiw3IEBAIEludGVybmFsczo6VGV4dElu
ZGljYXRvckluZm8gSW50ZXJuYWxzOjoKIAogdm9pZCBJbnRlcm5hbHM6OmFkZFByZWZldGNoTG9h
ZEV2ZW50TGlzdGVuZXIoSFRNTExpbmtFbGVtZW50JiBsaW5rLCBSZWZQdHI8RXZlbnRMaXN0ZW5l
cj4mJiBsaXN0ZW5lcikKIHsKLSAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS5saW5rUHJlZmV0Y2hFbmFibGVkKCkgJiYgZXF1YWxMZXR0ZXJzSWdub3JpbmdB
U0NJSUNhc2UobGluay5yZWwoKSwgInByZWZldGNoIikpIHsKKyAgICBpZiAobGluay5kb2N1bWVu
dCgpLnNldHRpbmdzKCkubGlua1ByZWZldGNoRW5hYmxlZCgpICYmIGVxdWFsTGV0dGVyc0lnbm9y
aW5nQVNDSUlDYXNlKGxpbmsucmVsKCksICJwcmVmZXRjaCIpKSB7CiAgICAgICAgIGxpbmsuYWxs
b3dQcmVmZXRjaExvYWRBbmRFcnJvckZvclRlc3RpbmcoKTsKICAgICAgICAgbGluay5hZGRFdmVu
dExpc3RlbmVyKGV2ZW50TmFtZXMoKS5sb2FkRXZlbnQsIGxpc3RlbmVyLnJlbGVhc2VOb25OdWxs
KCksIGZhbHNlKTsKICAgICB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNpb24gMjY2MzU4KQorKysgU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyOCBAQAorMjAy
MC0wOC0zMSAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgTWFueSBz
ZXR0aW5ncyBpbiBSdW50aW1lRW5hYmxlZFNldHRpbmdzIHNob3VsZCBhdXRvZ2VuZXJhdGVkIFNl
dHRpbmdzOiBQYXJ0IDEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNTk4MQorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAg
ICAgIFRoaXMgbW92ZXMgYW4gaW5pdGlhbCBjaHVuayBvZiBSdW50aW1lRW5hYmxlZFNldHRpbmdz
IHNldHRpbmdzIHRvIFNldHRpbmdzLnlhbWwsIGZvY3VzaW5nCisgICAgICAgIG9uIHNldHRpbmdz
IHRoYXQgZG9uJ3QgcmVxdWlyZSBzdWJzdGFudGlhbCByZWZhY3RvcmluZyBvciBuZXcgZmVhdHVy
ZXMgdG8gd29yayBpbiBTZXR0aW5ncy55YW1sLgorICAgICAgICAKKyAgICAgICAgSW4gV2ViS2l0
LCB0aGlzIG1lYW5zIG1vc3RseSByZW1vdmluZyBub3cgdW5uZWNlc3NhcnkgdXNlIG9mIHRoZSB3
ZWJjb3JlQmluZGluZyBrZXkgaW4gCisgICAgICAgIFdlYlByZWZlcmVuY2VzLnlhbWwgYW5kIHJl
bW92aW5nIG5vdyBzdXBlcmZsdW91cyBjYXNlcyBpbiBJbmplY3RlZEJ1bmRsZTo6b3ZlcnJpZGVC
b29sUHJlZmVyZW5jZUZvclRlc3RSdW5uZXIuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVy
ZW5jZXMueWFtbDoKKyAgICAgICAgUmVtb3Zpbmcgbm93IHVubmVjZXNzYXJ5IHVzZSBvZiB0aGUg
d2ViY29yZUJpbmRpbmcga2V5IGFuZCBmaXggaW5kZW50YXRpb24gb2YgYSBmZXcgY2FzZXMuCisK
KyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGU6Om92ZXJyaWRlQm9vbFByZWZlcmVuY2VG
b3JUZXN0UnVubmVyKToKKyAgICAgICAgUmVtb3ZlIG5vdyBzdXBlcmZsdW91cyBjYXNlcywgYXMg
ZWFjaCBib29sZWFuIFNldHRpbmdzIGJhc2VkIHNldHRpbmcgZ2V0cyBoYW5kbGVkIGF1dG9tYXRp
Y2FsbHkuCisgCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyk6CisgICAgICAgIFJlbW92
ZSBleHBsaWNpdCBzZXR0aW5nIG9mIHNldEludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVk
IG5vdyB0aGF0IHdlIGRvbid0IGhhdmUgdGhlCisgICAgICAgIFJ1bnRpbWVFbmFibGVkU2V0dGlu
Z3MgdmFyaWFudCBiZWluZyBzZXQgYnkgdGhlIGdlbmVyYXRvci4KKwogMjAyMC0wOC0zMSAgSGVj
dG9yIExvcGV6ICA8aGVjdG9yX2lfbG9wZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3
ZWQsIHJldmVydGluZyByMjY2MzUwLgpJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJl
ZmVyZW5jZXMueWFtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVm
ZXJlbmNlcy55YW1sCShyZXZpc2lvbiAyNjYzNTgpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9X
ZWJQcmVmZXJlbmNlcy55YW1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDcgKzEsNiBAQAogQmxhbmtB
bmNob3JUYXJnZXRJbXBsaWVzTm9PcGVuZXJFbmFibGVkOgogICAgdHlwZTogYm9vbAogICAgZGVm
YXVsdFZhbHVlOiB0cnVlCi0gICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJl
cwogICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJCbGFuayBhbmNob3IgdGFyZ2V0IGltcGxpZXMgcmVs
PW5vb3BlbmVyIgogICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAidGFyZ2V0PV9ibGFuayBv
biBhbmNob3IgZWxlbWVudHMgaW1wbGllcyByZWw9bm9vcGVuZXIiCiAgICBjYXRlZ29yeTogZXhw
ZXJpbWVudGFsCkBAIC01NTgsMjQgKzU1NywyMSBAQCBVc2VHaWFudFRpbGVzOgogICBkZWZhdWx0
VmFsdWU6IGZhbHNlCiAKIE1lZGlhUmVjb3JkZXJFbmFibGVkOgotICAgIHR5cGU6IGJvb2wKLSAg
ICBkZWZhdWx0VmFsdWU6IGZhbHNlCi0gICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXMKLSAgICBjb25kaXRpb246IEVOQUJMRShNRURJQV9TVFJFQU0pCi0gICAgaHVtYW5S
ZWFkYWJsZU5hbWU6ICJNZWRpYVJlY29yZGVyIgotICAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlv
bjogIk1lZGlhUmVjb3JkZXIiCi0gICAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAorICB0eXBlOiBi
b29sCisgIGRlZmF1bHRWYWx1ZTogZmFsc2UKKyAgY29uZGl0aW9uOiBFTkFCTEUoTUVESUFfU1RS
RUFNKQorICBodW1hblJlYWRhYmxlTmFtZTogIk1lZGlhUmVjb3JkZXIiCisgIGh1bWFuUmVhZGFi
bGVEZXNjcmlwdGlvbjogIk1lZGlhUmVjb3JkZXIiCisgIGNhdGVnb3J5OiBleHBlcmltZW50YWwK
IAogTWVkaWFEZXZpY2VzRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IGZh
bHNlCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAgIGNvbmRpdGlv
bjogRU5BQkxFKE1FRElBX1NUUkVBTSkKIAogTWVkaWFTdHJlYW1FbmFibGVkOgogICB0eXBlOiBi
b29sCiAgIGRlZmF1bHRWYWx1ZTogdHJ1ZQotICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJs
ZWRGZWF0dXJlcwogICBjb25kaXRpb246IEVOQUJMRShNRURJQV9TVFJFQU0pCiAKIE1lZGlhRW5h
YmxlZDoKQEAgLTU4Nyw3ICs1ODMsNiBAQCBNZWRpYUVuYWJsZWQ6CiBTY3JlZW5DYXB0dXJlRW5h
YmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IHRydWUKLSAgd2ViY29yZUJpbmRp
bmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKICAgY29uZGl0aW9uOiBFTkFCTEUoTUVESUFfU1RS
RUFNKSAmJiBQTEFURk9STShNQUMpCiAgIGh1bWFuUmVhZGFibGVOYW1lOiAiU2NyZWVuQ2FwdHVy
ZSIKICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIFNjcmVlbkNhcHR1cmUiCkBA
IC02MDIsNyArNTk3LDYgQEAgUGVlckNvbm5lY3Rpb25FbmFibGVkOgogSW50ZXJydXB0QXVkaW9P
blBhZ2VWaXNpYmlsaXR5Q2hhbmdlRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFs
dWU6IFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNob3VsZEludGVycnVwdEF1
ZGlvT25QYWdlVmlzaWJpbGl0eUNoYW5nZSgpCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5h
YmxlZEZlYXR1cmVzCiAgIGNvbmRpdGlvbjogRU5BQkxFKE1FRElBX1NUUkVBTSkKIAogV2ViUlRD
SDI2NExvd0xhdGVuY3lFbmNvZGVyRW5hYmxlZDoKQEAgLTc5NSw3ICs3ODksNiBAQCBGZXRjaEFQ
SUVuYWJsZWQ6CiBEb3dubG9hZEF0dHJpYnV0ZUVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVm
YXVsdFZhbHVlOiB0cnVlCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVz
CiAgIGNvbmRpdGlvbjogRU5BQkxFKERPV05MT0FEX0FUVFJJQlVURSkKIAogU2VsZWN0aW9uUGFp
bnRpbmdXaXRob3V0U2VsZWN0aW9uR2Fwc0VuYWJsZWQ6CkBAIC04MzEsNyArODI0LDYgQEAgQW5p
bWF0ZWRJbWFnZUFzeW5jRGVjb2RpbmdFbmFibGVkOgogQ3VzdG9tRWxlbWVudHNFbmFibGVkOgog
ICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogdHJ1ZQotICB3ZWJjb3JlQmluZGluZzogUnVu
dGltZUVuYWJsZWRGZWF0dXJlcwogCiBNZW51SXRlbUVsZW1lbnRFbmFibGVkOgogICB0eXBlOiBi
b29sCkBAIC04NDEsMTQgKzgzMywxMiBAQCBNZW51SXRlbUVsZW1lbnRFbmFibGVkOgogTWVkaWFQ
cmVsb2FkaW5nRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IGZhbHNlCi0g
IHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAKIEludGVyYWN0aXZlRm9y
bVZhbGlkYXRpb25FbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogdHJ1ZQog
ICBodW1hblJlYWRhYmxlTmFtZTogIkhUTUwgSW50ZXJhY3RpdmUgRm9ybSBWYWxpZGF0aW9uIgog
ICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJIVE1MIGludGVyYWN0aXZlIGZvcm0gdmFsaWRh
dGlvbiIKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKIAogU2hvdWxk
U3VwcHJlc3NUZXh0SW5wdXRGcm9tRWRpdGluZ0R1cmluZ1Byb3Zpc2lvbmFsTmF2aWdhdGlvbjoK
ICAgdHlwZTogYm9vbApAQCAtODU5LDMwICs4NDksMjcgQEAgR2FtZXBhZHNFbmFibGVkOgogICBk
ZWZhdWx0VmFsdWU6IHRydWUKICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJHYW1lcGFkcyIKICAgaHVt
YW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiV2ViIEdhbWVwYWQgQVBJIHN1cHBvcnQiCi0gIHdlYmNv
cmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAgIGNvbmRpdGlvbjogRU5BQkxFKEdB
TUVQQUQpCiAKIEhpZ2hsaWdodEFQSUVuYWJsZWQ6Ci0gICAgdHlwZTogYm9vbAotICAgIGRlZmF1
bHRWYWx1ZTogZmFsc2UKLSAgICBodW1hblJlYWRhYmxlTmFtZTogIkhpZ2hsaWdodCBBUEkiCi0g
ICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiSGlnaGxpZ2h0IEFQSSBzdXBwb3J0IgotICAg
IHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCi0gICAgY2F0ZWdvcnk6IGV4
cGVyaW1lbnRhbAorICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTogZmFsc2UKKyAgaHVtYW5S
ZWFkYWJsZU5hbWU6ICJIaWdobGlnaHQgQVBJIgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246
ICJIaWdobGlnaHQgQVBJIHN1cHBvcnQiCisgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzCisgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKIAogSW5wdXRFdmVudHNFbmFibGVk
OgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogdHJ1ZQogICBodW1hblJlYWRhYmxlTmFt
ZTogIklucHV0IEV2ZW50cyIKICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIElu
cHV0RXZlbnRzIHN1cHBvcnQiCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzCiAKIFdlYkF1dGhlbnRpY2F0aW9uRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0
VmFsdWU6IGZhbHNlCiAgIGh1bWFuUmVhZGFibGVOYW1lOiAiV2ViIEF1dGhlbnRpY2F0aW9uIgog
ICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgV2ViIEF1dGhlbnRpY2F0aW9uIHN1
cHBvcnQiCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAgIGNhdGVn
b3J5OiBleHBlcmltZW50YWwKICAgY29uZGl0aW9uOiBFTkFCTEUoV0VCX0FVVEhOKQogCkBAIC04
OTEsNyArODc4LDYgQEAgV2ViQXV0aGVudGljYXRpb25Mb2NhbEF1dGhlbnRpY2F0b3JFbmFibAog
ICBkZWZhdWx0VmFsdWU6IGZhbHNlCiAgIGh1bWFuUmVhZGFibGVOYW1lOiAiV2ViIEF1dGhlbnRp
Y2F0aW9uIExvY2FsIEF1dGhlbnRpY2F0b3IiCiAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjog
IkVuYWJsZSBXZWIgQXV0aGVudGljYXRpb24gbG9jYWwgYXV0aGVudGljYXRvciBzdXBwb3J0Igot
ICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogICBjYXRlZ29yeTogZXhw
ZXJpbWVudGFsCiAgIGNvbmRpdGlvbjogRU5BQkxFKFdFQl9BVVRITikKIApAQCAtOTM1LDcgKzky
MSw2IEBAIExlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZDoKICAgZGVmYXVsdFZhbHVlOiB0
cnVlCiAgIGh1bWFuUmVhZGFibGVOYW1lOiAiRW5hYmxlIExlZ2FjeSBFTUUgQVBJIgogICBodW1h
blJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgbGVnYWN5IEVNRSBBUEkiCi0gIHdlYmNvcmVC
aW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAgIGNvbmRpdGlvbjogRU5BQkxFKExFR0FD
WV9FTkNSWVBURURfTUVESUEpCiAKIEFsbG93TWVkaWFDb250ZW50VHlwZXNSZXF1aXJpbmdIYXJk
d2FyZVN1cHBvcnRBc0ZhbGxiYWNrOgpAQCAtOTYzLDcgKzk0OCw2IEBAIERhdGFUcmFuc2Zlckl0
ZW1zRW5hYmxlZDoKICAgZGVmYXVsdFZhbHVlOiBERUZBVUxUX0RBVEFfVFJBTlNGRVJfSVRFTVNf
RU5BQkxFRAogICBodW1hblJlYWRhYmxlTmFtZTogIkRhdGEgVHJhbnNmZXIgSXRlbXMiCiAgIGh1
bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZXMgRGF0YVRyYW5zZmVySXRlbSBpbiB0aGUg
Y2xpcGJvYXJkIEFQSSIKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMK
IAogQ3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVkOgogICB0eXBlOiBib29sCkBAIC05ODQsNyAr
OTY4LDYgQEAgV2ViU2hhcmVFbmFibGVkOgogICBkZWZhdWx0VmFsdWU6IERFRkFVTFRfV0VCX1NI
QVJFX0VOQUJMRUQKICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJXZWIgU2hhcmUiCiAgIGh1bWFuUmVh
ZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBzdXBwb3J0IGZvciBzaGFyZSBzaGVldCB2aWEgV2Vi
IFNoYXJlIEFQSSIKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKIAog
Vmlld3BvcnRGaXRFbmFibGVkOgogICB0eXBlOiBib29sCkBAIC0xMjQ3LDcgKzEyMzAsNiBAQCBN
ZWRpYUNhcGFiaWxpdGllc0VuYWJsZWQ6CiBTeXN0ZW1QcmV2aWV3RW5hYmxlZDoKICAgdHlwZTog
Ym9vbAogICBkZWZhdWx0VmFsdWU6IGZhbHNlCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5h
YmxlZEZlYXR1cmVzCiAgIGNvbmRpdGlvbjogVVNFKFNZU1RFTV9QUkVWSUVXKQogCiBDYWNoZUFQ
SUVuYWJsZWQ6CkBAIC0xMjcxLDcgKzEyNTMsNiBAQCBDcm9zc09yaWdpblJlc291cmNlUG9saWN5
RW5hYmxlZDoKIERpc2FibGVkQWRhcHRhdGlvbnNNZXRhVGFnRW5hYmxlZDoKICAgdHlwZTogYm9v
bAogICBkZWZhdWx0VmFsdWU6IERJU0FCTEVEX0FEQVBUQVRJT05TX01FVEFfVEFHX0VOQUJMRUQK
LSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKIAogQ29sb3JGaWx0ZXJF
bmFibGVkOgogICB0eXBlOiBib29sCkBAIC0xMjk5LDcgKzEyODAsNiBAQCBTdG9yYWdlQWNjZXNz
QVBJRW5hYmxlZDoKIExpbmtQcmVsb2FkRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0
VmFsdWU6IHRydWUKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKIAog
SXNTZWN1cmVDb250ZXh0QXR0cmlidXRlRW5hYmxlZDoKICAgdHlwZTogYm9vbApAQCAtMTMyMiw3
ICsxMzAyLDYgQEAgS2V5Z2VuRWxlbWVudEVuYWJsZWQ6CiBFbmNyeXB0ZWRNZWRpYUFQSUVuYWJs
ZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiB0cnVlCi0gIHdlYmNvcmVCaW5kaW5n
OiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAgIGNvbmRpdGlvbjogRU5BQkxFKEVOQ1JZUFRFRF9N
RURJQSkKIAogVmlkZW9RdWFsaXR5SW5jbHVkZXNEaXNwbGF5Q29tcG9zaXRpbmdFbmFibGVkOgpA
QCAtMTM0Myw3ICsxMzIyLDYgQEAgSXNJbkFwcEJyb3dzZXJQcml2YWN5RW5hYmxlZDoKICAgICBk
ZWZhdWx0VmFsdWU6IGRlZmF1bHRJbkFwcEJyb3dzZXJQcml2YWN5KCkKICAgICBodW1hblJlYWRh
YmxlTmFtZTogIkluLUFwcCBCcm93c2VyIFByaXZhY3kiCiAgICAgaHVtYW5SZWFkYWJsZURlc2Ny
aXB0aW9uOiAiRW5hYmxlIEluLUFwcCBCcm93c2VyIFByaXZhY3kiCi0gICAgd2ViY29yZUJpbmRp
bmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKICAgICBjYXRlZ29yeTogZGVidWcKIAogTmVlZHNJ
bkFwcEJyb3dzZXJQcml2YWN5UXVpcmtzOgpAQCAtMTM1MSw3ICsxMzI5LDYgQEAgTmVlZHNJbkFw
cEJyb3dzZXJQcml2YWN5UXVpcmtzOgogICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UKICAgICBodW1h
blJlYWRhYmxlTmFtZTogIk5lZWRzIEluLUFwcCBCcm93c2VyIFByaXZhY3kgUXVpcmtzIgogICAg
IGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBxdWlya3MgbmVlZGVkIHRvIHN1cHBv
cnQgSW4tQXBwIEJyb3dzZXIgcHJpdmFjeSIKLSAgICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVu
YWJsZWRGZWF0dXJlcwogICAgIGNhdGVnb3J5OiBkZWJ1ZwogCiBTZXJ2aWNlV29ya2VyRW50aXRs
ZW1lbnREaXNhYmxlZEZvclRlc3Rpbmc6CkBAIC0xNDA2LDcgKzEzODMsNiBAQCBJbnRlcnNlY3Rp
b25PYnNlcnZlckVuYWJsZWQ6CiAgIGRlZmF1bHRWYWx1ZTogdHJ1ZQogICBodW1hblJlYWRhYmxl
TmFtZTogIkludGVyc2VjdGlvbiBPYnNlcnZlciIKICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9u
OiAiRW5hYmxlIEludGVyc2VjdGlvbiBPYnNlcnZlciBzdXBwb3J0IgotICB3ZWJjb3JlQmluZGlu
ZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCiAgIGNv
bmRpdGlvbjogRU5BQkxFKElOVEVSU0VDVElPTl9PQlNFUlZFUikKIApAQCAtMTUyNiw3ICsxNTAy
LDYgQEAgQ1NTQ3VzdG9tUHJvcGVydGllc0FuZFZhbHVlc0VuYWJsZWQ6CiAgIGRlZmF1bHRWYWx1
ZTogZmFsc2UKICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJDU1MgQ3VzdG9tIFByb3BlcnRpZXMgYW5k
IFZhbHVlcyBBUEkiCiAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBDU1MgQ3Vz
dG9tIFByb3BlcnRpZXMgYW5kIFZhbHVlcyBBUEkiCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzCiAgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKIAogQ1NTUGFpbnRpbmdB
UElFbmFibGVkOgpAQCAtMTU4NiwyMCArMTU2MSwxOSBAQCBSZXNpemVPYnNlcnZlckVuYWJsZWQ6
CiAgIGNvbmRpdGlvbjogRU5BQkxFKFJFU0laRV9PQlNFUlZFUikKIAogQWRDbGlja0F0dHJpYnV0
aW9uRW5hYmxlZDoKLSAgICB0eXBlOiBib29sCi0gICAgZGVmYXVsdFZhbHVlOiBmYWxzZQotICAg
IGh1bWFuUmVhZGFibGVOYW1lOiAiQWQgQ2xpY2sgQXR0cmlidXRpb24iCi0gICAgaHVtYW5SZWFk
YWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIEFkIENsaWNrIEF0dHJpYnV0aW9uIGZvciBDcm9zcy1T
aXRlIExpbmsgTmF2aWdhdGlvbnMiCi0gICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXMKLSAgICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCisgIHR5cGU6IGJvb2wKKyAgZGVm
YXVsdFZhbHVlOiBmYWxzZQorICBodW1hblJlYWRhYmxlTmFtZTogIkFkIENsaWNrIEF0dHJpYnV0
aW9uIgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgQWQgQ2xpY2sgQXR0cmli
dXRpb24gZm9yIENyb3NzLVNpdGUgTGluayBOYXZpZ2F0aW9ucyIKKyAgY2F0ZWdvcnk6IGV4cGVy
aW1lbnRhbAogCiBBZENsaWNrQXR0cmlidXRpb25EZWJ1Z01vZGVFbmFibGVkOgotICAgIHR5cGU6
IGJvb2wKLSAgICBkZWZhdWx0VmFsdWU6IGZhbHNlCi0gICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJB
ZCBDbGljayBBdHRyaWJ1dGlvbiBEZWJ1ZyBNb2RlIgotICAgIGh1bWFuUmVhZGFibGVEZXNjcmlw
dGlvbjogIkVuYWJsZSBBZCBDbGljayBBdHRyaWJ1dGlvbiBEZWJ1ZyBNb2RlIgotICAgIHdlYmNv
cmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCi0gICAgY2F0ZWdvcnk6IGV4cGVyaW1l
bnRhbAorICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTogZmFsc2UKKyAgaHVtYW5SZWFkYWJs
ZU5hbWU6ICJBZCBDbGljayBBdHRyaWJ1dGlvbiBEZWJ1ZyBNb2RlIgorICBodW1hblJlYWRhYmxl
RGVzY3JpcHRpb246ICJFbmFibGUgQWQgQ2xpY2sgQXR0cmlidXRpb24gRGVidWcgTW9kZSIKKyAg
d2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKKyAgY2F0ZWdvcnk6IGV4cGVy
aW1lbnRhbAogCiBGZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKQEAgLTE5
MjIsNyArMTg5Niw2IEBAIFVuZG9NYW5hZ2VyQVBJRW5hYmxlZDoKICAgaHVtYW5SZWFkYWJsZU5h
bWU6ICJVbmRvTWFuYWdlciBET00gQVBJIgogICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJF
bmFibGUgdGhlIFVuZG9NYW5hZ2VyIERPTSBBUEkiCiAgIGNhdGVnb3J5OiBpbnRlcm5hbAotICB3
ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogCiBDU1NMb2dpY2FsRW5hYmxl
ZDoKICAgdHlwZTogYm9vbApAQCAtMTk4NSw3ICsxOTU4LDYgQEAgUmVmZXJyZXJQb2xpY3lBdHRy
aWJ1dGVFbmFibGVkOgogICBodW1hblJlYWRhYmxlTmFtZTogIlJlZmVycmVyIFBvbGljeSBhdHRy
aWJ1dGUiCiAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBSZWZlcnJlciBQb2xp
Y3kgYXR0cmlidXRlIgogICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCi0gIHdlYmNvcmVCaW5kaW5n
OiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAKIFBhZ2VBdFJ1bGVTdXBwb3J0RW5hYmxlZDoKICAg
dHlwZTogYm9vbApAQCAtMjAxNSw3ICsxOTg3LDYgQEAgTGlua1ByZWZldGNoRW5hYmxlZDoKICAg
ZGVmYXVsdFZhbHVlOiBmYWxzZQogICBodW1hblJlYWRhYmxlTmFtZTogIkxpbmtQcmVmZXRjaCIK
ICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIExpbmtlZFByZWZldGNoIgotICB3
ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogICBjYXRlZ29yeTogZXhwZXJp
bWVudGFsCiAKIExpbmtQcmVsb2FkUmVzcG9uc2l2ZUltYWdlc0VuYWJsZWQ6CkBAIC0yMDIzLDcg
KzE5OTQsNiBAQCBMaW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVkOgogICBkZWZhdWx0
VmFsdWU6IGZhbHNlCiAgIGh1bWFuUmVhZGFibGVOYW1lOiAiTGluayBwcmVsb2FkIHJlc3BvbnNp
dmUgaW1hZ2VzIgogICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgbGluayBwcmVs
b2FkIHJlc3BvbnNpdmUgaW1hZ2VzIgotICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRG
ZWF0dXJlcwogICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCiAKIElzTlNVUkxTZXNzaW9uV2ViU29j
a2V0RW5hYmxlZDoKQEAgLTIwNDAsNyArMjAxMCw2IEBAIExhenlJbWFnZUxvYWRpbmdFbmFibGVk
OgogICBkZWZhdWx0VmFsdWU6IGZhbHNlCiAgIGh1bWFuUmVhZGFibGVOYW1lOiAiTGF6eSBJbWFn
ZSBMb2FkaW5nIgogICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgTGF6eSBJbWFn
ZSBMb2FkaW5nIHN1cHBvcnQiCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzCiAgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKIAogSXNUaGlyZFBhcnR5Q29va2llQmxvY2tp
bmdEaXNhYmxlZDoKQEAgLTIxMjksNyArMjA5OCw2IEBAIFdlYlNoYXJlRmlsZUFQSUVuYWJsZWQ6
CiAgICAgZGVmYXVsdFZhbHVlOiBmYWxzZQogICAgIGh1bWFuUmVhZGFibGVOYW1lOiAiV2ViIFNo
YXJlIEFQSSBMZXZlbCAyIgogICAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBs
ZXZlbCAyIG9mIFdlYiBTaGFyZSBBUEkiCi0gICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXMKICAgICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCiAKIEluY3JlbWVudGFsUERG
TG9hZGluZ0VuYWJsZWQ6CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAJKHJldmlzaW9uIDI2NjM1
OCkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1
bmRsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwMyw5ICsyMDMsNiBAQCB2b2lkIEluamVjdGVk
QnVuZGxlOjpvdmVycmlkZUJvb2xQcmVmZXJlCiAgICAgaWYgKHByZWZlcmVuY2UgPT0gIldlYktp
dFRyYW5zZm9ybVN0cmVhbUFQSUVuYWJsZWQiKQogICAgICAgICBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFRyYW5zZm9ybVN0cmVhbUFQSUVuYWJsZWQoZW5hYmxl
ZCk7CiAKLSAgICBpZiAocHJlZmVyZW5jZSA9PSAiV2ViS2l0SW50ZXJhY3RpdmVGb3JtVmFsaWRh
dGlvbkVuYWJsZWQiKQotICAgICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0
dXJlcygpLnNldEludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkKGVuYWJsZWQpOwotCiAj
aWYgRU5BQkxFKFdFQkdMMikKICAgICBpZiAocHJlZmVyZW5jZSA9PSAiV2ViS2l0V2ViR0wyRW5h
YmxlZCIpCiAgICAgICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCku
c2V0V2ViR0wyRW5hYmxlZChlbmFibGVkKTsKQEAgLTIxOSwyMCArMjE2LDYgQEAgdm9pZCBJbmpl
Y3RlZEJ1bmRsZTo6b3ZlcnJpZGVCb29sUHJlZmVyZQogICAgIGlmIChwcmVmZXJlbmNlID09ICJX
ZWJLaXRNb2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZCIpCiAgICAgICAgIFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQo
ZW5hYmxlZCk7CiAKLSNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQotICAgIGlmIChwcmVmZXJl
bmNlID09ICJXZWJLaXRFbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQiKSB7Ci0gICAgICAgIFdlYlBy
ZWZlcmVuY2VzU3RvcmU6Om92ZXJyaWRlQm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5
OjplbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWRLZXkoKSwgZW5hYmxlZCk7Ci0gICAgICAgIFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0RW5jcnlwdGVkTWVkaWFBUElF
bmFibGVkKGVuYWJsZWQpOwotICAgIH0KLSNlbmRpZgotCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVB
TSkKLSAgICBpZiAocHJlZmVyZW5jZSA9PSAiV2ViS2l0TWVkaWFEZXZpY2VzRW5hYmxlZCIpCi0g
ICAgICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TWVkaWFE
ZXZpY2VzRW5hYmxlZChlbmFibGVkKTsKLSAgICBpZiAocHJlZmVyZW5jZSA9PSAiV2ViS2l0U2Ny
ZWVuQ2FwdHVyZUVuYWJsZWQiKQotICAgICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFy
ZWRGZWF0dXJlcygpLnNldFNjcmVlbkNhcHR1cmVFbmFibGVkKGVuYWJsZWQpOwotI2VuZGlmCi0K
ICNpZiBFTkFCTEUoV0VCX1JUQykKICAgICBpZiAocHJlZmVyZW5jZSA9PSAiV2ViS2l0V2ViUlRD
TUROU0lDRUNhbmRpZGF0ZXNFbmFibGVkIikKICAgICAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2hhcmVkRmVhdHVyZXMoKS5zZXRXZWJSVENNRE5TSUNFQ2FuZGlkYXRlc0VuYWJsZWQoZW5h
YmxlZCk7CkBAIC0yNjIsOSArMjQ1LDYgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6b3ZlcnJpZGVC
b29sUHJlZmVyZQogICAgIGlmIChwcmVmZXJlbmNlID09ICJXZWJLaXRXZWJBUElTdGF0aXN0aWNz
RW5hYmxlZCIpCiAgICAgICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVz
KCkuc2V0V2ViQVBJU3RhdGlzdGljc0VuYWJsZWQoZW5hYmxlZCk7CiAKLSAgICBpZiAocHJlZmVy
ZW5jZSA9PSAiQ1NTQ3VzdG9tUHJvcGVydGllc0FuZFZhbHVlc0VuYWJsZWQiKQotICAgICAgICBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldENTU0N1c3RvbVByb3Bl
cnRpZXNBbmRWYWx1ZXNFbmFibGVkKGVuYWJsZWQpOwotCiAjaWYgRU5BQkxFKExBWU9VVF9GT1JN
QVRUSU5HX0NPTlRFWFQpCiAgICAgaWYgKHByZWZlcmVuY2UgPT0gIkxheW91dEZvcm1hdHRpbmdD
b250ZXh0RW5hYmxlZCIpCiAgICAgICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZl
YXR1cmVzKCkuc2V0TGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRFbmFibGVkKGVuYWJsZWQpOwpJbmRl
eDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHJldmlz
aW9uIDI2NjM1OCkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNzI2LDkgKzM3MjYsNiBAQCB2b2lkIFdlYlBhZ2U6OnVw
ZGF0ZVByZWZlcmVuY2VzKGNvbnN0IFdlCiAgICAgc2V0dGluZ3Muc2V0UGF5bWVudFJlcXVlc3RF
bmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6YXBwbGVQ
YXlFbmFibGVkS2V5KCkpKTsKICNlbmRpZgogCi0gICAgLy8gRklYTUU6IFRoaXMgaXMgYm90aCBh
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMgKGdlbmVyYXRlZCkgYW5kIGEgc2V0dGluZy4gSXQgc2hv
dWxkIHBpY2sgb25lLgotICAgIHNldHRpbmdzLnNldEludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25F
bmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6aW50ZXJh
Y3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWRLZXkoKSkpOwotCiAjaWYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkKICAgICBzZXRGb3JjZUFsd2F5c1VzZXJTY2FsYWJsZShtX2ZvcmNlQWx3YXlzVXNlclNj
YWxhYmxlIHx8IHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6Zm9y
Y2VBbHdheXNVc2VyU2NhbGFibGVLZXkoKSkpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyNjYzNTgpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAyMC0wOC0zMSAgU2FtIFdl
aW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgTWFueSBzZXR0aW5ncyBpbiBSdW50
aW1lRW5hYmxlZFNldHRpbmdzIHNob3VsZCBhdXRvZ2VuZXJhdGVkIFNldHRpbmdzOiBQYXJ0IDEK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTk4MQor
CisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIFRoaXMgbW92ZXMg
YW4gaW5pdGlhbCBjaHVuayBvZiBSdW50aW1lRW5hYmxlZFNldHRpbmdzIHNldHRpbmdzIHRvIFNl
dHRpbmdzLnlhbWwsIGZvY3VzaW5nCisgICAgICAgIG9uIHNldHRpbmdzIHRoYXQgZG9uJ3QgcmVx
dWlyZSBzdWJzdGFudGlhbCByZWZhY3RvcmluZyBvciBuZXcgZmVhdHVyZXMgdG8gd29yayBpbiBT
ZXR0aW5ncy55YW1sLgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAo
LVtXZWJWaWV3IF9wcmVmZXJlbmNlc0NoYW5nZWQ6XSk6CisgICAgICAgIFVwZGF0ZSBjaGFuZ2Vk
IHNldHRpbmdzIHRvIHVzZSBTZXR0aW5ncyByYXRoZXIgdGhhbiBSdW50aW1lRW5hYmxlZFNldHRp
bmdzLgorCiAyMDIwLTA4LTMwICBUaW1vdGh5IEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxl
LmNvbT4KIAogICAgICAgICBSZW1vdmUgYW4gdW51c2VkIGFkZGl0aW9uIHBvaW50CkluZGV4OiBT
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCShyZXZpc2lvbiAyNjYz
NTgpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHdvcmtp
bmcgY29weSkKQEAgLTMyODUsOSArMzI4NSw5IEBAIC0gKHZvaWQpX3ByZWZlcmVuY2VzQ2hhbmdl
ZDooV2ViUHJlZmVyZW4KICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIHNldHRpbmdzLnNl
dE1vY2tDYXB0dXJlRGV2aWNlc0VuYWJsZWQoZmFsc2UpOwogICAgIHNldHRpbmdzLnNldE1lZGlh
Q2FwdHVyZVJlcXVpcmVzU2VjdXJlQ29ubmVjdGlvbih0cnVlKTsKLSAgICBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldE1lZGlhU3RyZWFtRW5hYmxlZChmYWxzZSk7
Ci0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRNZWRpYURl
dmljZXNFbmFibGVkKGZhbHNlKTsKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRG
ZWF0dXJlcygpLnNldE1lZGlhUmVjb3JkZXJFbmFibGVkKHByZWZlcmVuY2VzLm1lZGlhUmVjb3Jk
ZXJFbmFibGVkKTsKKyAgICBzZXR0aW5ncy5zZXRNZWRpYVN0cmVhbUVuYWJsZWQoZmFsc2UpOwor
ICAgIHNldHRpbmdzLnNldE1lZGlhRGV2aWNlc0VuYWJsZWQoZmFsc2UpOworICAgIHNldHRpbmdz
LnNldE1lZGlhUmVjb3JkZXJFbmFibGVkKHByZWZlcmVuY2VzLm1lZGlhUmVjb3JkZXJFbmFibGVk
KTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKFdFQl9SVEMpCkBAIC0zMzA4LDcgKzMzMDgsNyBAQCAt
ICh2b2lkKV9wcmVmZXJlbmNlc0NoYW5nZWQ6KFdlYlByZWZlcmVuCiAKICAgICBSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldExpbmVIZWlnaHRVbml0c0VuYWJsZWQo
W3ByZWZlcmVuY2VzIGxpbmVIZWlnaHRVbml0c0VuYWJsZWRdKTsKIAotICAgIFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0QWRDbGlja0F0dHJpYnV0aW9uRW5hYmxl
ZChbcHJlZmVyZW5jZXMgYWRDbGlja0F0dHJpYnV0aW9uRW5hYmxlZF0pOworICAgIHNldHRpbmdz
LnNldEFkQ2xpY2tBdHRyaWJ1dGlvbkVuYWJsZWQoW3ByZWZlcmVuY2VzIGFkQ2xpY2tBdHRyaWJ1
dGlvbkVuYWJsZWRdKTsKIAogICAgIHNldHRpbmdzLnNldEhpZGRlblBhZ2VET01UaW1lclRocm90
dGxpbmdFbmFibGVkKFtwcmVmZXJlbmNlcyBoaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5h
YmxlZF0pOwogCkBAIC0zMzIwLDIxICszMzIwLDIxIEBAIC0gKHZvaWQpX3ByZWZlcmVuY2VzQ2hh
bmdlZDooV2ViUHJlZmVyZW4KICAgICBzZXR0aW5ncy5zZXRDb25zdGFudFByb3BlcnRpZXNFbmFi
bGVkKFtwcmVmZXJlbmNlcyBjb25zdGFudFByb3BlcnRpZXNFbmFibGVkXSk7CiAKICNpZiBFTkFC
TEUoR0FNRVBBRCkKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygp
LnNldEdhbWVwYWRzRW5hYmxlZChbcHJlZmVyZW5jZXMgZ2FtZXBhZHNFbmFibGVkXSk7CisgICAg
c2V0dGluZ3Muc2V0R2FtZXBhZHNFbmFibGVkKFtwcmVmZXJlbmNlcyBnYW1lcGFkc0VuYWJsZWRd
KTsKICNlbmRpZgogCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMo
KS5zZXRIaWdobGlnaHRBUElFbmFibGVkKFtwcmVmZXJlbmNlcyBoaWdobGlnaHRBUElFbmFibGVk
XSk7CiAKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFNo
YWRvd0RPTUVuYWJsZWQoW3ByZWZlcmVuY2VzIHNoYWRvd0RPTUVuYWJsZWRdKTsKLSAgICBSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEN1c3RvbUVsZW1lbnRzRW5h
YmxlZChbcHJlZmVyZW5jZXMgY3VzdG9tRWxlbWVudHNFbmFibGVkXSk7Ci0gICAgUnVudGltZUVu
YWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXREYXRhVHJhbnNmZXJJdGVtc0VuYWJs
ZWQoW3ByZWZlcmVuY2VzIGRhdGFUcmFuc2Zlckl0ZW1zRW5hYmxlZF0pOworICAgIHNldHRpbmdz
LnNldEN1c3RvbUVsZW1lbnRzRW5hYmxlZChbcHJlZmVyZW5jZXMgY3VzdG9tRWxlbWVudHNFbmFi
bGVkXSk7CisgICAgc2V0dGluZ3Muc2V0RGF0YVRyYW5zZmVySXRlbXNFbmFibGVkKFtwcmVmZXJl
bmNlcyBkYXRhVHJhbnNmZXJJdGVtc0VuYWJsZWRdKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEN1c3RvbVBhc3RlYm9hcmREYXRhRW5hYmxlZChbcHJl
ZmVyZW5jZXMgY3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVkXSk7CiAKICNpZiBFTkFCTEUoQVRU
QUNITUVOVF9FTEVNRU5UKQogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1
cmVzKCkuc2V0QXR0YWNobWVudEVsZW1lbnRFbmFibGVkKFtwcmVmZXJlbmNlcyBhdHRhY2htZW50
RWxlbWVudEVuYWJsZWRdKTsKICNlbmRpZgogCi0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS5zZXRJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZChbc2Vs
ZiBpbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZF0pOworICAgIHNldHRpbmdzLnNldElu
dGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkKFtzZWxmIGludGVyYWN0aXZlRm9ybVZhbGlk
YXRpb25FbmFibGVkXSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVy
ZXMoKS5zZXRNb2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZChbcHJlZmVyZW5jZXMgbW9kZXJuTWVk
aWFDb250cm9sc0VuYWJsZWRdKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRG
ZWF0dXJlcygpLnNldFdlYkFuaW1hdGlvbnNDU1NJbnRlZ3JhdGlvbkVuYWJsZWQoW3ByZWZlcmVu
Y2VzIHdlYkFuaW1hdGlvbnNDU1NJbnRlZ3JhdGlvbkVuYWJsZWRdKTsKIApAQCAtMzM1OCw0NCAr
MzM1OCw0NCBAQCAtICh2b2lkKV9wcmVmZXJlbmNlc0NoYW5nZWQ6KFdlYlByZWZlcmVuCiAjZW5k
aWYKIAogI2lmIEVOQUJMRShET1dOTE9BRF9BVFRSSUJVVEUpCi0gICAgUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXREb3dubG9hZEF0dHJpYnV0ZUVuYWJsZWQoW3By
ZWZlcmVuY2VzIGRvd25sb2FkQXR0cmlidXRlRW5hYmxlZF0pOworICAgIHNldHRpbmdzLnNldERv
d25sb2FkQXR0cmlidXRlRW5hYmxlZChbcHJlZmVyZW5jZXMgZG93bmxvYWRBdHRyaWJ1dGVFbmFi
bGVkXSk7CiAjZW5kaWYKIAogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1
cmVzKCkuc2V0V2ViQW5pbWF0aW9uc0VuYWJsZWQoW3ByZWZlcmVuY2VzIHdlYkFuaW1hdGlvbnNF
bmFibGVkXSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5z
ZXRXZWJBbmltYXRpb25zQ29tcG9zaXRlT3BlcmF0aW9uc0VuYWJsZWQoW3ByZWZlcmVuY2VzIHdl
YkFuaW1hdGlvbnNDb21wb3NpdGVPcGVyYXRpb25zRW5hYmxlZF0pOwogICAgIFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0V2ViQW5pbWF0aW9uc011dGFibGVUaW1l
bGluZXNFbmFibGVkKFtwcmVmZXJlbmNlcyB3ZWJBbmltYXRpb25zTXV0YWJsZVRpbWVsaW5lc0Vu
YWJsZWRdKTsKIAotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCku
c2V0Q1NTQ3VzdG9tUHJvcGVydGllc0FuZFZhbHVlc0VuYWJsZWQoW3ByZWZlcmVuY2VzIENTU0N1
c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVkXSk7CisgICAgc2V0dGluZ3Muc2V0Q1NTQ3Vz
dG9tUHJvcGVydGllc0FuZFZhbHVlc0VuYWJsZWQoW3ByZWZlcmVuY2VzIENTU0N1c3RvbVByb3Bl
cnRpZXNBbmRWYWx1ZXNFbmFibGVkXSk7CiAKICNpZiBFTkFCTEUoSU5URVJTRUNUSU9OX09CU0VS
VkVSKQotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0SW50
ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkKHByZWZlcmVuY2VzLmludGVyc2VjdGlvbk9ic2VydmVy
RW5hYmxlZCk7CisgICAgc2V0dGluZ3Muc2V0SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkKHBy
ZWZlcmVuY2VzLmludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZCk7CiAjZW5kaWYKIAogICAgIFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0VXNlclRpbWluZ0VuYWJs
ZWQocHJlZmVyZW5jZXMudXNlclRpbWluZ0VuYWJsZWQpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKHByZWZlcmVu
Y2VzLnJlc291cmNlVGltaW5nRW5hYmxlZCk7Ci0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS5zZXRMaW5rUHJlbG9hZEVuYWJsZWQocHJlZmVyZW5jZXMubGlua1By
ZWxvYWRFbmFibGVkKTsKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJl
cygpLnNldE1lZGlhUHJlbG9hZGluZ0VuYWJsZWQocHJlZmVyZW5jZXMubWVkaWFQcmVsb2FkaW5n
RW5hYmxlZCk7CisgICAgc2V0dGluZ3Muc2V0TGlua1ByZWxvYWRFbmFibGVkKHByZWZlcmVuY2Vz
LmxpbmtQcmVsb2FkRW5hYmxlZCk7CisgICAgc2V0dGluZ3Muc2V0TWVkaWFQcmVsb2FkaW5nRW5h
YmxlZChwcmVmZXJlbmNlcy5tZWRpYVByZWxvYWRpbmdFbmFibGVkKTsKICAgICBSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldElzU2VjdXJlQ29udGV4dEF0dHJpYnV0
ZUVuYWJsZWQocHJlZmVyZW5jZXMuaXNTZWN1cmVDb250ZXh0QXR0cmlidXRlRW5hYmxlZCk7CiAg
ICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXREaXJlY3RvcnlV
cGxvYWRFbmFibGVkKFtwcmVmZXJlbmNlcyBkaXJlY3RvcnlVcGxvYWRFbmFibGVkXSk7CiAgICAg
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRNZW51SXRlbUVsZW1l
bnRFbmFibGVkKFtwcmVmZXJlbmNlcyBtZW51SXRlbUVsZW1lbnRFbmFibGVkXSk7CiAgICAgUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRBY2Nlc3NpYmlsaXR5T2Jq
ZWN0TW9kZWxFbmFibGVkKFtwcmVmZXJlbmNlcyBhY2Nlc3NpYmlsaXR5T2JqZWN0TW9kZWxFbmFi
bGVkXSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRB
cmlhUmVmbGVjdGlvbkVuYWJsZWQoW3ByZWZlcmVuY2VzIGFyaWFSZWZsZWN0aW9uRW5hYmxlZF0p
OwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0RmV0Y2hB
UElLZWVwQWxpdmVFbmFibGVkKFtwcmVmZXJlbmNlcyBmZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWRd
KTsKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFJlZmVy
cmVyUG9saWN5QXR0cmlidXRlRW5hYmxlZChbcHJlZmVyZW5jZXMgcmVmZXJyZXJQb2xpY3lBdHRy
aWJ1dGVFbmFibGVkXSk7Ci0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVy
ZXMoKS5zZXRMaW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVkKFtwcmVmZXJlbmNlcyBs
aW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFnZXNFbmFibGVkXSk7CisgICAgc2V0dGluZ3Muc2V0UmVm
ZXJyZXJQb2xpY3lBdHRyaWJ1dGVFbmFibGVkKFtwcmVmZXJlbmNlcyByZWZlcnJlclBvbGljeUF0
dHJpYnV0ZUVuYWJsZWRdKTsKKyAgICBzZXR0aW5ncy5zZXRMaW5rUHJlbG9hZFJlc3BvbnNpdmVJ
bWFnZXNFbmFibGVkKFtwcmVmZXJlbmNlcyBsaW5rUHJlbG9hZFJlc3BvbnNpdmVJbWFnZXNFbmFi
bGVkXSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRE
aWFsb2dFbGVtZW50RW5hYmxlZChbcHJlZmVyZW5jZXMgZGlhbG9nRWxlbWVudEVuYWJsZWRdKTsK
ICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEtleWdlbkVs
ZW1lbnRFbmFibGVkKFtwcmVmZXJlbmNlcyBrZXlnZW5FbGVtZW50RW5hYmxlZF0pOwogICAgIFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0Q1NTU2hhZG93UGFydHNF
bmFibGVkKFtwcmVmZXJlbmNlcyBjc3NTaGFkb3dQYXJ0c0VuYWJsZWRdKTsKICAgICBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldExheW91dEZvcm1hdHRpbmdDb250
ZXh0SW50ZWdyYXRpb25FbmFibGVkKFtwcmVmZXJlbmNlcyBsYXlvdXRGb3JtYXR0aW5nQ29udGV4
dEludGVncmF0aW9uRW5hYmxlZF0pOwotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJl
ZEZlYXR1cmVzKCkuc2V0SXNJbkFwcEJyb3dzZXJQcml2YWN5RW5hYmxlZChbcHJlZmVyZW5jZXMg
aXNJbkFwcEJyb3dzZXJQcml2YWN5RW5hYmxlZF0pOworICAgIHNldHRpbmdzLnNldElzSW5BcHBC
cm93c2VyUHJpdmFjeUVuYWJsZWQoW3ByZWZlcmVuY2VzIGlzSW5BcHBCcm93c2VyUHJpdmFjeUVu
YWJsZWRdKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNl
dFdlYlNRTERpc2FibGVkKCFbcHJlZmVyZW5jZXMgd2ViU1FMRW5hYmxlZF0pOwogICAgIAogI2lm
IEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TGVnYWN5RW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKHBy
ZWZlcmVuY2VzLmxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZCk7CisgICAgc2V0dGluZ3Mu
c2V0TGVnYWN5RW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKHByZWZlcmVuY2VzLmxlZ2FjeUVuY3J5
cHRlZE1lZGlhQVBJRW5hYmxlZCk7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShFTkNSWVBURURfTUVE
SUEpCi0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRFbmNy
eXB0ZWRNZWRpYUFQSUVuYWJsZWQocHJlZmVyZW5jZXMuZW5jcnlwdGVkTWVkaWFBUElFbmFibGVk
KTsKKyAgICBzZXR0aW5ncy5zZXRFbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQocHJlZmVyZW5jZXMu
ZW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKTsKICNlbmRpZgogCiAgICAgUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRVc2VyR2VzdHVyZVByb21pc2VQcm9wYWdhdGlv
bkVuYWJsZWQocHJlZmVyZW5jZXMudXNlckdlc3R1cmVQcm9taXNlUHJvcGFnYXRpb25FbmFibGVk
KTsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2NjM1OCkKKysr
IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE3IEBACisyMDIwLTA4LTMxICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKwor
ICAgICAgICBNYW55IHNldHRpbmdzIGluIFJ1bnRpbWVFbmFibGVkU2V0dGluZ3Mgc2hvdWxkIGF1
dG9nZW5lcmF0ZWQgU2V0dGluZ3M6IFBhcnQgMQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1OTgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4g
QWRsZXIuCisKKyAgICAgICAgVGhpcyBtb3ZlcyBhbiBpbml0aWFsIGNodW5rIG9mIFJ1bnRpbWVF
bmFibGVkU2V0dGluZ3Mgc2V0dGluZ3MgdG8gU2V0dGluZ3MueWFtbCwgZm9jdXNpbmcKKyAgICAg
ICAgb24gc2V0dGluZ3MgdGhhdCBkb24ndCByZXF1aXJlIHN1YnN0YW50aWFsIHJlZmFjdG9yaW5n
IG9yIG5ldyBmZWF0dXJlcyB0byB3b3JrIGluIFNldHRpbmdzLnlhbWwuCisKKyAgICAgICAgKiBX
ZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZCk6
CisgICAgICAgIFVwZGF0ZSBjaGFuZ2VkIHNldHRpbmdzIHRvIHVzZSBTZXR0aW5ncyByYXRoZXIg
dGhhbiBSdW50aW1lRW5hYmxlZFNldHRpbmdzLgorCiAyMDIwLTA4LTIwICBEYXJpbiBBZGxlciAg
PGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIG5vZGUgZ2VvbWV0cnkgZnVuY3Rpb25z
IGZyb20gUmFuZ2UgdG8gUmVuZGVyT2JqZWN0CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9XZWJWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJW
aWV3LmNwcAkocmV2aXNpb24gMjY2MzU4KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2Vi
Vmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyNDIsNyArNTI0Miw3IEBAIEhSRVNVTFQgV2Vi
Vmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2UKICAgICBociA9IHByZWZzUHJpdmF0ZS0+Y3Vz
dG9tRWxlbWVudHNFbmFibGVkKCZlbmFibGVkKTsKICAgICBpZiAoRkFJTEVEKGhyKSkKICAgICAg
ICAgcmV0dXJuIGhyOwotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVz
KCkuc2V0Q3VzdG9tRWxlbWVudHNFbmFibGVkKCEhZW5hYmxlZCk7CisgICAgc2V0dGluZ3Muc2V0
Q3VzdG9tRWxlbWVudHNFbmFibGVkKCEhZW5hYmxlZCk7CiAKICAgICBociA9IHByZWZzUHJpdmF0
ZS0+bWVudUl0ZW1FbGVtZW50RW5hYmxlZCgmZW5hYmxlZCk7CiAgICAgaWYgKEZBSUxFRChocikp
CkBAIC01MjgyLDcgKzUyODIsNyBAQCBIUkVTVUxUIFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2Vz
Q2hhbmdlCiAgICAgaHIgPSBwcmVmc1ByaXZhdGUtPkNTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1
ZXNFbmFibGVkKCZlbmFibGVkKTsKICAgICBpZiAoRkFJTEVEKGhyKSkKICAgICAgICAgcmV0dXJu
IGhyOwotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0Q1NT
Q3VzdG9tUHJvcGVydGllc0FuZFZhbHVlc0VuYWJsZWQoISFlbmFibGVkKTsKKyAgICBzZXR0aW5n
cy5zZXRDU1NDdXN0b21Qcm9wZXJ0aWVzQW5kVmFsdWVzRW5hYmxlZCghIWVuYWJsZWQpOwogCiAg
ICAgaHIgPSBwcmVmc1ByaXZhdGUtPnVzZXJUaW1pbmdFbmFibGVkKCZlbmFibGVkKTsKICAgICBp
ZiAoRkFJTEVEKGhyKSkKQEAgLTUyOTcsNyArNTI5Nyw3IEBAIEhSRVNVTFQgV2ViVmlldzo6bm90
aWZ5UHJlZmVyZW5jZXNDaGFuZ2UKICAgICBociA9IHByZWZzUHJpdmF0ZS0+bGlua1ByZWxvYWRF
bmFibGVkKCZlbmFibGVkKTsKICAgICBpZiAoRkFJTEVEKGhyKSkKICAgICAgICAgcmV0dXJuIGhy
OwotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TGlua1By
ZWxvYWRFbmFibGVkKCEhZW5hYmxlZCk7CisgICAgc2V0dGluZ3Muc2V0TGlua1ByZWxvYWRFbmFi
bGVkKCEhZW5hYmxlZCk7CiAKICAgICBociA9IHByZWZzUHJpdmF0ZS0+ZmV0Y2hBUElLZWVwQWxp
dmVFbmFibGVkKCZlbmFibGVkKTsKICAgICBpZiAoRkFJTEVEKGhyKSkKQEAgLTUzMDcsNyArNTMw
Nyw3IEBAIEhSRVNVTFQgV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2UKICAgICBociA9
IHByZWZzUHJpdmF0ZS0+bWVkaWFQcmVsb2FkaW5nRW5hYmxlZCgmZW5hYmxlZCk7CiAgICAgaWYg
KEZBSUxFRChocikpCiAgICAgICAgIHJldHVybiBocjsKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldE1lZGlhUHJlbG9hZGluZ0VuYWJsZWQoISFlbmFibGVk
KTsKKyAgICBzZXR0aW5ncy5zZXRNZWRpYVByZWxvYWRpbmdFbmFibGVkKCEhZW5hYmxlZCk7CiAK
ICAgICBociA9IHByZWZzUHJpdmF0ZS0+aXNTZWN1cmVDb250ZXh0QXR0cmlidXRlRW5hYmxlZCgm
ZW5hYmxlZCk7CiAgICAgaWYgKEZBSUxFRChocikpCkBAIC01MzE3LDcgKzUzMTcsNyBAQCBIUkVT
VUxUIFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlCiAgICAgaHIgPSBwcmVmc1ByaXZh
dGUtPmRhdGFUcmFuc2Zlckl0ZW1zRW5hYmxlZCgmZW5hYmxlZCk7CiAgICAgaWYgKEZBSUxFRCho
cikpCiAgICAgICAgIHJldHVybiBocjsKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFy
ZWRGZWF0dXJlcygpLnNldERhdGFUcmFuc2Zlckl0ZW1zRW5hYmxlZCghIWVuYWJsZWQpOworICAg
IHNldHRpbmdzLnNldERhdGFUcmFuc2Zlckl0ZW1zRW5hYmxlZCghIWVuYWJsZWQpOwogCiAgICAg
aHIgPSBwcmVmc1ByaXZhdGUtPmluc3BlY3RvckFkZGl0aW9uc0VuYWJsZWQoJmVuYWJsZWQpOwog
ICAgIGlmIChGQUlMRUQoaHIpKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>