<?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>95850</bug_id>
          
          <creation_ts>2012-09-05 07:00:36 -0700</creation_ts>
          <short_desc>Web Inspector: NMI: extract MemoryObjectType constants from MemoryInstrumentation</short_desc>
          <delta_ts>2012-09-05 08:10:59 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Ilya Tikhonovsky">loislo</reporter>
          <assigned_to name="Ilya Tikhonovsky">loislo</assigned_to>
          <cc>abarth</cc>
    
    <cc>alph</cc>
    
    <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>eric</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>712014</commentid>
    <comment_count>0</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-09-05 07:00:36 -0700</bug_when>
    <thetext>I&apos;d like to extract MemoryObjectTypes into separate classes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>712020</commentid>
    <comment_count>1</comment_count>
      <attachid>162240</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-09-05 07:12:47 -0700</bug_when>
    <thetext>Created attachment 162240
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>712053</commentid>
    <comment_count>2</comment_count>
      <attachid>162250</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-09-05 08:02:35 -0700</bug_when>
    <thetext>Created attachment 162250
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>712063</commentid>
    <comment_count>3</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-09-05 08:10:59 -0700</bug_when>
    <thetext>Committed r127593: &lt;http://trac.webkit.org/changeset/127593&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162240</attachid>
            <date>2012-09-05 07:12:47 -0700</date>
            <delta_ts>2012-09-05 08:02:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95850-20120905181227.patch</filename>
            <type>text/plain</type>
            <size>147870</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3NTcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTc4ZGM2YWJmNzVlNjE5
NzEzMDgzYmNlYzNiZDIyZDVhNGE4YzM1My4uMjhjMTIxZTBkMDE3MmNjZjU1MWNiZmUwNjQ0NzU1
ZWIzMmQ0YmFlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwNiBAQAorMjAxMi0wOS0wNSAgSWx5
YSBUaWtob25vdnNreSAgPGxvaXNsb0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogTk1JOiBleHRyYWN0IE1lbW9yeU9iamVjdFR5cGUgY29uc3RhbnRzIGZyb20gTWVtb3J5
SW5zdHJ1bWVudGF0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9OTU4NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBJJ2QgbGlrZSB0byBleHRyYWN0IE1lbW9yeU9iamVjdFR5cGVzIGludG8gc2VwYXJh
dGUgY2xhc3Nlcy4KKyAgICAgICAgQWZ0ZXIgdGhhdCB3ZSB3aWxsIGJlIGFibGUgdG8gbW92ZSBj
b3JlIE5NSSBpbnN0cnVtZW50YXRpb24gY29kZSB0byBXVEYuCisKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9TY3JpcHRXcmFwcGFibGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFdyYXBwYWJs
ZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L0RPTURhdGFTdG9y
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01EYXRhU3RvcmU6OnJlcG9ydE1lbW9yeVVzYWdl
KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9JbnRydXNpdmVET01XcmFwcGVyTWFwLmg6CisgICAg
ICAgIChXZWJDb3JlOjpDaHVua2VkVGFibGU6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAg
KiBiaW5kaW5ncy92OC9TY3JpcHRXcmFwcGFibGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlw
dFdyYXBwYWJsZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4
QmluZGluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHJpbmdDYWNoZTo6cmVwb3J0TWVtb3J5
VXNhZ2UpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4RE9NTWFwLmg6CisgICAgICAgICogYmlu
ZGluZ3MvdjgvVjhQZXJJc29sYXRlRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOFBlcklz
b2xhdGVEYXRhOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0NTU0FzcGVjdFJh
dGlvVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQXNwZWN0UmF0aW9WYWx1ZTo6cmVw
b3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvQ1NTQm9yZGVySW1hZ2VT
bGljZVZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0JvcmRlckltYWdlU2xpY2VWYWx1
ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvQ1NTQ2FsY3Vs
YXRpb25WYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjVmFsdWU6OnJlcG9ydERl
c2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0NTU0NhbnZhc1ZhbHVlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbnZhc1ZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5
VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NDaGFyc2V0UnVsZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDU1NDaGFyc2V0UnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAg
ICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAg
ICAgICAqIGNzcy9DU1NDcm9zc2ZhZGVWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1ND
cm9zc2ZhZGVWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBj
c3MvQ1NTQ3Vyc29ySW1hZ2VWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NDdXJzb3JJ
bWFnZVZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9D
U1NGb250RmFjZVJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udEZhY2VSdWxlOjpy
ZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NGb250RmFjZVNy
Y1ZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRGYWNlU3JjVmFsdWU6OnJlcG9y
dERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0NTU0Z1bmN0aW9uVmFsdWUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRnVuY3Rpb25WYWx1ZTo6cmVwb3J0RGVzY2VuZGFu
dE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NHcmFkaWVudENvbG9yU3RvcDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTR3JhZGllbnRWYWx1ZTo6cmVwb3J0QmFzZUNsYXNzTWVtb3J5
VXNhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTTGluZWFyR3JhZGllbnRWYWx1ZTo6cmVwb3J0
RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1JhZGlhbEdyYWRp
ZW50VmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0NT
U0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTSW1hZ2VHZW5l
cmF0b3JWYWx1ZTo6cmVwb3J0QmFzZUNsYXNzTWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9D
U1NJbWFnZVNldFZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ltYWdlU2V0VmFsdWU6
OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NJbWFn
ZVNldFZhbHVlOjpJbWFnZVdpdGhTY2FsZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAq
IGNzcy9DU1NJbWFnZVZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ltYWdlVmFsdWU6
OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0NTU0ltcG9ydFJ1
bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTSW1wb3J0UnVsZTo6cmVwb3J0RGVzY2VuZGFu
dE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvQ1NTSW5oZXJpdGVkVmFsdWUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTSW5oZXJpdGVkVmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlV
c2FnZSk6CisgICAgICAgICogY3NzL0NTU0luaXRpYWxWYWx1ZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDU1NJbml0aWFsVmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAg
ICAgICogY3NzL0NTU0xpbmVCb3hDb250YWluVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTTGluZUJveENvbnRhaW5WYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAg
ICAgICAgKiBjc3MvQ1NTTWVkaWFSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU01lZGlh
UnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvQ1NTUGFn
ZVJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFnZVJ1bGU6OnJlcG9ydERlc2NlbmRh
bnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5
VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0eS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NQcm9wZXJ0eTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NSZWZs
ZWN0VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUmVmbGVjdFZhbHVlOjpyZXBvcnRE
ZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NSdWxlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1J1bGU6OnJlcG9ydEJhc2VDbGFzc01lbW9yeVVzYWdlKToKKyAgICAg
ICAgKiBjc3MvQ1NTUnVsZUxpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3RhdGljQ1NTUnVs
ZUxpc3Q6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvQ1NTUnVsZUxpc3QuaDoK
KyAgICAgICAgKiBjc3MvQ1NTU2VsZWN0b3JMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNT
U1NlbGVjdG9yTGlzdDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NTdHls
ZVJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVSdWxlOjpyZXBvcnREZXNjZW5k
YW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NTdHlsZVNoZWV0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1N0eWxlU2hlZXQ6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAg
KiBjc3MvQ1NTVGltaW5nRnVuY3Rpb25WYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NM
aW5lYXJUaW1pbmdGdW5jdGlvblZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTQ3ViaWNCZXppZXJUaW1pbmdGdW5jdGlvblZhbHVlOjpyZXBv
cnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3RlcHNUaW1p
bmdGdW5jdGlvblZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAq
IGNzcy9DU1NVbmljb2RlUmFuZ2VWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NVbmlj
b2RlUmFuZ2VWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBj
c3MvQ1NTVW5rbm93blJ1bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Vua25vd25SdWxlOjpy
ZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpUZXh0Q2xvbmVDU1NWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1l
bW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVMaXN0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNTU1ZhbHVlTGlzdDo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAg
ICAgKiBjc3MvQ1NTVmFyaWFibGVWYWx1ZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFyaWFi
bGVWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvRm9u
dEZlYXR1cmVWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250RmVhdHVyZVZhbHVlOjpy
ZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9Gb250VmFsdWUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Rm9udFZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNh
Z2UpOgorICAgICAgICAqIGNzcy9NZWRpYUxpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFRdWVyeVNldDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFM
aXN0OjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL01lZGlhUXVlcnkuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFRdWVyeTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAg
ICAqIGNzcy9NZWRpYVF1ZXJ5RXhwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUXVlcnlF
eHA6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvUHJvcGVydHlTZXRDU1NTdHls
ZURlY2xhcmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlByb3BlcnR5U2V0Q1NTU3R5bGVE
ZWNsYXJhdGlvbjo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVS
dWxlQ1NTU3R5bGVEZWNsYXJhdGlvbjo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5saW5lQ1NTU3R5bGVEZWNsYXJhdGlvbjo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAg
ICAgICAqIGNzcy9TaGFkb3dWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dWYWx1
ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvU3R5bGVQcm9w
ZXJ0eVNldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVByb3BlcnR5U2V0OjpyZXBvcnRN
ZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6RmVhdHVyZXM6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6OmNvbGxlY3RNYXRjaGluZ1J1bGVzRm9yTGlz
dCk6CisgICAgICAgICogY3NzL1N0eWxlUnVsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHls
ZVJ1bGVCYXNlOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1
bGU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpTdHls
ZVJ1bGVQYWdlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAoV2ViQ29y
ZTo6U3R5bGVSdWxlRm9udEZhY2U6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVCbG9jazo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdl
KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZU1lZGlhOjpyZXBvcnREZXNjZW5kYW50TWVt
b3J5VXNhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlUmVnaW9uOjpyZXBvcnREZXNj
ZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9TdHlsZVJ1bGVJbXBvcnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlSW1wb3J0OjpyZXBvcnREZXNjZW5kYW50TWVtb3J5
VXNhZ2UpOgorICAgICAgICAqIGNzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U3R5bGVTaGVldENvbnRlbnRzOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAg
ICogY3NzL1dlYktpdENTU0ZpbHRlclZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYktp
dENTU0ZpbHRlclZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAq
IGNzcy9XZWJLaXRDU1NLZXlmcmFtZVJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVL
ZXlmcmFtZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0Q1NT
S2V5ZnJhbWVSdWxlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNz
cy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVs
ZUtleWZyYW1lczo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNv
cmU6OldlYktpdENTU0tleWZyYW1lc1J1bGU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6
CisgICAgICAgICogY3NzL1dlYktpdENTU01peEZ1bmN0aW9uVmFsdWUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6V2ViS2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9y
eVVzYWdlKToKKyAgICAgICAgKiBjc3MvV2ViS2l0Q1NTUmVnaW9uUnVsZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpXZWJLaXRDU1NSZWdpb25SdWxlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNh
Z2UpOgorICAgICAgICAqIGNzcy9XZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OldlYktpdENTU1NWR0RvY3VtZW50VmFsdWU6OnJlcG9ydERlc2NlbmRhbnRN
ZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL1dlYktpdENTU1NoYWRlclZhbHVlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OldlYktpdENTU1NoYWRlclZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVt
b3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZTo6cmVwb3J0RGVzY2VuZGFu
dE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBkb20vQXR0cmlidXRlLmg6CisgICAgICAgIChXZWJD
b3JlOjpBdHRyaWJ1dGU6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBkb20vQ2hhcmFj
dGVyRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaGFyYWN0ZXJEYXRhOjpyZXBvcnRNZW1v
cnlVc2FnZSk6CisgICAgICAgICogZG9tL0NvbnRhaW5lck5vZGUuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkNvbnRhaW5lck5vZGU6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBkb20vRG9j
dW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnJlcG9ydE1lbW9yeVVzYWdl
KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnRFdmVudFF1ZXVlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50RXZlbnRRdWV1ZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGRv
bS9FbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpyZXBvcnRNZW1vcnlVc2Fn
ZSk6CisgICAgICAgICogZG9tL0VsZW1lbnRBdHRyaWJ1dGVEYXRhLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkVsZW1lbnRBdHRyaWJ1dGVEYXRhOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAg
ICogZG9tL0V2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50OjpyZXBvcnRNZW1vcnlV
c2FnZSk6CisgICAgICAgICogZG9tL01lbW9yeUluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKiBkb20vTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmg6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKEdlbmVyaWNNZW1vcnlUeXBlcyk6CisgICAgICAgIChX
ZWJDb3JlOjpNZW1vcnlJbnN0cnVtZW50YXRpb246OmFkZFJvb3RPYmplY3QpOgorICAgICAgICAo
V2ViQ29yZTo6TWVtb3J5T2JqZWN0SW5mbzo6cmVwb3J0T2JqZWN0SW5mbyk6CisgICAgICAgIChX
ZWJDb3JlTWVtb3J5VHlwZXMpOgorICAgICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok5vZGU6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBkb20vUXVhbGlmaWVk
TmFtZS5oOgorICAgICAgICAoV2ViQ29yZTo6UXVhbGlmaWVkTmFtZTo6UXVhbGlmaWVkTmFtZUlt
cGw6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlF1YWxpZmllZE5hbWU6
OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6cmVwb3J0TWVtb3J5VXNhZ2Up
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHA6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAg
KiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6
OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBsb2FkZXIvTWFpblJlc291cmNlTG9hZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1haW5SZXNvdXJjZUxvYWRlcjo6cmVwb3J0TWVtb3J5
VXNhZ2UpOgorICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZXNvdXJjZUxvYWRlcjo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGxv
YWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdWJyZXNvdXJj
ZUxvYWRlcjo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGxvYWRlci9TdWJzdGl0dXRl
RGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdWJzdGl0dXRlRGF0YTo6cmVwb3J0TWVtb3J5
VXNhZ2UpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRDU1NTdHlsZVNoZWV0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZENTU1N0eWxlU2hlZXQ6OnJlcG9ydE1lbW9yeVVzYWdl
KToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkRm9udC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDYWNoZWRGb250OjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogbG9hZGVyL2Nh
Y2hlL0NhY2hlZEltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZEltYWdlOjpyZXBv
cnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jlc291cmNl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJhd1Jlc291cmNlOjpyZXBvcnRNZW1vcnlV
c2FnZSk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAg
ICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlSGFuZGxlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNhY2hlZFJlc291cmNlSGFuZGxlQmFzZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAg
ICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAq
IGxvYWRlci9jYWNoZS9DYWNoZWRTVkdEb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
YWNoZWRTVkdEb2N1bWVudDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGxvYWRlci9j
YWNoZS9DYWNoZWRTY3JpcHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkU2NyaXB0Ojpy
ZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFNoYWRlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRTaGFkZXI6OnJlcG9ydE1lbW9yeVVzYWdlKToK
KyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkWFNMU3R5bGVTaGVldC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDYWNoZWRYU0xTdHlsZVNoZWV0OjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAg
ICAgICogbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1l
bW9yeUNhY2hlOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogcGFnZS9GcmFtZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAq
IHBsYXRmb3JtL1NoYXJlZEJ1ZmZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRCdWZm
ZXI6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9UcmVlU2hhcmVkLmg6
CisgICAgICAgIChXZWJDb3JlOjpUcmVlU2hhcmVkOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Qml0bWFwSW1hZ2U6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9Dcm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
cm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL0dlbmVyYXRlZEltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okdl
bmVyYXRlZEltYWdlOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvR2VuZXJhdG9yR2VuZXJhdGVkSW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2Vu
ZXJhdG9yR2VuZXJhdGVkSW1hZ2U6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9JbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZTo6cmVwb3J0
TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvRm9ybURhdGEuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Rm9ybURhdGE6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAq
IHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAg
KiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyU3R5bGU6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUv
U3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVJ
bmhlcml0ZWREYXRhOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogcmVuZGVyaW5nL3N0
eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5
bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIHN2
Zy9TVkdDb2xvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdDb2xvcjo6cmVwb3J0RGVzY2Vu
ZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBzdmcvU1ZHUGFpbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHUGFpbnQ6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAg
ICogc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ltYWdl
OjpyZXBvcnRNZW1vcnlVc2FnZSk6CisKKzIwMTItMDktMDUgIElseWEgVGlraG9ub3Zza3kgIDxs
b2lzbG9AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IE5NSTogZXh0cmFj
dCBvdmVybG9hZGVkIGluc3RydW1lbnRhdGlvbiBtZW1iZXJzIGZvciBXZWJDb3JlIGNsYXNzZXMg
ZnJvbSBjb3JlIE5NSSBjb2RlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9OTU4MzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBJJ2QgbGlrZSB0byByZW1vdmUgY3VzdG9tIGluc3RydW1lbnRhdGlvbiBtZXRo
b2RzIGZyb20gTWVtb3J5SW5zdHJ1bWVudGF0aW9uIGNsYXNzCisgICAgICAgIGJlZm9yZSB1cHN0
cmVhbWluZyBpdCB0byBXVEYuIEkndmUgZG9uZSBpdCB3aXRoIGhlbHAgb2YgTWVtb3J5SW5zdHJ1
bWVudGF0aW9uVHJhaXRzIHRlbXBsYXRlIGhlbHBlci4KKworICAgICAgICAqIGRvbS9NZW1vcnlJ
bnN0cnVtZW50YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6OjphZGRJbnN0cnVtZW50ZWRP
YmplY3QpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogZG9tL01lbW9yeUluc3RydW1l
bnRhdGlvbi5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChNZW1vcnlJbnN0cnVtZW50
YXRpb25UcmFpdHMpOgorICAgICAgICAoTWVtb3J5SW5zdHJ1bWVudGF0aW9uKToKKyAgICAgICAg
KFdlYkNvcmU6Ok1lbW9yeUluc3RydW1lbnRhdGlvbjo6SW5zdHJ1bWVudGVkUG9pbnRlcjo6SW5z
dHJ1bWVudGVkUG9pbnRlcik6CisgICAgICAgIChJbnN0cnVtZW50ZWRQb2ludGVyKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkT2JqZWN0KToKKyAgICAgICAg
KFdlYkNvcmU6Ok1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkSW5zdHJ1bWVudGVkT2JqZWN0KToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkUmF3QnVmZmVyKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lbW9yeUluc3RydW1lbnRhdGlvbjo6T3duaW5nVHJhaXRzOjph
ZGRJbnN0cnVtZW50ZWRPYmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5SW5zdHJ1bWVu
dGF0aW9uOjpPd25pbmdUcmFpdHM6OmFkZE9iamVjdCk6CisgICAgICAgIChXZWJDb3JlOjo6OmFk
ZEluc3RydW1lbnRlZE9iamVjdCk6CisgICAgICAgIChXZWJDb3JlOjo6OmFkZE9iamVjdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpNZW1vcnlPYmplY3RJbmZvOjpNZW1vcnlPYmplY3RJbmZvKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lbW9yeU9iamVjdEluZm86Om9iamVjdFR5cGUpOgorICAgICAgICAo
V2ViQ29yZTo6TWVtb3J5T2JqZWN0SW5mbzo6cmVwb3J0T2JqZWN0SW5mbyk6CisgICAgICAgIChN
ZW1vcnlPYmplY3RJbmZvKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9yeUNsYXNzSW5mbzo6TWVt
b3J5Q2xhc3NJbmZvKToKKyAgICAgICAgKE1lbW9yeUNsYXNzSW5mbyk6CisgICAgICAgIChXZWJD
b3JlOjpNZW1vcnlJbnN0cnVtZW50YXRpb246OmFkZEluc3RydW1lbnRlZE9iamVjdEltcGwpOgor
ICAgICAgICAoV2ViQ29yZTo6TWVtb3J5SW5zdHJ1bWVudGF0aW9uOjphZGRPYmplY3RJbXBsKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkSGFzaE1hcCk6Cisg
ICAgICAgIChXZWJDb3JlOjpNZW1vcnlJbnN0cnVtZW50YXRpb246OmFkZEhhc2hTZXQpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVtb3J5SW5zdHJ1bWVudGF0aW9uOjphZGRJbnN0cnVtZW50ZWRDb2xs
ZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkSW5z
dHJ1bWVudGVkTWFwRW50cmllcyk6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlJbnN0cnVtZW50
YXRpb246OmFkZEluc3RydW1lbnRlZE1hcFZhbHVlcyk6CisgICAgICAgIChXZWJDb3JlOjpNZW1v
cnlJbnN0cnVtZW50YXRpb246OmFkZExpc3RIYXNoU2V0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
bW9yeUluc3RydW1lbnRhdGlvbjo6YWRkVmVjdG9yKToKKyAgICAgICAgKiBpbnNwZWN0b3IvTWVt
b3J5SW5zdHJ1bWVudGF0aW9uSW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlJbnN0
cnVtZW50YXRpb25JbXBsOjpjb3VudE9iamVjdFNpemUpOgorICAgICAgICAqIGluc3BlY3Rvci9N
ZW1vcnlJbnN0cnVtZW50YXRpb25JbXBsLmg6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlJbnN0
cnVtZW50YXRpb25JbXBsOjp0b3RhbFNpemUpOgorICAgICAgICAoTWVtb3J5SW5zdHJ1bWVudGF0
aW9uSW1wbCk6CisKIDIwMTItMDktMDQgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IE5NSTogcmVwbGFjZSBPYmplY3RUeXBl
IGVudW0gd2l0aCBzdGF0aWMgY29uc3QgY2hhciogc3RyaW5nIGlkZW50aWZpZXJzLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwppbmRleCBlODcxMjdlYjVhYjNlODhlNDlkYzM4Njk4ZGVhNjk4N2Fl
N2UyNTU4Li43Zjc4ODY3YmQ1NDk4MmU0OGM2NmFmNTJkOTA1ZTExYmVkMzJhYmY4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA5LTA1ICBJbHlhIFRp
a2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBOTUk6IGV4dHJhY3QgTWVtb3J5T2JqZWN0VHlwZSBjb25zdGFudHMgZnJvbSBNZW1vcnlJbnN0
cnVtZW50YXRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD05NTg1MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEknZCBsaWtlIHRvIGV4dHJhY3QgTWVtb3J5T2JqZWN0VHlwZXMgaW50byBzZXBhcmF0ZSBj
bGFzc2VzLgorICAgICAgICBBZnRlciB0aGF0IHdlIHdpbGwgYmUgYWJsZSB0byBtb3ZlIGNvcmUg
Tk1JIGluc3RydW1lbnRhdGlvbiBjb2RlIHRvIFdURi4KKworICAgICAgICAqIHRlc3RzL01lbW9y
eUluc3RydW1lbnRhdGlvblRlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zdHJ1bWVudGVk
OjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50ZWRSZWZQ
dHI6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRlZFdp
dGhPd25QdHI6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1l
bnRlZE90aGVyOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVt
ZW50ZWRET006OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlRFU1QpOgor
ICAgICAgICAoV2ViQ29yZTo6Tm9uVmlydHVhbEluc3RydW1lbnRlZDo6cmVwb3J0TWVtb3J5VXNh
Z2UpOgorCiAyMDEyLTA5LTA0ICBJbHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBOTUk6IHJlcGxhY2UgT2JqZWN0VHlwZSBlbnVt
IHdpdGggc3RhdGljIGNvbnN0IGNoYXIqIHN0cmluZyBpZGVudGlmaWVycy4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFdyYXBwYWJsZS5oIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0V3JhcHBhYmxlLmgKaW5kZXggY2QwODczYWZmYjMzYmQ0
OGU2OTE1ZTFlYTlmZGRmM2JlNmNmZDUzYS4uZGExMDhlZDMyZWZmYjNmZTA3ZDNjNWZiY2E2ZTYx
M2E2NDgzZDk5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
V3JhcHBhYmxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0V3JhcHBh
YmxlLmgKQEAgLTU3LDcgKzU3LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCByZXBvcnRNZW1vcnlV
c2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogICAgIHsKLSAg
ICAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5
SW5zdHJ1bWVudGF0aW9uOjpET00pOworICAgICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1v
cnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkRPTSk7CiAgICAgICAgIGlu
Zm8uYWRkTWVtYmVyKG1fd3JhcHBlcik7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvRE9NRGF0YVN0b3JlLmNwcAppbmRleCAyMjc2MTllNzhiOTZkNDIzZmZmMGJkNjQwMGZh
NGMwMDE2MWMyNjRlLi42MzczOTQzZjI1Y2VhNzc3NWUwYjQwYTE2NTVmNDAxOGJmNWJiNDdkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5jcHAKQEAgLTEyMSw3
ICsxMjEsNyBAQCB2b2lkKiBET01EYXRhU3RvcmU6OmdldERPTVdyYXBwZXJNYXAoRE9NV3JhcHBl
ck1hcFR5cGUgdHlwZSkKIAogdm9pZCBET01EYXRhU3RvcmU6OnJlcG9ydE1lbW9yeVVzYWdlKE1l
bW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xh
c3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9u
OjpCaW5kaW5nKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0
aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkJpbmRpbmcpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKG1fZG9tTm9kZU1hcCk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIo
bV9hY3RpdmVEb21Ob2RlTWFwKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2Rv
bU9iamVjdE1hcCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9JbnRy
dXNpdmVET01XcmFwcGVyTWFwLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9JbnRydXNp
dmVET01XcmFwcGVyTWFwLmgKaW5kZXggZWJjZjc2NzE0ZjkzZGMyNGY2NDgwODE1YzBiZDA2OWZk
MDJkMWI1Mi4uZTFjMWE0YjE2MWIwMTE4NjA2OWIxZjY0NjkyYjZkMjQ5NzBiNDljMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvSW50cnVzaXZlRE9NV3JhcHBlck1hcC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0ludHJ1c2l2ZURPTVdyYXBwZXJNYXAu
aApAQCAtMTA0LDcgKzEwNCw3IEBAIGNsYXNzIENodW5rZWRUYWJsZSB7CiAKICAgICB2b2lkIHJl
cG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0
CiAgICAgewotICAgICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0
aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkJpbmRpbmcpOworICAgICAgICBNZW1vcnlDbGFz
c0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkJp
bmRpbmcpOwogICAgICAgICBmb3IgKENodW5rKiBjaHVuayA9IG1fY2h1bmtzOyBjaHVuazsgY2h1
bmsgPSBjaHVuay0+bV9wcmV2aW91cykKICAgICAgICAgICAgIGluZm8uYWRkTWVtYmVyKGNodW5r
KTsKICAgICB9CkBAIC0xODYsNyArMTg2LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lk
IHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNv
bnN0IE9WRVJSSURFCiAgICAgewotICAgICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlP
YmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkJpbmRpbmcpOworICAgICAg
ICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVt
b3J5VHlwZXM6OkJpbmRpbmcpOwogICAgICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlciht
X3RhYmxlKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1NjcmlwdFdyYXBwYWJsZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0V3Jh
cHBhYmxlLmgKaW5kZXggZDMyYjliOGMyZTE0MmRlZjRhZmQ2NjA0MWE5ZjMzMzZkYzYzOTMwMy4u
NjM1NmYwMDdlYWEyOGM2NWQ2YzQ1M2RlMzQ3ZWMzNmNiMWUzNWQ3NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0V3JhcHBhYmxlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0V3JhcHBhYmxlLmgKQEAgLTU1LDcgKzU1LDcgQEAgcHVi
bGljOgogCiAgICAgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1v
cnlPYmplY3RJbmZvKSBjb25zdAogICAgIHsKLSAgICAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8o
bWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpET00pOworICAg
ICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3Jl
TWVtb3J5VHlwZXM6OkRPTSk7CiAgICAgICAgIGluZm8uYWRkTWVtYmVyKG1fd3JhcHBlcik7CiAg
ICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEJpbmRpbmcu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhCaW5kaW5nLmNwcAppbmRleCBhY2Qw
NDNhYTUxZjBjZDQ3ZWQ5OWI2ZWI2ZjEyYTFkNDNlNDFlYWU5Li5lODY5MjA0YjdmNmIxN2IzZjAz
ODk5YTlkZGQ4YmRmYTUwZGZmN2NlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9WOEJpbmRpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4Qmlu
ZGluZy5jcHAKQEAgLTIxOSw3ICsyMTksNyBAQCB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25U
ZW1wbGF0ZT4gY3JlYXRlUmF3VGVtcGxhdGUoKQogCiB2b2lkIFN0cmluZ0NhY2hlOjpyZXBvcnRN
ZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewot
ICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUlu
c3RydW1lbnRhdGlvbjo6QmluZGluZyk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5
T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpCaW5kaW5nKTsKICAgICBpbmZv
LmFkZEhhc2hNYXAobV9zdHJpbmdDYWNoZSk7CiB9CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTU1hcC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvVjhET01NYXAuaAppbmRleCBjYzc2ZmZhNTMxZWEzYTIwNWIwZjExZDUxNTFiMjAxZTBlMjA3
N2M0Li5kMGJjYjI5ZTVjMzUxMGZlMzM3YmU4YWQ2YzQxMTFhY2U0ODc0ODEwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTU1hcC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1Y4RE9NTWFwLmgKQEAgLTEzNiw3ICsxMzYsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9y
eU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0IE9WRVJSSURFCiAgICAgICAgIHsK
LSAgICAgICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMs
IE1lbW9yeUluc3RydW1lbnRhdGlvbjo6QmluZGluZyk7CisgICAgICAgICAgICBNZW1vcnlDbGFz
c0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkJp
bmRpbmcpOwogICAgICAgICAgICAgaW5mby5hZGRIYXNoTWFwKG1fbWFwKTsKICAgICAgICAgfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFBlcklzb2xhdGVEYXRh
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UGVySXNvbGF0ZURhdGEuY3BwCmlu
ZGV4IDE4M2MzMTJlYzMyYjg2Y2E2MDA5N2JmZWMwYjNhM2NmOWNhZmE0MDEuLjM0NTM5ZjczMGM4
NGI4MDcyYjhjNDJlMTY5NjFmNzFlYTM2OTA1YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4UGVySXNvbGF0ZURhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L1Y4UGVySXNvbGF0ZURhdGEuY3BwCkBAIC03NSw3ICs3NSw3IEBAIHZvaWQgVjhQ
ZXJJc29sYXRlRGF0YTo6ZGlzcG9zZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKIAogdm9pZCBWOFBl
cklzb2xhdGVEYXRhOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlP
YmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVj
dEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6QmluZGluZyk7CisgICAgTWVtb3J5
Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVz
OjpCaW5kaW5nKTsKICAgICBpbmZvLmFkZEhhc2hNYXAobV9yYXdUZW1wbGF0ZXMpOwogICAgIGlu
Zm8uYWRkSGFzaE1hcChtX3RlbXBsYXRlcyk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1i
ZXIobV9zdHJpbmdDYWNoZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQXNw
ZWN0UmF0aW9WYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQXNwZWN0UmF0aW9WYWx1
ZS5jcHAKaW5kZXggNTg5N2Y1MTExOTg0OWUxOTAyMTczYTkyMDEyZjM1N2Y3NTIzNTA5ZS4uMjQ2
ZGJmN2Q4MjhhNDY0MjA0N2RiNTdiMDI2YmQ0NDQxNjFlZmMwYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcApAQCAtNDUsNyArNDUsNyBAQCBTdHJpbmcgQ1NT
QXNwZWN0UmF0aW9WYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0CiAKIHZvaWQgQ1NTQXNwZWN0
UmF0aW9WYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8q
IG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVt
b3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAgIE1l
bW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlU
eXBlczo6Q1NTKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Jv
cmRlckltYWdlU2xpY2VWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1h
Z2VTbGljZVZhbHVlLmNwcAppbmRleCAzOTRjYzI4OTRhNDFlNDAxM2E1ZjM0MjZmOGJkZGU5YzEx
ODExZjdkLi4yYzI2Y2Q4ZThjNWExYWVlODUzYTBhMjlmOTdkNjUwNTJlMWU5ZGM5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcApAQCAtNTIs
NyArNTIsNyBAQCBTdHJpbmcgQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlOjpjdXN0b21Dc3NUZXh0
KCkgY29uc3QKIAogdm9pZCBDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWU6OnJlcG9ydERlc2NlbmRh
bnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAog
ewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9y
eUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlP
YmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgaW5mby5hZGRJ
bnN0cnVtZW50ZWRNZW1iZXIobV9zbGljZXMpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Q2FsY3VsYXRpb25WYWx1ZS5jcHAKaW5kZXggODIwMjUzNTQ3NjE5YjkwNjdkN2M5NTgyOTM2Yzdl
YThjNGYzODVkZS4uNWZjYzdlYTY3ZGViMzljMGQwODBhYzJkMDE5NWNmODUzY2VhN2MxNiAxMDA3
NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjdWxhdGlvblZhbHVlLmNwcApAQCAtMTA5LDcgKzEw
OSw3IEBAIGJvb2wgQ1NTQ2FsY1ZhbHVlOjpoYXNWYXJpYWJsZVJlZmVyZW5jZSgpIGNvbnN0CiAK
IHZvaWQgQ1NTQ2FsY1ZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2Jq
ZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8g
aW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7
CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29y
ZU1lbW9yeVR5cGVzOjpDU1MpOwogfQogICAgIAogZG91YmxlIENTU0NhbGNWYWx1ZTo6Y2xhbXBU
b1Blcm1pdHRlZFJhbmdlKGRvdWJsZSB2YWx1ZSkgY29uc3QKQEAgLTIyNCw3ICsyMjQsNyBAQCBw
dWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0
SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QgT1ZFUlJJREUKICAgICB7Ci0gICAgICAgIE1l
bW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1l
bnRhdGlvbjo6Q1NTKTsKKyAgICAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0
SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAgICAgICBpbmZvLmFkZElu
c3RydW1lbnRlZE1lbWJlcihtX3ZhbHVlKTsKICAgICB9CiAgICAgCkBAIC0zMjIsNyArMzIyLDcg
QEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9i
amVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0IE9WRVJSSURFCiAgICAgewotICAgICAg
ICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0
cnVtZW50YXRpb246OkNTUyk7CisgICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9i
amVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKICAgICAgICAgaW5mby5h
ZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9sZWZ0U2lkZSk7CiAgICAgICAgIGluZm8uYWRkSW5zdHJ1
bWVudGVkTWVtYmVyKG1fcmlnaHRTaWRlKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTQ2FudmFzVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbnZh
c1ZhbHVlLmNwcAppbmRleCBjNGM0NjVjZDUyMTVlOTVmYWZkMWMxNGRjZjQ2YTJjNmVhZGI2NDhh
Li41MzI0MTY0YjZkMWFhNjk2ZTgyZDM5Y2FhMTVlODU4NjExNGEyZDRiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FudmFzVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NDYW52YXNWYWx1ZS5jcHAKQEAgLTk4LDcgKzk4LDcgQEAgUGFzc1JlZlB0cjxJbWFn
ZT4gQ1NTQ2FudmFzVmFsdWU6OmltYWdlKFJlbmRlck9iamVjdCogcmVuZGVyZXIsIGNvbnN0IElu
dFNpemUmIC8KIAogdm9pZCBDU1NDYW52YXNWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVz
YWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVt
b3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVu
dGF0aW9uOjpDU1MpOworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8s
IHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKICAgICBDU1NJbWFnZUdlbmVyYXRvclZh
bHVlOjpyZXBvcnRCYXNlQ2xhc3NNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAgICBp
bmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX25hbWUpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKG1fZWxlbWVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Q2hhcnNldFJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NoYXJzZXRSdWxlLmNwcApp
bmRleCBhM2MzZTFiOWFhNTQwZDFlNjA0ZjhkNTZmNGYxMmNjM2ViMDg3MGRiLi42M2VlMTc4OGQ3
ZjcwMGIxZDJiMTEyZGFlYTEyNjQ3NTRmMzU0ZTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDaGFy
c2V0UnVsZS5jcHAKQEAgLTM4LDcgKzM4LDcgQEAgU3RyaW5nIENTU0NoYXJzZXRSdWxlOjpjc3NU
ZXh0KCkgY29uc3QKIAogdm9pZCBDU1NDaGFyc2V0UnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9y
eVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAg
TWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1
bWVudGF0aW9uOjpDU1MpOworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdElu
Zm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKICAgICBDU1NSdWxlOjpyZXBvcnRC
YXNlQ2xhc3NNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAgICBpbmZvLmFkZEluc3Ry
dW1lbnRlZE1lbWJlcihtX2VuY29kaW5nKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggMGM0NzcyZDQwNDhjMDkyYzBl
NDVkYjc3MDZkYTkwODU3ZjVjMGFhYS4uZWZmMjdjZmYwYzU2ZGYxNTIyMDlmMmEwOTdmMGVjODYz
YjU1NWRhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVE
ZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVE
ZWNsYXJhdGlvbi5jcHAKQEAgLTI3MzEsNyArMjczMSw3IEBAIFBhc3NSZWZQdHI8U3R5bGVQcm9w
ZXJ0eVNldD4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpjb3B5UHJvcGVydGllc0luU2V0
KGNvCiAKIHZvaWQgQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpyZXBvcnRNZW1vcnlVc2Fn
ZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9y
eUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRh
dGlvbjo6Q1NTKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0
aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRN
ZW1iZXIobV9ub2RlKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Ny
b3NzZmFkZVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDcm9zc2ZhZGVWYWx1ZS5j
cHAKaW5kZXggNmNjYzhiN2RiYWQyZTgyZmZiNTgyMDMxN2Y0NGUzZmJlNjc2ZDE4Yy4uM2JlZTQz
M2VjMzAwMzQyYjU5NDZiYTgyY2VmMjc3ZjhlMTQ3YmQ5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0Nyb3NzZmFkZVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTQ3Jvc3NmYWRlVmFsdWUuY3BwCkBAIC0xNDEsNyArMTQxLDcgQEAgdm9pZCBDU1NDcm9zc2Zh
ZGVWYWx1ZTo6bG9hZFN1YmltYWdlcyhDYWNoZWRSZXNvdXJjZUxvYWRlciogY2FjaGVkUmVzb3Vy
Y2VMb2FkZXIKIAogdm9pZCBDU1NDcm9zc2ZhZGVWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9y
eVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAg
TWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1
bWVudGF0aW9uOjpDU1MpOworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdElu
Zm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKICAgICBDU1NJbWFnZUdlbmVyYXRv
clZhbHVlOjpyZXBvcnRCYXNlQ2xhc3NNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAg
ICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2Zyb21WYWx1ZSk7CiAgICAgaW5mby5hZGRJ
bnN0cnVtZW50ZWRNZW1iZXIobV90b1ZhbHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NDdXJzb3JJbWFnZVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDdXJz
b3JJbWFnZVZhbHVlLmNwcAppbmRleCAzNTAzOGZjZDM4YzRhYWE0OTcxYWYxMmU4ZWUxYTk2NTU2
NmUyODliLi4yZTg3ZDUwMmQ4Y2M3NmYyMDE5YzM2OWY0ZjMyNzc1YWM5OGFkMDcxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ3Vyc29ySW1hZ2VWYWx1ZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0N1cnNvckltYWdlVmFsdWUuY3BwCkBAIC0xMzUsNyArMTM1LDcg
QEAgdm9pZCBDU1NDdXJzb3JJbWFnZVZhbHVlOjpyZW1vdmVSZWZlcmVuY2VkRWxlbWVudChTVkdF
bGVtZW50KiBlbGVtZW50KQogCiB2b2lkIENTU0N1cnNvckltYWdlVmFsdWU6OnJlcG9ydERlc2Nl
bmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25z
dAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1l
bW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1v
cnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgQ1NTSW1h
Z2VWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwog
I2lmIEVOQUJMRShTVkcpCiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRIYXNoU2V0KG1fcmVmZXJl
bmNlZEVsZW1lbnRzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFj
ZVJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlUnVsZS5jcHAKaW5kZXgg
MDk1MjllNDNmMTM2NDkxZGRlNTljOGY3MmUxZjYyZGFlNDg2OTJjMi4uODgyMGMyZDc1MDcwYTlm
ZWU3MDBhMGMxYWQ5MzJiMGQzZGE2NTg0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0ZvbnRGYWNlUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNl
UnVsZS5jcHAKQEAgLTcwLDcgKzcwLDcgQEAgdm9pZCBDU1NGb250RmFjZVJ1bGU6OnJlYXR0YWNo
KFN0eWxlUnVsZUZvbnRGYWNlKiBydWxlKQogCiB2b2lkIENTU0ZvbnRGYWNlUnVsZTo6cmVwb3J0
RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8p
IGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhp
cywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZv
KG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKICAgICBD
U1NSdWxlOjpyZXBvcnRCYXNlQ2xhc3NNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAg
ICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2ZvbnRGYWNlUnVsZSk7CiAgICAgaW5mby5h
ZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNyY1ZhbHVlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNyY1ZhbHVlLmNwcAppbmRleCA4Y2EyYzFkMWM0YThlNzVm
MTk0YTk1OTU4NTNjZWY3YjYzYzMwNDFiLi40MmZiNzRjMmQ4YzUwMTkxNzcxNzI3MDA5MTQ0YTY5
Zjk5YmZkZTM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTcmNW
YWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU3JjVmFsdWUuY3Bw
CkBAIC0xMDMsNyArMTAzLDcgQEAgQ2FjaGVkRm9udCogQ1NTRm9udEZhY2VTcmNWYWx1ZTo6Y2Fj
aGVkRm9udChEb2N1bWVudCogZG9jdW1lbnQpCiAKIHZvaWQgQ1NTRm9udEZhY2VTcmNWYWx1ZTo6
cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVj
dEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5m
bywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAgIE1lbW9yeUNsYXNzSW5m
byBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsK
ICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3Jlc291cmNlKTsKICAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihtX2Zvcm1hdCk7CiAgICAgLy8gRklYTUU6IGFkZCBtX2NhY2hl
ZEZvbnQgd2hlbiBNZW1vcnlDYWNoZSBpcyBpbnN0cnVtZW50ZWQuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTRnVuY3Rpb25WYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTRnVuY3Rpb25WYWx1ZS5jcHAKaW5kZXggMjA0Y2Y0YWZhMWM1MzcyZTAyNWU1ZWYzMjY0Mjhk
ZTE4ZDg1MDM5ZS4uYWM4ZGQ0MWM0ZjhiZDcwYzVhZWQ4OTUzOGFiOGU3NzgyOGIzYzJhMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Z1bmN0aW9uVmFsdWUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NGdW5jdGlvblZhbHVlLmNwcApAQCAtNTQsNyArNTQsNyBAQCBT
dHJpbmcgQ1NTRnVuY3Rpb25WYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0CiAKIHZvaWQgQ1NT
RnVuY3Rpb25WYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdElu
Zm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8o
bWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAg
IE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1v
cnlUeXBlczo6Q1NTKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX25hbWUpOwog
ICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fYXJncyk7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAKaW5kZXggODU1MTRmNTkyZWIyNjIxZDI5MzBmOTAzMTY3
NTJhYTUxZmE4NjkxOC4uZWI4Y2ExNGJhZWRmM2MzN2Y5ODJjMmI0NTJiOWI1NDM3ZmY4Yjc4YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRpZW50VmFsdWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVlLmNwcApAQCAtNDYsNyArNDYsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHZvaWQgQ1NTR3JhZGllbnRDb2xvclN0b3A6OnJlcG9y
dE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7
Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5
SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9i
amVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKICAgICBpbmZvLmFkZElu
c3RydW1lbnRlZE1lbWJlcihtX3Bvc2l0aW9uKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1l
bWJlcihtX2NvbG9yKTsKIH0KQEAgLTQ2Myw3ICs0NjMsNyBAQCBib29sIENTU0dyYWRpZW50VmFs
dWU6OmlzQ2FjaGVhYmxlKCkgY29uc3QKIAogdm9pZCBDU1NHcmFkaWVudFZhbHVlOjpyZXBvcnRC
YXNlQ2xhc3NNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBj
b25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMs
IE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyht
ZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgQ1NT
SW1hZ2VHZW5lcmF0b3JWYWx1ZTo6cmVwb3J0QmFzZUNsYXNzTWVtb3J5VXNhZ2UobWVtb3J5T2Jq
ZWN0SW5mbyk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9maXJzdFgpOwogICAg
IGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZmlyc3RZKTsKQEAgLTYzNiw3ICs2MzYsNyBA
QCBQYXNzUmVmUHRyPEdyYWRpZW50PiBDU1NMaW5lYXJHcmFkaWVudFZhbHVlOjpjcmVhdGVHcmFk
aWVudChSZW5kZXJPYmplY3QqIHJlbmRlcgogCiB2b2lkIENTU0xpbmVhckdyYWRpZW50VmFsdWU6
OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmpl
Y3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdElu
Zm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBNZW1vcnlDbGFzc0lu
Zm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7
CiAgICAgQ1NTR3JhZGllbnRWYWx1ZTo6cmVwb3J0QmFzZUNsYXNzTWVtb3J5VXNhZ2UobWVtb3J5
T2JqZWN0SW5mbyk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9hbmdsZSk7CiB9
CkBAIC05NjEsNyArOTYxLDcgQEAgUGFzc1JlZlB0cjxHcmFkaWVudD4gQ1NTUmFkaWFsR3JhZGll
bnRWYWx1ZTo6Y3JlYXRlR3JhZGllbnQoUmVuZGVyT2JqZWN0KiByZW5kZXIKIAogdm9pZCBDU1NS
YWRpYWxHcmFkaWVudFZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2Jq
ZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8g
aW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7
CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29y
ZU1lbW9yeVR5cGVzOjpDU1MpOwogICAgIENTU0dyYWRpZW50VmFsdWU6OnJlcG9ydEJhc2VDbGFz
c01lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKG1fZmlyc3RSYWRpdXMpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1f
c2Vjb25kUmFkaXVzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZUdl
bmVyYXRvclZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZh
bHVlLmNwcAppbmRleCA2MzA0MGYzYmU2ZTk4ZGYyYzlkOTUyYzVhZDQ2NDE1NjE5NDU0NGIxLi5j
OTYzMmI3NTUyNjJlMmIxODY5ZTU4NzUxZDQ3Y2UwYTA2Y2ZmMmI2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwCkBAIC0xMTEsNyArMTExLDcgQEAg
dm9pZCBDU1NJbWFnZUdlbmVyYXRvclZhbHVlOjpwdXRJbWFnZShjb25zdCBJbnRTaXplJiBzaXpl
LCBQYXNzUmVmUHRyPEltYWdlPiBpbWEKIAogdm9pZCBDU1NJbWFnZUdlbmVyYXRvclZhbHVlOjpy
ZXBvcnRCYXNlQ2xhc3NNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJ
bmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8s
IHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBNZW1vcnlDbGFzc0luZm8g
aW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAg
ICAgaW5mby5hZGRIYXNoQ291bnRlZFNldChtX3NpemVzKTsKICAgICBpbmZvLmFkZEhhc2hNYXAo
bV9jbGllbnRzKTsKICAgICBpbmZvLmFkZEhhc2hNYXAobV9pbWFnZXMpOyAvLyBGSVhNRTogaW5z
dHJ1bWVudCBJbWFnZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlU2V0
VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlU2V0VmFsdWUuY3BwCmluZGV4
IDI4NDUxYTI1NDQ0YjBlZTdmOWZmZDhhODUyYjY3ZjRhNDQ2Y2E1ODUuLjRhMzc0ZWFjN2RkNTYw
MWYzZjQzODMzYTQwNDI1Mzc1ZjdkYzI1M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NJbWFnZVNldFZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VT
ZXRWYWx1ZS5jcHAKQEAgLTE2NiwxNCArMTY2LDE0IEBAIFBhc3NSZWZQdHI8Q1NTSW1hZ2VTZXRW
YWx1ZT4gQ1NTSW1hZ2VTZXRWYWx1ZTo6Y2xvbmVGb3JDU1NPTSgpIGNvbnN0CiAKIHZvaWQgQ1NT
SW1hZ2VTZXRWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdElu
Zm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8o
bWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAg
IE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1v
cnlUeXBlczo6Q1NTKTsKICAgICBDU1NWYWx1ZUxpc3Q6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlV
c2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZFZlY3Rvciht
X2ltYWdlc0luU2V0KTsKIH0KIAogdm9pZCBDU1NJbWFnZVNldFZhbHVlOjpJbWFnZVdpdGhTY2Fs
ZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykg
Y29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlz
LCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8o
bWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAgIGlu
Zm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKGltYWdlVVJMKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ltYWdlVmFsdWUuY3BwCmluZGV4IGI3ZjRkNzNjZDg3MWZlYzZiMGJhODU1MTQ5NzI5NTllNDA0
MGE0YmIuLjc0YjI4YTdmNDU2NjdkNmY4ZDQ5YWI1YjRmNzlmOGIzNzBjMzY4MDQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5jcHAKQEAgLTEyOCw3ICsxMjgsNyBAQCBQYXNzUmVmUHRy
PENTU1ZhbHVlPiBDU1NJbWFnZVZhbHVlOjpjbG9uZUZvckNTU09NKCkgY29uc3QKIAogdm9pZCBD
U1NJbWFnZVZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5m
byogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyht
ZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CisgICAg
TWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9y
eVR5cGVzOjpDU1MpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdXJsKTsKICAg
ICAvLyBObyBuZWVkIHRvIHJlcG9ydCBtX2ltYWdlIGFzIGl0IGlzIGNvdW50ZWQgYXMgcGFydCBv
ZiBSZW5kZXJBcmVuYS4KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbXBv
cnRSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmNwcAppbmRleCAz
NTU2OWRlNzA0NDgwNjBlNDBiNjI0ZWJmZTIzYWZjN2E0YjkwMTAxLi4yNzI3OGU2MTIwOTkxMjYz
M2IxMTEwZDVlMTIwMjcxODBiYzI1NGVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTSW1wb3J0UnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUu
Y3BwCkBAIC03OSw3ICs3OSw3IEBAIFN0cmluZyBDU1NJbXBvcnRSdWxlOjpjc3NUZXh0KCkgY29u
c3QKIAogdm9pZCBDU1NJbXBvcnRSdWxlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVt
b3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFz
c0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246
OkNTUyk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywg
V2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAgIENTU1J1bGU6OnJlcG9ydEJhc2VDbGFzc01l
bW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1faW1wb3J0UnVsZSk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9tZWRp
YUNTU09NV3JhcHBlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW5oZXJp
dGVkVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0luaGVyaXRlZFZhbHVlLmNwcApp
bmRleCBmN2E0MjZkZTY2YmM2Nzc5N2JjNTFiNmFkMDY2ZGQ1Mzg3YzE5MjJjLi4wOTFhMmZhZGRj
MzY5MmVkOTEyMzI2YmJhOGJjM2NkNTBmYzFkZDNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTSW5oZXJpdGVkVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJ
bmhlcml0ZWRWYWx1ZS5jcHAKQEAgLTMzLDcgKzMzLDcgQEAgU3RyaW5nIENTU0luaGVyaXRlZFZh
bHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKIAogdm9pZCBDU1NJbmhlcml0ZWRWYWx1ZTo6cmVw
b3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdElu
Zm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywg
dGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAgIE1lbW9yeUNsYXNzSW5mbyBp
bmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKIH0K
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0luaXRpYWxWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW5pdGlhbFZhbHVl
LmNwcAppbmRleCA3NzVmZTBmODA4YjllNTYyYjY5MDNiZjljOTRmMDJkNjFkMzhkYTZmLi5mZDlj
ODdiNThmNmIyNjBkN2FjMDAwNGQ5M2NlOTE3N2FiNzRkYmZhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTSW5pdGlhbFZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTSW5pdGlhbFZhbHVlLmNwcApAQCAtMzMsNyArMzMsNyBAQCBTdHJpbmcgQ1NTSW5pdGlhbFZh
bHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKIAogdm9pZCBDU1NJbml0aWFsVmFsdWU6OnJlcG9y
dERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZv
KSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRo
aXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5m
byhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NMaW5lQm94Q29udGFpblZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NMaW5lQm94
Q29udGFpblZhbHVlLmNwcAppbmRleCBmOWUzZGI1MGNiMGI5OTI3YTlmOGZiYjQ5OGRlNDNmM2Rk
MmNlYzU5Li40ZjI3NTM4NTVhOGRlOGMzNWRhMGZlNjQ2N2E5NjI4MTQ2ZTBmZDgzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTGluZUJveENvbnRhaW5WYWx1ZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0xpbmVCb3hDb250YWluVmFsdWUuY3BwCkBAIC03Niw3ICs3
Niw3IEBAIFN0cmluZyBDU1NMaW5lQm94Q29udGFpblZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29u
c3QKIAogdm9pZCBDU1NMaW5lQm94Q29udGFpblZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5
VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBN
ZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVt
ZW50YXRpb246OkNTUyk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5m
bywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogfQogCiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NNZWRpYVJ1bGUuY3BwCmluZGV4IDI3ODY3MGY0MTAxYzA2YTE0ZmU1YmZmNzYxYWQ2NzJiNTdh
YTU5MTYuLjcxMjMxNjE2YzQwMzE4ZjRiNTMwMDFjNGM3MmU2MTE4OTcxODdkYjEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NNZWRpYVJ1bGUuY3BwCkBAIC0xNzcsNyArMTc3LDcgQEAgdm9pZCBDU1NNZWRp
YVJ1bGU6OnJlYXR0YWNoKFN0eWxlUnVsZU1lZGlhKiBydWxlKQogCiB2b2lkIENTU01lZGlhUnVs
ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9i
amVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0
SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAgIE1lbW9yeUNsYXNz
SW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NT
KTsKICAgICBDU1NSdWxlOjpyZXBvcnRCYXNlQ2xhc3NNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJ
bmZvKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX21lZGlhQ1NTT01XcmFwcGVy
KTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZFZlY3RvcihtX2NoaWxkUnVsZUNTU09NV3JhcHBl
cnMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhZ2VSdWxlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQYWdlUnVsZS5jcHAKaW5kZXggNmYwZGE4MDVhMzU2NDBiMGE4
ZWNmMWZkMjRjNjZlOGQ4ODY1ZmYyNS4uODM5YmMyMGY3ZTRjM2FmMTM1MWRlMWVkNzY3Nzg4ZWQ4
MTdiNDRkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhZ2VSdWxlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFnZVJ1bGUuY3BwCkBAIC0xMDQsNyArMTA0LDcg
QEAgdm9pZCBDU1NQYWdlUnVsZTo6cmVhdHRhY2goU3R5bGVSdWxlUGFnZSogcnVsZSkKIAogdm9p
ZCBDU1NQYWdlUnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdElu
Zm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8o
bWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAg
IE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1v
cnlUeXBlczo6Q1NTKTsKICAgICBDU1NSdWxlOjpyZXBvcnRCYXNlQ2xhc3NNZW1vcnlVc2FnZSht
ZW1vcnlPYmplY3RJbmZvKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3BhZ2VS
dWxlKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3Byb3BlcnRpZXNDU1NPTVdy
YXBwZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAKaW5kZXggYzM4
NTBmN2QzNjFlMDYyZjBkNjFjMTk0YWIyMzY1OTYwZjBkOTBkYi4uNTY5ZDRkYzViYzc1MDBiYTYz
YjY1NTFmOWM1NmYwNTM5ZTFmYjQyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ByaW1pdGl2ZVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZl
VmFsdWUuY3BwCkBAIC0xMjQ5LDcgKzEyNDksNyBAQCBQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZh
bHVlPiBDU1NQcmltaXRpdmVWYWx1ZTo6Y2xvbmVGb3JDU1NPTSgpIGNvbnN0CiAKIHZvaWQgQ1NT
UHJpbWl0aXZlVmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJ
bmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZv
KG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAg
ICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVt
b3J5VHlwZXM6OkNTUyk7CiAgICAgc3dpdGNoIChtX3ByaW1pdGl2ZVVuaXRUeXBlKSB7CiAgICAg
Y2FzZSBDU1NfQVRUUjoKICAgICBjYXNlIENTU19DT1VOVEVSX05BTUU6CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1Byb3BlcnR5LmNwcAppbmRleCA0NDQ4ODdjMWQ5NTYxOGQyMzM4Nzk2ZmM5YzM4MzkzOWM4ZmQ1
NzI1Li4yNWY2NGU1MGQ4Njc5MzRhNDM4MmM0MmQxZjgyN2EyMjE5MzM2MDQ4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0eS5jcHAKQEAgLTcxNCw3ICs3MTQsNyBAQCBib29sIENTU1Byb3BlcnR5
Ojppc0luaGVyaXRlZFByb3BlcnR5KENTU1Byb3BlcnR5SUQgcHJvcGVydHlJRCkKIAogdm9pZCBD
U1NQcm9wZXJ0eTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2Jq
ZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJ
bmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CisgICAgTWVtb3J5Q2xhc3NJ
bmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1Mp
OwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdmFsdWUpOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUmVmbGVjdFZhbHVlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NSZWZsZWN0VmFsdWUuY3BwCmluZGV4IDEwZWM4YzA0NTVhMDMzMWZiZWY2NzZi
MzAxMDU0NjM3NjE1Y2IyY2UuLjc4MmNhYTBlMTU1ZTAwYTBhMjk0NDUzYjgxZDg1YmQ5NDZmZGQx
NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSZWZsZWN0VmFsdWUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSZWZsZWN0VmFsdWUuY3BwCkBAIC03MCw3ICs3MCw3
IEBAIHZvaWQgQ1NTUmVmbGVjdFZhbHVlOjphZGRTdWJyZXNvdXJjZVN0eWxlVVJMcyhMaXN0SGFz
aFNldDxLVVJMPiYgdXJscywgY29uc3QgU3R5CiAKIHZvaWQgQ1NTUmVmbGVjdFZhbHVlOjpyZXBv
cnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5m
bykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0
aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGlu
Zm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAg
IGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fb2Zmc2V0KTsKICAgICBpbmZvLmFkZEluc3Ry
dW1lbnRlZE1lbWJlcihtX21hc2spOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1J1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuY3BwCmluZGV4IDI5MTVh
NmU0YThmZTg2MWJlMGZmMzcwYTJiYzZlOGM3NDI5ZjYxYWIuLmZhN2VjZjE0ODE1YzA5NzIxYmVi
OWMyNDAzOWJmNjA3NDQ2YjE5OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NS
dWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5jcHAKQEAgLTIxMiw3ICsy
MTIsNyBAQCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBDU1NSdWxlOjpwYXJzZXJDb250ZXh0KCkg
Y29uc3QKIAogdm9pZCBDU1NSdWxlOjpyZXBvcnRCYXNlQ2xhc3NNZW1vcnlVc2FnZShNZW1vcnlP
YmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5m
byBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NT
KTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJD
b3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgaWYgKG1fcGFyZW50SXNSdWxlKQogICAgICAgICBp
bmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3BhcmVudFJ1bGUpOwogICAgIGVsc2UKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlTGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUnVsZUxpc3QuY3BwCmluZGV4IGFlZDFhN2NkOTVlZjA2NThkNzhlZTM3NTI2MDEy
ZTNiNzM0OTYzOWQuLjQ3MmIzZGQ2MGQwMDk0Zjc1MDVjYWJhMTYzOWE2OGJjYmZiNDhjZGUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlTGlzdC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1J1bGVMaXN0LmNwcApAQCAtNTMsNyArNTMsNyBAQCB2b2lkIFN0YXRp
Y0NTU1J1bGVMaXN0OjpkZXJlZigpCiAKIHZvaWQgU3RhdGljQ1NTUnVsZUxpc3Q6OnJlcG9ydE1l
bW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0g
ICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5z
dHJ1bWVudGF0aW9uOjpDU1MpOworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVj
dEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKICAgICBpbmZvLmFkZEluc3Ry
dW1lbnRlZFZlY3RvcihtX3J1bGVzKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1J1bGVMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZUxpc3QuaAppbmRl
eCAzMTFlYWQ1Mjk3ZDg1NjVhZTBmMzc2YjNlYzRjYmI5MDFlZWJlMmU5Li5lZDNmZGRiMTExMDRm
NjI2NmMyZDM0YjY3ZWZmZjQ5NzU0YjAwYWUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUnVsZUxpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZUxpc3QuaApA
QCAtODgsNyArODgsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0TWVtb3J5
VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QgT1ZFUlJJREUK
ICAgICB7Ci0gICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRo
aXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICAgICAgTWVtb3J5Q2xhc3NJbmZv
IGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwog
ICAgICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3J1bGUpOwogICAgIH0KICAgICAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvckxpc3QuY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yTGlzdC5jcHAKaW5kZXggM2NmMDIwYTcyMGE3NzE0
ZmMzNmJkODNlNjk3YWRhOWE1MjhhYzMyZC4uNWFkYmFhZmZmYmI5Njc5MDhlYTRiMjRiMWVhMTUw
Y2NiNDczNDA2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yTGlz
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yTGlzdC5jcHAKQEAgLTE0
NSw3ICsxNDUsNyBAQCBTdHJpbmcgQ1NTU2VsZWN0b3JMaXN0OjpzZWxlY3RvcnNUZXh0KCkgY29u
c3QKIAogdm9pZCBDU1NTZWxlY3Rvckxpc3Q6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVj
dEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGlu
Zm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOwor
ICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVN
ZW1vcnlUeXBlczo6Q1NTKTsKICAgICBpbmZvLmFkZFJhd0J1ZmZlcihtX3NlbGVjdG9yQXJyYXks
IGxlbmd0aCgpICogc2l6ZW9mKENTU1NlbGVjdG9yKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0
eWxlUnVsZS5jcHAKaW5kZXggMjk3MDNiMWE4MTZlY2NjNTc4MjM4ZTA3Y2EzMzVhYjYwMzIyOGYw
ZC4uOGNjNjEwYjcxY2JmMTRhZWY5MTEyNzIzYjUyMTI5NTc3ZDdiMDMzZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1N0eWxlUnVsZS5jcHAKQEAgLTEzMSw3ICsxMzEsNyBAQCB2b2lkIENTU1N0eWxlUnVs
ZTo6cmVhdHRhY2goU3R5bGVSdWxlKiBydWxlKQogCiB2b2lkIENTU1N0eWxlUnVsZTo6cmVwb3J0
RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8p
IGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhp
cywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZv
KG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKICAgICBD
U1NSdWxlOjpyZXBvcnRCYXNlQ2xhc3NNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAg
ICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3N0eWxlUnVsZSk7CiAgICAgaW5mby5hZGRJ
bnN0cnVtZW50ZWRNZW1iZXIobV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNoZWV0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NTdHlsZVNoZWV0LmNwcAppbmRleCAzODUxMjIwODhmNjU3ODRjM2NhOGRlYTM4MjRhYzg3
NWM5NjA0YWJiLi40NTM1NDMxZmY5MzNiMjdjODk2Y2MyYWEwN2Y1MjdiOWYxNWRmOTA5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTaGVldC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1N0eWxlU2hlZXQuY3BwCkBAIC01OCw3ICs1OCw3IEBAIHByaXZhdGU6
CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyog
bWVtb3J5T2JqZWN0SW5mbykgY29uc3QgT1ZFUlJJREUKICAgICB7Ci0gICAgICAgIE1lbW9yeUNs
YXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlv
bjo6Q1NTKTsKKyAgICAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywg
dGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAgICAgICBpbmZvLmFkZEluc3RydW1l
bnRlZE1lbWJlcihtX3N0eWxlU2hlZXQpOwogICAgIH0KICAgICAKQEAgLTE4NCw3ICsxODQsNyBA
QCB2b2lkIENTU1N0eWxlU2hlZXQ6OnJlYXR0YWNoQ1NTT01XcmFwcGVycygpCiAKIHZvaWQgQ1NT
U3R5bGVTaGVldDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2Jq
ZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJ
bmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CisgICAgTWVtb3J5Q2xhc3NJ
bmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1Mp
OwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fY29udGVudHMpOwogICAgIGluZm8u
YWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdGl0bGUpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKG1fbWVkaWFRdWVyaWVzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NUaW1pbmdGdW5jdGlvblZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NUaW1pbmdG
dW5jdGlvblZhbHVlLmNwcAppbmRleCAxYzcyMDkzN2YwNjQ2ZTk5NWU4NmJkMGJjY2ZhZjIzMzcz
ODcwN2E4Li4yNjQ5MjhkOGI5MTlmY2I4M2MyYzQ3NmNkNzc5YzkxMzBmNTIxMDI5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVGltaW5nRnVuY3Rpb25WYWx1ZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1RpbWluZ0Z1bmN0aW9uVmFsdWUuY3BwCkBAIC0zOCw3ICsz
OCw3IEBAIFN0cmluZyBDU1NMaW5lYXJUaW1pbmdGdW5jdGlvblZhbHVlOjpjdXN0b21Dc3NUZXh0
KCkgY29uc3QKIAogdm9pZCBDU1NMaW5lYXJUaW1pbmdGdW5jdGlvblZhbHVlOjpyZXBvcnREZXNj
ZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29u
c3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBN
ZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVt
b3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogfQogCiBTdHJp
bmcgQ1NTQ3ViaWNCZXppZXJUaW1pbmdGdW5jdGlvblZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29u
c3QKQEAgLTUyLDcgKzUyLDcgQEAgU3RyaW5nIENTU0N1YmljQmV6aWVyVGltaW5nRnVuY3Rpb25W
YWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0CiAKIHZvaWQgQ1NTQ3ViaWNCZXppZXJUaW1pbmdG
dW5jdGlvblZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5m
byogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyht
ZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CisgICAg
TWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9y
eVR5cGVzOjpDU1MpOwogfQogCiBTdHJpbmcgQ1NTU3RlcHNUaW1pbmdGdW5jdGlvblZhbHVlOjpj
dXN0b21Dc3NUZXh0KCkgY29uc3QKQEAgLTYyLDcgKzYyLDcgQEAgU3RyaW5nIENTU1N0ZXBzVGlt
aW5nRnVuY3Rpb25WYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0CiAKIHZvaWQgQ1NTU3RlcHNU
aW1pbmdGdW5jdGlvblZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2Jq
ZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8g
aW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7
CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29y
ZU1lbW9yeVR5cGVzOjpDU1MpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVW5pY29kZVJhbmdlVmFsdWUuY3BwIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1VuaWNvZGVSYW5nZVZhbHVlLmNwcAppbmRleCBhYmQ4MDZkZjRiNjkz
NzlmZTlkMzViZThlOGZmOTIxODU4ODkzNTZhLi5mNDI0ODUzZDdkNGFiNmFhZjRiZGM1ZjNhOTVh
MzUxNWM0YWViZDU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVW5pY29kZVJh
bmdlVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NVbmljb2RlUmFuZ2VWYWx1
ZS5jcHAKQEAgLTQwLDcgKzQwLDcgQEAgU3RyaW5nIENTU1VuaWNvZGVSYW5nZVZhbHVlOjpjdXN0
b21Dc3NUZXh0KCkgY29uc3QKIAogdm9pZCBDU1NVbmljb2RlUmFuZ2VWYWx1ZTo6cmVwb3J0RGVz
Y2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNv
bnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywg
TWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1l
bW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKIH0KIAogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Vua25vd25SdWxlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTVW5rbm93blJ1bGUuaAppbmRleCBhYjY4YWVmOWVjOWM0ZmM3NDFiYTMw
ZTBlMWJkZTMyMTZlYmNhNjlmLi41YWE3NDY0MTZjOTFhMTM3YWE4ZTczZmFhMTA0OGQ4ZjM3MmJj
M2Q5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVW5rbm93blJ1bGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVW5rbm93blJ1bGUuaApAQCAtMzMsNyArMzMsNyBAQCBw
dWJsaWM6CiAKICAgICB2b2lkIHJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmpl
Y3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogICAgIHsKLSAgICAgICAgTWVtb3J5Q2xh
c3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9u
OjpDU1MpOworICAgICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0
aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgICAgIENTU1J1bGU6OnJlcG9ydEJh
c2VDbGFzc01lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwogICAgIH0KIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1ZhbHVlLmNwcAppbmRleCBlZTBhMThjZjUwMjZmZjcwZjY0ZTM4OWIxNzkwNGFkZDZjZTAw
MDUxLi4wNDJlMTAyY2YyM2VkMzRjYmE4OTc4ZjFjZjZkOTI0NDY3ZDVhMzgyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NWYWx1ZS5jcHAKQEAgLTgxLDcgKzgxLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCByZXBv
cnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5m
bykgY29uc3QKICAgICB7Ci0gICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVj
dEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICAgICAgTWVtb3J5
Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVz
OjpDU1MpOwogICAgICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2Nzc1RleHQpOwog
ICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlTGlzdC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVMaXN0LmNwcAppbmRleCBiMTIwZmEyNDJkM2Vk
NDYxMjM2ZjBiYTgxODIyZTdkYjEzZWZhZDU3Li5lNGM5MGZjZWU5ODVmYTcwMmYxMGUzMDVlOTg0
ODE5MTdjNmIwODcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVMaXN0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVMaXN0LmNwcApAQCAtMTg5LDcg
KzE4OSw3IEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWVMaXN0PiBDU1NWYWx1ZUxpc3Q6OmNsb25lRm9y
Q1NTT00oKSBjb25zdAogCiB2b2lkIENTU1ZhbHVlTGlzdDo6cmVwb3J0RGVzY2VuZGFudE1lbW9y
eVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAg
TWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1
bWVudGF0aW9uOjpDU1MpOworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdElu
Zm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKICAgICBpbmZvLmFkZEluc3RydW1l
bnRlZFZlY3RvcihtX3ZhbHVlcyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NWYXJpYWJsZVZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFyaWFibGVWYWx1
ZS5oCmluZGV4IDMwMjBlMWUxYjc4YmEzZGI2NmU1ZWM1NWI0NDljZDdlMmFlYTcyMWIuLmY0NzBi
MzljZWE3ZjI2YWExODEwNzMzMWZjOGYxODRhOGVlYjczMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NWYXJpYWJsZVZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ZhcmlhYmxlVmFsdWUuaApAQCAtNTAsNyArNTAsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHJl
cG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJ
bmZvKSBjb25zdAogICAgIHsKLSAgICAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2Jq
ZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAgICAgICBNZW1v
cnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlw
ZXM6OkNTUyk7CiAgICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbmFtZSk7CiAg
ICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdmFsdWUpOwogICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmVhdHVyZVZhbHVlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9Gb250RmVhdHVyZVZhbHVlLmNwcAppbmRleCA0MTNlYWE0YTI2MDAzZjM5ZGI3
YTUyZWI5MjZmY2I1ZGFiOGQ1N2ViLi4xMjA2ZDk0ZjdkNTFmNjMxZGVhMjg2OWVjZTY3MzVmN2Yw
MGZmYjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZlYXR1cmVWYWx1ZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGZWF0dXJlVmFsdWUuY3BwCkBAIC01Miw3
ICs1Miw3IEBAIFN0cmluZyBGb250RmVhdHVyZVZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QK
IAogdm9pZCBGb250RmVhdHVyZVZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVt
b3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFz
c0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246
OkNTUyk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywg
V2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVy
KG1fdGFnKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRWYWx1ZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udFZhbHVlLmNwcAppbmRleCA0Zjg3NDJjNzBmNDg2
YzU4MGZmMTAzNDlkNDM1NTA3NGM4MDRjNDA2Li42ZjA4M2IxMDY1YWNmZTcyYTQzZjJjN2QwY2I5
NzUzNmI4MTI3ZWU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udFZhbHVlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udFZhbHVlLmNwcApAQCAtNjgsNyArNjgsNyBA
QCBTdHJpbmcgRm9udFZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKIAogdm9pZCBGb250VmFs
dWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlP
YmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVj
dEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBNZW1vcnlDbGFz
c0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNT
Uyk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIoc3R5bGUpOwogICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKHZhcmlhbnQpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKHdlaWdodCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuY3BwCmluZGV4IDY3YTZkNWUyZmVkNjZk
NDIzZGNlMjIyNmM5NTk1MDZkMjRlNGJkZjUuLjkyNmIzMDk4ZWFmYzQ3MzA4YTYxZTc2ZmY2NDdk
ZDMyMDJiOGRjMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuY3BwCkBAIC0yMTQsNyArMjE0LDcg
QEAgU3RyaW5nIE1lZGlhUXVlcnlTZXQ6Om1lZGlhVGV4dCgpIGNvbnN0CiAKIHZvaWQgTWVkaWFR
dWVyeVNldDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0
SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZv
LCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CisgICAgTWVtb3J5Q2xhc3NJbmZv
IGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwog
ICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkVmVjdG9yKG1fcXVlcmllcyk7CiB9CiAgICAgCkBAIC0y
OTIsNyArMjkyLDcgQEAgdm9pZCBNZWRpYUxpc3Q6OnJlYXR0YWNoKE1lZGlhUXVlcnlTZXQqIG1l
ZGlhUXVlcmllcykKIAogdm9pZCBNZWRpYUxpc3Q6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9i
amVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZv
IGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1Mp
OworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNv
cmVNZW1vcnlUeXBlczo6Q1NTKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX21l
ZGlhUXVlcmllcyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1
ZXJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5LmNwcAppbmRleCA0NGMzMmMx
NDI2MWIzZDVlNDNiYmI3ZGJkZjBmNGUxOTEyZDU4MjI0Li5lYzQwZTQzMDVhNGYzMDEyMWZhYjMw
MTllMTE3YWE5OWFkYjZhNDNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFR
dWVyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnkuY3BwCkBAIC0xMzYs
NyArMTM2LDcgQEAgU3RyaW5nIE1lZGlhUXVlcnk6OmNzc1RleHQoKSBjb25zdAogCiB2b2lkIE1l
ZGlhUXVlcnk6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVj
dEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5m
bywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAgIE1lbW9yeUNsYXNzSW5m
byBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsK
ICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX21lZGlhVHlwZSk7CiAgICAgaW5mby5h
ZGRJbnN0cnVtZW50ZWRWZWN0b3JQdHIobV9leHByZXNzaW9ucyk7CiAgICAgaW5mby5hZGRJbnN0
cnVtZW50ZWRNZW1iZXIobV9zZXJpYWxpemF0aW9uQ2FjaGUpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHAuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlh
UXVlcnlFeHAuY3BwCmluZGV4IDRiOTE5OTdkNzAzYTJlOTgzNTY0NTMwMGY3MzRkMjlmNjkwODE3
NzUuLjNhYTY2MjY5Yjg0ZTcwMGU5YWE2YTc0Y2I1ZGE2YWViNGU3Y2U4ZDUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXhwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvTWVkaWFRdWVyeUV4cC5jcHAKQEAgLTExMSw3ICsxMTEsNyBAQCBTdHJpbmcgTWVkaWFR
dWVyeUV4cDo6c2VyaWFsaXplKCkgY29uc3QKIAogdm9pZCBNZWRpYVF1ZXJ5RXhwOjpyZXBvcnRN
ZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewot
ICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUlu
c3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmpl
Y3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgaW5mby5hZGRJbnN0
cnVtZW50ZWRNZW1iZXIobV9tZWRpYUZlYXR1cmUpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKG1fc2VyaWFsaXphdGlvbkNhY2hlKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1l
bWJlcihtX3ZhbHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Qcm9wZXJ0eVNl
dENTU1N0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1Byb3BlcnR5U2V0
Q1NTU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggNWZjMmQzODAzNTVhOTM4ZWEwZWVkN2QzZTQ0
MDE4NmU0YjkxN2I3OC4uMzQ1ODA5MWM0YWU4ZDQwOTIxNzEwYTQ2MzhiMmE2NDExOGY4NDFjMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1Byb3BlcnR5U2V0Q1NTU3R5bGVEZWNsYXJh
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1Byb3BlcnR5U2V0Q1NTU3R5bGVEZWNs
YXJhdGlvbi5jcHAKQEAgLTE3MSw3ICsxNzEsNyBAQCB2b2lkIFByb3BlcnR5U2V0Q1NTU3R5bGVE
ZWNsYXJhdGlvbjo6ZGVyZWYoKQogCiB2b2lkIFByb3BlcnR5U2V0Q1NTU3R5bGVEZWNsYXJhdGlv
bjo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykg
Y29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlz
LCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8o
bWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAgIGlu
Zm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcHJvcGVydHlTZXQpOwogICAgIGlmIChtX2Nzc29t
Q1NTVmFsdWVDbG9uZXMpCiAgICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWFwRW50cmllcygq
bV9jc3NvbUNTU1ZhbHVlQ2xvbmVzKTsKQEAgLTQzMCwxNCArNDMwLDE0IEBAIHZvaWQgU3R5bGVS
dWxlQ1NTU3R5bGVEZWNsYXJhdGlvbjo6cmVhdHRhY2goU3R5bGVQcm9wZXJ0eVNldCogcHJvcGVy
dHlTZXQpCiAKIHZvaWQgU3R5bGVSdWxlQ1NTU3R5bGVEZWNsYXJhdGlvbjo6cmVwb3J0TWVtb3J5
VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBN
ZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVt
ZW50YXRpb246OkNTUyk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5m
bywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAgIFByb3BlcnR5U2V0Q1NTU3R5
bGVEZWNsYXJhdGlvbjo6cmVwb3J0TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7CiAgICAg
aW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9wYXJlbnRSdWxlKTsKIH0KIAogdm9pZCBJbmxp
bmVDU1NTdHlsZURlY2xhcmF0aW9uOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZv
KiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1l
bW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBN
ZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5
VHlwZXM6OkNTUyk7CiAgICAgUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uOjpyZXBvcnRN
ZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1l
bWJlcihtX3BhcmVudEVsZW1lbnQpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L1NoYWRvd1ZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TaGFkb3dWYWx1ZS5jcHAKaW5k
ZXggMzExZTliMTkxMzBiNzM0MDQ5NGEyYTc3ZDRlMTIxMWQ2YTk3YjJkZS4uMzkxNDUwNDg0YjA3
MGFjY2ExMzBmMWUwNDg3NzVhMDEzODcyZGYyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL1NoYWRvd1ZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2hhZG93VmFsdWUu
Y3BwCkBAIC04MSw3ICs4MSw3IEBAIFN0cmluZyBTaGFkb3dWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgp
IGNvbnN0CiAKIHZvaWQgU2hhZG93VmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShN
ZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNs
YXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlv
bjo6Q1NTKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlz
LCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1i
ZXIoeCk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIoeSk7CiAgICAgaW5mby5hZGRJ
bnN0cnVtZW50ZWRNZW1iZXIoYmx1cik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVQcm9wZXJ0eVNldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0eVNl
dC5jcHAKaW5kZXggYjk0OTUwZGQ4NGQ4YjE3ZDliMDNiNmUzMmNmY2E5YzVjMWVlY2MyMy4uZDQ0
NjkzODUwYWYxOWNkZjc3Y2ZjZjEyZjRjYjE4M2NkYTliNDExNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydHlTZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVByb3BlcnR5U2V0LmNwcApAQCAtMTExOSw3ICsxMTE5LDcgQEAgdW5zaWduZWQgU3R5
bGVQcm9wZXJ0eVNldDo6YXZlcmFnZVNpemVJbkJ5dGVzKCkKIHZvaWQgU3R5bGVQcm9wZXJ0eVNl
dDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykg
Y29uc3QKIHsKICAgICBzaXplX3QgYWN0dWFsU2l6ZSA9IG1faXNNdXRhYmxlID8gc2l6ZW9mKFN0
eWxlUHJvcGVydHlTZXQpIDogaW1tdXRhYmxlU3R5bGVQcm9wZXJ0eVNldFNpemUobV9hcnJheVNp
emUpOwotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1l
bW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTLCBhY3R1YWxTaXplKTsKKyAgICBNZW1vcnlDbGFzc0lu
Zm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUywg
YWN0dWFsU2l6ZSk7CiAgICAgaWYgKG1faXNNdXRhYmxlKQogICAgICAgICBpbmZvLmFkZFZlY3Rv
clB0cihtX211dGFibGVQcm9wZXJ0eVZlY3Rvcik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29s
dmVyLmNwcAppbmRleCAzOTVlNGQ5MDAyOGVmNjBlMzcyZGU3MWFjYjc4ZTJkODFjYWRmM2Y2Li43
OGNjZmZhNWQxNGZhOTQ3MWMxMjQ0MzFlMDU0OTg1NDRkNWE2NDMxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC03NDEsNyArNzQxLDcgQEAgdm9pZCBTdHlsZVJlc29sdmVy
OjpGZWF0dXJlczo6Y2xlYXIoKQogCiB2b2lkIFN0eWxlUmVzb2x2ZXI6OkZlYXR1cmVzOjpyZXBv
cnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAog
ewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9y
eUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlP
YmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgaW5mby5hZGRI
YXNoU2V0KGlkc0luUnVsZXMpOwogICAgIGluZm8uYWRkSGFzaFNldChhdHRyc0luUnVsZXMpOwog
ICAgIGluZm8uYWRkVmVjdG9yKHNpYmxpbmdSdWxlcyk7CkBAIC0yNTQ3LDcgKzI1NDcsNyBAQCBS
dWxlRGF0YTo6UnVsZURhdGEoU3R5bGVSdWxlKiBydWxlLCB1bnNpZ25lZCBzZWxlY3RvckluZGV4
LCB1bnNpZ25lZCBwb3NpdGlvbiwgYgogCiB2b2lkIFJ1bGVEYXRhOjpyZXBvcnRNZW1vcnlVc2Fn
ZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9y
eUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRh
dGlvbjo6Q1NTKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0
aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiB9CiAKIFJ1bGVTZXQ6OlJ1bGVTZXQoKQpA
QCAtMjU2NSw3ICsyNTY1LDcgQEAgc3RhdGljIHZvaWQgcmVwb3J0QXRvbVJ1bGVNYXAoTWVtb3J5
Q2xhc3NJbmZvKiBpbmZvLCBjb25zdCBSdWxlU2V0OjpBdG9tUnVsZU1hcCYKIAogdm9pZCBSdWxl
U2V0OjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZv
KSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRo
aXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5m
byhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAg
cmVwb3J0QXRvbVJ1bGVNYXAoJmluZm8sIG1faWRSdWxlcyk7CiAgICAgcmVwb3J0QXRvbVJ1bGVN
YXAoJmluZm8sIG1fY2xhc3NSdWxlcyk7CiAgICAgcmVwb3J0QXRvbVJ1bGVNYXAoJmluZm8sIG1f
dGFnUnVsZXMpOwpAQCAtMjU3OSw3ICsyNTc5LDcgQEAgdm9pZCBSdWxlU2V0OjpyZXBvcnRNZW1v
cnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogCiB2b2lk
IFJ1bGVTZXQ6OlJ1bGVTZXRTZWxlY3RvclBhaXI6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9i
amVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZv
IGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1Mp
OworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNv
cmVNZW1vcnlUeXBlczo6Q1NTKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihydWxl
U2V0KTsKIH0KIApAQCAtNTcyNywyNSArNTcyNywyNSBAQCB2b2lkIFN0eWxlUmVzb2x2ZXI6Omxv
YWRQZW5kaW5nUmVzb3VyY2VzKCkKIAogdm9pZCBTdHlsZVJlc29sdmVyOjpNYXRjaGVkUHJvcGVy
dGllczo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5m
bykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0
aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGlu
Zm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAg
IGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKHByb3BlcnRpZXMpOwogfQogCiB2b2lkIFN0eWxl
UmVzb2x2ZXI6Ok1hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVJdGVtOjpyZXBvcnRNZW1vcnlVc2FnZShN
ZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNs
YXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlv
bjo6Q1NTKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlz
LCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRWZWN0
b3IobWF0Y2hlZFByb3BlcnRpZXMpOwogfQogCiB2b2lkIE1lZGlhUXVlcnlSZXN1bHQ6OnJlcG9y
dE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7
Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5
SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9i
amVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKICAgICBpbmZvLmFkZElu
c3RydW1lbnRlZE1lbWJlcihtX2V4cHJlc3Npb24pOwogfQogCiB2b2lkIFN0eWxlUmVzb2x2ZXI6
OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNv
bnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywg
TWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1l
bW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKICAgICBpbmZv
LmFkZE1lbWJlcihtX3N0eWxlKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2F1
dGhvclN0eWxlKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3VzZXJTdHlsZSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCmluZGV4IDAzZWZjM2EzNGU1MTdlZWI4Yjg0NTNkZjhm
YjI2MmZjMDQwOGE0NzQuLmRhNGYyZjRhZTI5ZWRjZTA5YzJlYjNiM2ZiMmE2NDc4MTJhNjUzYWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCkBAIC04MSw3ICs4MSw3IEBAIHZvaWQgU3R5bGVS
dWxlQmFzZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0
SW5mbykgY29uc3QKICAgICBjYXNlIFVua25vd246CiAgICAgY2FzZSBDaGFyc2V0OgogICAgIGNh
c2UgS2V5ZnJhbWU6Ci0gICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdElu
Zm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICAgICAgTWVtb3J5Q2xh
c3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpD
U1MpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpA
QCAtMjA4LDcgKzIwOCw3IEBAIHVuc2lnbmVkIFN0eWxlUnVsZTo6YXZlcmFnZVNpemVJbkJ5dGVz
KCkKIAogdm9pZCBTdHlsZVJ1bGU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlP
YmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5m
byBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NT
KTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJD
b3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9w
cm9wZXJ0aWVzKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3NlbGVjdG9yTGlz
dCk7CiB9CkBAIC0yNzEsNyArMjcxLDcgQEAgdm9pZCBTdHlsZVJ1bGVQYWdlOjpzZXRQcm9wZXJ0
aWVzKFBhc3NSZWZQdHI8U3R5bGVQcm9wZXJ0eVNldD4gcHJvcGVydGllcykKIAogdm9pZCBTdHls
ZVJ1bGVQYWdlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyog
bWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1v
cnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CisgICAgTWVt
b3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5
cGVzOjpDU1MpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcHJvcGVydGllcyk7
CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9zZWxlY3Rvckxpc3QpOwogfQpAQCAt
MzA1LDcgKzMwNSw3IEBAIHZvaWQgU3R5bGVSdWxlRm9udEZhY2U6OnNldFByb3BlcnRpZXMoUGFz
c1JlZlB0cjxTdHlsZVByb3BlcnR5U2V0PiBwcm9wZXJ0aWVzKQogCiB2b2lkIFN0eWxlUnVsZUZv
bnRGYWNlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVt
b3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlP
YmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CisgICAgTWVtb3J5
Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVz
OjpDU1MpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcHJvcGVydGllcyk7CiB9
CiAKQEAgLTMzNiw3ICszMzYsNyBAQCB2b2lkIFN0eWxlUnVsZUJsb2NrOjp3cmFwcGVyUmVtb3Zl
UnVsZSh1bnNpZ25lZCBpbmRleCkKIAogdm9pZCBTdHlsZVJ1bGVCbG9jazo6cmVwb3J0RGVzY2Vu
ZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0
CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVt
b3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9y
eU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKICAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZFZlY3RvcihtX2NoaWxkUnVsZXMpOwogfQogCkBAIC0zNTUsNyArMzU1LDcg
QEAgU3R5bGVSdWxlTWVkaWE6OlN0eWxlUnVsZU1lZGlhKGNvbnN0IFN0eWxlUnVsZU1lZGlhJiBv
KQogCiB2b2lkIFN0eWxlUnVsZU1lZGlhOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVt
b3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFz
c0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246
OkNTUyk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywg
V2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVy
KG1fbWVkaWFRdWVyaWVzKTsKIH0KIApAQCAtMzczLDcgKzM3Myw3IEBAIFN0eWxlUnVsZVJlZ2lv
bjo6U3R5bGVSdWxlUmVnaW9uKGNvbnN0IFN0eWxlUnVsZVJlZ2lvbiYgbykKIAogdm9pZCBTdHls
ZVJ1bGVSZWdpb246OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZv
KiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1l
bW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBN
ZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5
VHlwZXM6OkNTUyk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9zZWxlY3Rvckxp
c3QpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlSW1wb3J0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVJbXBvcnQuY3BwCmluZGV4IGFhZDg2
NDBiODRiNjc3MmVhYWU3YjYxMWQ4NmMxZDIzM2FkNTZlNTIuLjZlNDUwMWIzNGQ2YjYyMDdjMGY1
MTRiMTQwNWFkNTM3ZWYxM2IyOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVJ1bGVJbXBvcnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVJbXBvcnQu
Y3BwCkBAIC0xNDMsNyArMTQzLDcgQEAgdm9pZCBTdHlsZVJ1bGVJbXBvcnQ6OnJlYXR0YWNoU3R5
bGVTaGVldENvbnRlbnRzKFN0eWxlU2hlZXRDb250ZW50cyogY29udGVudHMpCiAKIHZvaWQgU3R5
bGVSdWxlSW1wb3J0OjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5m
byogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyht
ZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CisgICAg
TWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9y
eVR5cGVzOjpDU1MpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc3RySHJlZik7
CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9tZWRpYVF1ZXJpZXMpOwogICAgIGlu
Zm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc3R5bGVTaGVldCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVNoZWV0Q29udGVudHMuY3BwCmluZGV4IDg2ZTRkMmMyYzA3ZDBjNWVmYjZmMTU1YWQ5
ZWIzMmZjY2UzMTA4NDkuLjM3ZjI3NzBhZmFmMWJjOTY2ZGFhZjEyZjNiMTdjYmFjMzBkOTJkMWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwCkBAIC00OTIsNyAr
NDkyLDcgQEAgdm9pZCBTdHlsZVNoZWV0Q29udGVudHM6OnJlbW92ZWRGcm9tTWVtb3J5Q2FjaGUo
KQogCiB2b2lkIFN0eWxlU2hlZXRDb250ZW50czo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2Jq
ZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8g
aW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7
CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29y
ZU1lbW9yeVR5cGVzOjpDU1MpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fb3Jp
Z2luYWxVUkwpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZW5jb2RpbmdGcm9t
Q2hhcnNldFJ1bGUpOwogICAgIGluZm8uYWRkVmVjdG9yKG1faW1wb3J0UnVsZXMpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0ZpbHRlclZhbHVlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NGaWx0ZXJWYWx1ZS5jcHAKaW5kZXggZjcwYjI2NzNhZWZm
NTAyY2E0YzgyMGU2ZWMxNThiYmJjZTRkZWFjMi4uYzFlY2YzM2QyNDA1NGM2ZTlhYzg1YTJkNDY4
OTU3N2I3NmFkMDkwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0Zp
bHRlclZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTRmlsdGVyVmFs
dWUuY3BwCkBAIC0xMTMsNyArMTEzLDcgQEAgUGFzc1JlZlB0cjxXZWJLaXRDU1NGaWx0ZXJWYWx1
ZT4gV2ViS2l0Q1NTRmlsdGVyVmFsdWU6OmNsb25lRm9yQ1NTT00oKSBjb25zdAogCiB2b2lkIFdl
YktpdENTU0ZpbHRlclZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2Jq
ZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8g
aW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7
CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29y
ZU1lbW9yeVR5cGVzOjpDU1MpOwogICAgIENTU1ZhbHVlTGlzdDo6cmVwb3J0RGVzY2VuZGFudE1l
bW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9X
ZWJLaXRDU1NLZXlmcmFtZVJ1bGUuY3BwCmluZGV4IDkyNTcwNzk5MmI5NGZjN2I5NTlkNjg5YjAx
NmU2NTkxMGE2NTgyZDEuLjFhY2JiNzc5ZDU5Y2IwMjY3YTIyMGFjMmEwZGZmNWJhNmUxN2Y1NTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlmcmFtZVJ1bGUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlmcmFtZVJ1bGUuY3BwCkBAIC05
MSw3ICs5MSw3IEBAIFN0cmluZyBTdHlsZUtleWZyYW1lOjpjc3NUZXh0KCkgY29uc3QKIAogdm9p
ZCBTdHlsZUtleWZyYW1lOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1v
cnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9i
amVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBNZW1vcnlD
bGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6
OkNTUyk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9wcm9wZXJ0aWVzKTsKICAg
ICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2tleSk7CiB9CkBAIC0xMTgsNyArMTE4LDcg
QEAgQ1NTU3R5bGVEZWNsYXJhdGlvbiogV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlOjpzdHlsZSgpIGNv
bnN0CiAKIHZvaWQgV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5
VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBN
ZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVt
ZW50YXRpb246OkNTUyk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5m
bywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAgIENTU1J1bGU6OnJlcG9ydEJh
c2VDbGFzc01lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwogICAgIGluZm8uYWRkSW5zdHJ1
bWVudGVkTWVtYmVyKG1fa2V5ZnJhbWUpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVy
KG1fcHJvcGVydGllc0NTU09NV3JhcHBlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0
Q1NTS2V5ZnJhbWVzUnVsZS5jcHAKaW5kZXggY2E0N2Y3OWJkZDlkN2QzOGMxNTQ2MDE0NDYyYjY4
MmM4ODBkNjZjNS4uYTAyNjAyMTNkNzdlZWVkMjk4ZmJiY2QyMDUwNzQ5MzQ0YzU3YWNiMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1lc1J1bGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmNwcApAQCAtODks
NyArODksNyBAQCBpbnQgU3R5bGVSdWxlS2V5ZnJhbWVzOjpmaW5kS2V5ZnJhbWVJbmRleChjb25z
dCBTdHJpbmcmIGtleSkgY29uc3QKIAogdm9pZCBTdHlsZVJ1bGVLZXlmcmFtZXM6OnJlcG9ydERl
c2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBj
b25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMs
IE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyht
ZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgaW5m
by5hZGRJbnN0cnVtZW50ZWRWZWN0b3IobV9rZXlmcmFtZXMpOwogICAgIGluZm8uYWRkSW5zdHJ1
bWVudGVkTWVtYmVyKG1fbmFtZSk7CiB9CkBAIC0yMDgsNyArMjA4LDcgQEAgdm9pZCBXZWJLaXRD
U1NLZXlmcmFtZXNSdWxlOjpyZWF0dGFjaChTdHlsZVJ1bGVLZXlmcmFtZXMqIHJ1bGUpCiAKIHZv
aWQgV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1l
bW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xh
c3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9u
OjpDU1MpOworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMs
IFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKICAgICBDU1NSdWxlOjpyZXBvcnRCYXNlQ2xhc3NN
ZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1l
bWJlcihtX2tleWZyYW1lc1J1bGUpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkVmVjdG9yKG1f
Y2hpbGRSdWxlQ1NTT01XcmFwcGVycyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
V2ViS2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0
Q1NTTWl4RnVuY3Rpb25WYWx1ZS5jcHAKaW5kZXggN2Y4ZDI3ZDg1N2UwMmZhYTdiZWUxODYwZTZk
YzU4MGNkZTA4MDVhYy4uNmRlNzFkZDA1NjRkOWRmZDQ5NzQxZjcxNGQ3NWQ3YWEzZmU3MTg4NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU01peEZ1bmN0aW9uVmFsdWUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlLmNw
cApAQCAtNTgsNyArNTgsNyBAQCBQYXNzUmVmUHRyPFdlYktpdENTU01peEZ1bmN0aW9uVmFsdWU+
IFdlYktpdENTU01peEZ1bmN0aW9uVmFsdWU6OmNsb25lRm9yQ1NTT00oKQogCiB2b2lkIFdlYktp
dENTU01peEZ1bmN0aW9uVmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlP
YmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5m
byBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NT
KTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJD
b3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgQ1NTVmFsdWVMaXN0OjpyZXBvcnREZXNjZW5kYW50
TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9XZWJLaXRDU1NSZWdpb25SdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9X
ZWJLaXRDU1NSZWdpb25SdWxlLmNwcAppbmRleCAyZGIyMDU5ZjE4OTBjZWIxNjE1NmQyMjFiOTEy
ZGQ4MmI1NDlhNTY5Li5lNjQ4MzJmNmIyYzI4Nzk4M2NiNTJmNjliYTU4N2Q3ZTViYzdjYjk5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTUmVnaW9uUnVsZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1JlZ2lvblJ1bGUuY3BwCkBAIC0xMTAsNyAr
MTEwLDcgQEAgdm9pZCBXZWJLaXRDU1NSZWdpb25SdWxlOjpyZWF0dGFjaChTdHlsZVJ1bGVSZWdp
b24qIHJ1bGUpCiAKIHZvaWQgV2ViS2l0Q1NTUmVnaW9uUnVsZTo6cmVwb3J0RGVzY2VuZGFudE1l
bW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0g
ICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5z
dHJ1bWVudGF0aW9uOjpDU1MpOworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVj
dEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKICAgICBDU1NSdWxlOjpyZXBv
cnRCYXNlQ2xhc3NNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAgICBpbmZvLmFkZElu
c3RydW1lbnRlZE1lbWJlcihtX3JlZ2lvblJ1bGUpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
VmVjdG9yKG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5jcHAKaW5kZXggZDJmYmRmMThjZTFjZTRmMTE4
NDdkNWJiYzM2N2RlYTgyMjk3YmNiNC4uOTNkYmVjZmY1ZDA3NTAwMTdjYjA4YmIxYzg5NzViODQy
YTk5YTk5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1NWR0RvY3Vt
ZW50VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NTVkdEb2N1bWVu
dFZhbHVlLmNwcApAQCAtNjYsNyArNjYsNyBAQCBTdHJpbmcgV2ViS2l0Q1NTU1ZHRG9jdW1lbnRW
YWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0CiAKIHZvaWQgV2ViS2l0Q1NTU1ZHRG9jdW1lbnRW
YWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9y
eU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2Jq
ZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAgIE1lbW9yeUNs
YXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6
Q1NTKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3VybCk7CiAgICAgLy8gRklY
TUU6IGFkZCBtX2RvY3VtZW50IHdoZW4gY2FjaGVkIHJlc291cmNlcyBhcmUgaW5zdHJ1bWVudGVk
LgogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1NoYWRlclZhbHVl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NTaGFkZXJWYWx1ZS5jcHAKaW5kZXgg
Yjg5YjE4MzRlZGFhNGJiODE0YjZiM2FlOTYzOWY5Nzk4ZjZjZjEwNi4uYzBmZmIzMTU2Yzc1MTgw
OWQzN2I0ZWQ0N2ZjZjVjODA5YzdhODU2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L1dlYktpdENTU1NoYWRlclZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0
Q1NTU2hhZGVyVmFsdWUuY3BwCkBAIC04Miw3ICs4Miw3IEBAIFN0cmluZyBXZWJLaXRDU1NTaGFk
ZXJWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0CiAKIHZvaWQgV2ViS2l0Q1NTU2hhZGVyVmFs
dWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlP
YmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVj
dEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBNZW1vcnlDbGFz
c0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNT
Uyk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV91cmwpOwogfQogICAgIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAKaW5kZXggOGUx
OTZlNWFjOTUwMWQ4MzUwZWJmMGZmMzBjZDNmZjc2MzNiZmMwYS4uNWJkOTRiZGNmMzMyM2YzZTY3
NmZkMWIxMzJiNGFkZDcyNTVlODNjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1dl
YktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0
Q1NTVHJhbnNmb3JtVmFsdWUuY3BwCkBAIC0xMDcsNyArMTA3LDcgQEAgUGFzc1JlZlB0cjxXZWJL
aXRDU1NUcmFuc2Zvcm1WYWx1ZT4gV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWU6OmNsb25lRm9yQ1NT
T00oKSBjb24KIAogdm9pZCBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZTo6cmVwb3J0RGVzY2VuZGFu
dE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7
Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5
SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9i
amVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKICAgICBDU1NWYWx1ZUxp
c3Q6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0F0dHJpYnV0ZS5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL0F0dHJpYnV0ZS5oCmluZGV4IDgxYTBiYmRhN2ZhMzhmNDljMmM0ZDNmNTY3MGI0MDM3
ODdjOGYyNTkuLmQxODJmZjI4NTMzNzVjMTA1MmJmZTc2OTNiZmI5NWVkMzQyYzdlZmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9BdHRyaWJ1dGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vQXR0cmlidXRlLmgKQEAgLTY5LDcgKzY5LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBy
ZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25z
dAogICAgIHsKLSAgICAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywg
dGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpET00pOworICAgICAgICBNZW1vcnlDbGFzc0lu
Zm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkRPTSk7
CiAgICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbmFtZSk7CiAgICAgICAgIGlu
Zm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdmFsdWUpOwogICAgIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9DaGFyYWN0ZXJEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9D
aGFyYWN0ZXJEYXRhLmNwcAppbmRleCA4YzkzMGQ4ZjI3MTEyYzZmNmFjYTkxNmQ4ZDVlNGU2MjVj
ZTUyNWI2Li5iZTQ1YTU1YzA3OThlYjQ5OTA0ZjQ0MGJlNTU2MmU1YTY0MDZmMTY4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0YS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0NoYXJhY3RlckRhdGEuY3BwCkBAIC05Niw3ICs5Niw3IEBAIHVuc2lnbmVkIENo
YXJhY3RlckRhdGE6OnBhcnNlckFwcGVuZERhdGEoY29uc3QgVUNoYXIqIGRhdGEsIHVuc2lnbmVk
IGRhdGFMZW5ndGgsCiAKIHZvaWQgQ2hhcmFjdGVyRGF0YTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVt
b3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFz
c0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246
OkRPTSk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywg
V2ViQ29yZU1lbW9yeVR5cGVzOjpET00pOwogICAgIE5vZGU6OnJlcG9ydE1lbW9yeVVzYWdlKG1l
bW9yeU9iamVjdEluZm8pOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZGF0YSk7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5oIGIvU291
cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuaAppbmRleCA4YjkyNDc3M2U3YTI2ZGE1OGE1
ZWQ4NTM4MDUwNGIxYzMzYzI1MzBiLi42MzEyNzE0NjQ1ZmYyZmMyZmM3NDg3NWZmYTYyOWM4Mjk4
NjA1YTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmgKQEAgLTEwMyw3ICsxMDMsNyBA
QCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2Jq
ZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKICAgICB7Ci0gICAgICAgIE1lbW9yeUNs
YXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlv
bjo6RE9NKTsKKyAgICAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywg
dGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpET00pOwogICAgICAgICBOb2RlOjpyZXBvcnRNZW1v
cnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAgICAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRN
ZW1iZXIobV9maXJzdENoaWxkKTsKICAgICAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIo
bV9sYXN0Q2hpbGQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggNDQ2NTc1MTM3MTRkODJj
YjlhMjlhOTA1OWYzMDUwNjVmNDk1ZDc1Zi4uMWRhMWM4MTYzMjI2NWQ1ZjExMmZlZWFkNzI1MzRh
NGU3NGQxOTM5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC02MTIzLDcgKzYxMjMsNyBA
QCB2b2lkIERvY3VtZW50OjpzZXRDb250ZXh0RmVhdHVyZXMoUGFzc1JlZlB0cjxDb250ZXh0RmVh
dHVyZXM+IGZlYXR1cmVzKQogCiB2b2lkIERvY3VtZW50OjpyZXBvcnRNZW1vcnlVc2FnZShNZW1v
cnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNz
SW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6
RE9NKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBX
ZWJDb3JlTWVtb3J5VHlwZXM6OkRPTSk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIo
bV9zdHlsZVJlc29sdmVyKTsKICAgICBDb250YWluZXJOb2RlOjpyZXBvcnRNZW1vcnlVc2FnZSht
ZW1vcnlPYmplY3RJbmZvKTsKICAgICBpbmZvLmFkZFZlY3RvcihtX2N1c3RvbUZvbnRzKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEV2ZW50UXVldWUuY3BwIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50RXZlbnRRdWV1ZS5jcHAKaW5kZXggZjlhNzE3ZTQwYmRl
N2RiOTIwN2M4YTM4NTkyN2UyNDg5NGMyNTM0Ny4uMmQ0Mjk5NDVjMjg2NmIzY2UyZGEwYzQ4MDVm
YmViYzM3ZGJhZGQ3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50RXZl
bnRRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50RXZlbnRRdWV1ZS5j
cHAKQEAgLTExMCw3ICsxMTAsNyBAQCB2b2lkIERvY3VtZW50RXZlbnRRdWV1ZTo6ZW5xdWV1ZU9y
RGlzcGF0Y2hTY3JvbGxFdmVudChQYXNzUmVmUHRyPE5vZGU+IHRhcmdldCwgUwogCiB2b2lkIERv
Y3VtZW50RXZlbnRRdWV1ZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVt
b3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlP
YmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkRPTSk7CisgICAgTWVtb3J5
Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVz
OjpET00pOwogICAgIGluZm8uYWRkTWVtYmVyKG1fcGVuZGluZ0V2ZW50VGltZXIpOwogICAgIGlu
Zm8uYWRkSW5zdHJ1bWVudGVkSGFzaFNldChtX3F1ZXVlZEV2ZW50cyk7CiAgICAgaW5mby5hZGRJ
bnN0cnVtZW50ZWRIYXNoU2V0KG1fbm9kZXNXaXRoUXVldWVkU2Nyb2xsRXZlbnRzKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RWxlbWVudC5oCmluZGV4IDE0MGJjMGJhM2EwMjc0YmMxYTA1MzM0YjA4YzkyNmJhMzQ1NmRkNTgu
LjkwMjVmYjcxODU5ZTRmZmMxMTA4OTIzMTkxOWZkOGY2YWE3YjM0ZTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnQuaApAQCAtNDM2LDcgKzQzNiw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCByZXBv
cnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAog
ICAgIHsKLSAgICAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhp
cywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpET00pOworICAgICAgICBNZW1vcnlDbGFzc0luZm8g
aW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkRPTSk7CiAg
ICAgICAgIENvbnRhaW5lck5vZGU6OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8p
OwogICAgICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3RhZ05hbWUpOwogICAgICAg
ICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2F0dHJpYnV0ZURhdGEpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRBdHRyaWJ1dGVEYXRhLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50QXR0cmlidXRlRGF0YS5jcHAKaW5kZXggZDA3OGZhNDI1MDg5NDNi
NmE1Mzg0YjBiYmM0OTk2YWVhOWNmODNkYi4uOTVhMDI0Yjg0NzFhZTczMzk5N2YzZmQ3YTM5MGI3
YWU2Y2ZiMmJmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRBdHRyaWJ1
dGVEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudEF0dHJpYnV0ZURhdGEu
Y3BwCkBAIC0yOTgsNyArMjk4LDcgQEAgdm9pZCBFbGVtZW50QXR0cmlidXRlRGF0YTo6ZGV0YWNo
QXR0ck9iamVjdHNGcm9tRWxlbWVudChFbGVtZW50KiBlbGVtZW50KSBjb25zdAogdm9pZCBFbGVt
ZW50QXR0cmlidXRlRGF0YTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVt
b3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBzaXplX3QgYWN0dWFsU2l6ZSA9IG1faXNNdXRh
YmxlID8gc2l6ZW9mKEVsZW1lbnRBdHRyaWJ1dGVEYXRhKSA6IGltbXV0YWJsZUVsZW1lbnRBdHRy
aWJ1dGVEYXRhU2l6ZShtX2FycmF5U2l6ZSk7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVt
b3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpET00sIGFjdHVhbFNp
emUpOworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdl
YkNvcmVNZW1vcnlUeXBlczo6RE9NLCBhY3R1YWxTaXplKTsKICAgICBpbmZvLmFkZEluc3RydW1l
bnRlZE1lbWJlcihtX2lubGluZVN0eWxlRGVjbCk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRN
ZW1iZXIobV9hdHRyaWJ1dGVTdHlsZSk7CiAgICAgaW5mby5hZGRNZW1iZXIobV9jbGFzc05hbWVz
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnQuY3BwCmluZGV4IGYxOWNiZGRhNzY1YzYyNmRlNjI3NWE5ODEzNTE0Mjdi
YTdlN2QyNzQuLjMwZDNjZWE3NWRiZWYwMzU3ODBlMTU4YTU0YmRlNzdhYzMzYWQ4ODcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50LmNwcApAQCAtMTU3LDcgKzE1Nyw3IEBAIHZvaWQgRXZlbnQ6OnN0b3JlUmVzdWx0
KGNvbnN0IFN0cmluZyYpCiAKIHZvaWQgRXZlbnQ6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9i
amVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZv
IGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpET00p
OworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNv
cmVNZW1vcnlUeXBlczo6RE9NKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3R5
cGUpOwogICAgIGluZm8uYWRkTWVtYmVyKG1fY3VycmVudFRhcmdldCk7CiAgICAgaW5mby5hZGRN
ZW1iZXIobV90YXJnZXQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL01lbW9yeUlu
c3RydW1lbnRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVtb3J5SW5zdHJ1bWVudGF0
aW9uLmNwcAppbmRleCA3OTBhY2U1Njk3MGNkNWMyODY4NThiN2ZmZDY3N2ZhOTFjZTQwZGY0Li5j
ZTAyYjIxMWJmYjZmMGExODkxMjA2NzMzYjg5MDBhZTFjMzNmMjAxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmNwcApAQCAtMzcsNTEgKzM3LDcyIEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY29uc3QgY2hhciogTWVtb3J5SW5zdHJ1bWVudGF0aW9u
OjpPdGhlciA9ICJPdGhlciI7Ci1jb25zdCBjaGFyKiBNZW1vcnlJbnN0cnVtZW50YXRpb246OkRP
TSA9ICJET00iOwotY29uc3QgY2hhciogTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MgPSAiQ1NT
IjsKLWNvbnN0IGNoYXIqIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6QmluZGluZyA9ICJCaW5kaW5n
IjsKLWNvbnN0IGNoYXIqIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6TG9hZGVyID0gIkxvYWRlciI7
Ci1jb25zdCBjaGFyKiBNZW1vcnlJbnN0cnVtZW50YXRpb246Ok1lbW9yeUNhY2hlU3RydWN0dXJl
cyA9ICJNZW1vcnlDYWNoZVN0cnVjdHVyZXMiOwotY29uc3QgY2hhciogTWVtb3J5SW5zdHJ1bWVu
dGF0aW9uOjpDYWNoZWRSZXNvdXJjZSA9ICJDYWNoZWRSZXNvdXJjZSI7Ci1jb25zdCBjaGFyKiBN
ZW1vcnlJbnN0cnVtZW50YXRpb246OkNhY2hlZFJlc291cmNlQ1NTID0gIkNhY2hlZFJlc291cmNl
Q1NTIjsKLWNvbnN0IGNoYXIqIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q2FjaGVkUmVzb3VyY2VG
b250ID0gIkNhY2hlZFJlc291cmNlRm9udCI7Ci1jb25zdCBjaGFyKiBNZW1vcnlJbnN0cnVtZW50
YXRpb246OkNhY2hlZFJlc291cmNlSW1hZ2UgPSAiQ2FjaGVkUmVzb3VyY2VJbWFnZSI7Ci1jb25z
dCBjaGFyKiBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNhY2hlZFJlc291cmNlU2NyaXB0ID0gIkNh
Y2hlZFJlc291cmNlU2NyaXB0IjsKLWNvbnN0IGNoYXIqIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6
Q2FjaGVkUmVzb3VyY2VTVkcgPSAiQ2FjaGVkUmVzb3VyY2VTVkciOwotY29uc3QgY2hhciogTWVt
b3J5SW5zdHJ1bWVudGF0aW9uOjpDYWNoZWRSZXNvdXJjZVNoYWRlciA9ICJDYWNoZWRSZXNvdXJj
ZVNoYWRlciI7Ci1jb25zdCBjaGFyKiBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNhY2hlZFJlc291
cmNlWFNMVCA9ICJDYWNoZWRSZXNvdXJjZVhTTFQiOworTWVtb3J5T2JqZWN0VHlwZSBHZW5lcmlj
TWVtb3J5VHlwZXM6Ok90aGVyID0gIk90aGVyIjsKIAotdm9pZCBNZW1vcnlJbnN0cnVtZW50YXRp
b246OmFkZEluc3RydW1lbnRlZE9iamVjdEltcGwoY29uc3QgU3RyaW5nKiBjb25zdCYgc3RyaW5n
LCBPYmplY3RUeXBlIG9iamVjdFR5cGUsIE93bmluZ1R5cGUgb3duaW5nVHlwZSkKK01lbW9yeU9i
amVjdFR5cGUgV2ViQ29yZU1lbW9yeVR5cGVzOjpET00gPSAiRE9NIjsKK01lbW9yeU9iamVjdFR5
cGUgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MgPSAiQ1NTIjsKK01lbW9yeU9iamVjdFR5cGUgV2Vi
Q29yZU1lbW9yeVR5cGVzOjpCaW5kaW5nID0gIkJpbmRpbmciOworTWVtb3J5T2JqZWN0VHlwZSBX
ZWJDb3JlTWVtb3J5VHlwZXM6OkxvYWRlciA9ICJMb2FkZXIiOworTWVtb3J5T2JqZWN0VHlwZSBX
ZWJDb3JlTWVtb3J5VHlwZXM6Ok1lbW9yeUNhY2hlU3RydWN0dXJlcyA9ICJNZW1vcnlDYWNoZVN0
cnVjdHVyZXMiOworTWVtb3J5T2JqZWN0VHlwZSBXZWJDb3JlTWVtb3J5VHlwZXM6OkNhY2hlZFJl
c291cmNlID0gIkNhY2hlZFJlc291cmNlIjsKK01lbW9yeU9iamVjdFR5cGUgV2ViQ29yZU1lbW9y
eVR5cGVzOjpDYWNoZWRSZXNvdXJjZUNTUyA9ICJDYWNoZWRSZXNvdXJjZUNTUyI7CitNZW1vcnlP
YmplY3RUeXBlIFdlYkNvcmVNZW1vcnlUeXBlczo6Q2FjaGVkUmVzb3VyY2VGb250ID0gIkNhY2hl
ZFJlc291cmNlRm9udCI7CitNZW1vcnlPYmplY3RUeXBlIFdlYkNvcmVNZW1vcnlUeXBlczo6Q2Fj
aGVkUmVzb3VyY2VJbWFnZSA9ICJDYWNoZWRSZXNvdXJjZUltYWdlIjsKK01lbW9yeU9iamVjdFR5
cGUgV2ViQ29yZU1lbW9yeVR5cGVzOjpDYWNoZWRSZXNvdXJjZVNjcmlwdCA9ICJDYWNoZWRSZXNv
dXJjZVNjcmlwdCI7CitNZW1vcnlPYmplY3RUeXBlIFdlYkNvcmVNZW1vcnlUeXBlczo6Q2FjaGVk
UmVzb3VyY2VTVkcgPSAiQ2FjaGVkUmVzb3VyY2VTVkciOworTWVtb3J5T2JqZWN0VHlwZSBXZWJD
b3JlTWVtb3J5VHlwZXM6OkNhY2hlZFJlc291cmNlU2hhZGVyID0gIkNhY2hlZFJlc291cmNlU2hh
ZGVyIjsKK01lbW9yeU9iamVjdFR5cGUgV2ViQ29yZU1lbW9yeVR5cGVzOjpDYWNoZWRSZXNvdXJj
ZVhTTFQgPSAiQ2FjaGVkUmVzb3VyY2VYU0xUIjsKKwordGVtcGxhdGUgPD4gdm9pZCBNZW1vcnlJ
bnN0cnVtZW50YXRpb25UcmFpdHM6OmFkZEluc3RydW1lbnRlZE9iamVjdDxTdHJpbmc+KE1lbW9y
eUluc3RydW1lbnRhdGlvbiogaW5zdHJ1bWVudGF0aW9uLCBjb25zdCBTdHJpbmcqIGNvbnN0JiBz
dHJpbmcsIE1lbW9yeU9iamVjdFR5cGUgb3duZXJPYmplY3RUeXBlLCBNZW1vcnlPd25pbmdUeXBl
IG93bmluZ1R5cGUpCit7CisgICAgTWVtb3J5SW5zdHJ1bWVudGF0aW9uVHJhaXRzOjphZGRJbnN0
cnVtZW50ZWRPYmplY3Q8Y29uc3QgU3RyaW5nPihpbnN0cnVtZW50YXRpb24sIHN0cmluZywgb3du
ZXJPYmplY3RUeXBlLCBvd25pbmdUeXBlKTsKK30KKwordGVtcGxhdGUgPD4gdm9pZCBNZW1vcnlJ
bnN0cnVtZW50YXRpb25UcmFpdHM6OmFkZEluc3RydW1lbnRlZE9iamVjdDxjb25zdCBTdHJpbmc+
KE1lbW9yeUluc3RydW1lbnRhdGlvbiogaW5zdHJ1bWVudGF0aW9uLCBjb25zdCBTdHJpbmcqIGNv
bnN0JiBzdHJpbmcsIE1lbW9yeU9iamVjdFR5cGUgb3duZXJPYmplY3RUeXBlLCBNZW1vcnlPd25p
bmdUeXBlIG93bmluZ1R5cGUpCiB7Ci0gICAgaWYgKCFzdHJpbmcgfHwgdmlzaXRlZChzdHJpbmcp
KQorICAgIGlmICghc3RyaW5nIHx8IGluc3RydW1lbnRhdGlvbi0+dmlzaXRlZChzdHJpbmcpKQog
ICAgICAgICByZXR1cm47CiAgICAgaWYgKG93bmluZ1R5cGUgPT0gYnlQb2ludGVyKQotICAgICAg
ICBjb3VudE9iamVjdFNpemUob2JqZWN0VHlwZSwgc2l6ZW9mKFN0cmluZykpOwotICAgIGFkZElu
c3RydW1lbnRlZE9iamVjdEltcGwoc3RyaW5nLT5pbXBsKCksIG9iamVjdFR5cGUsIGJ5UG9pbnRl
cik7CisgICAgICAgIGluc3RydW1lbnRhdGlvbi0+Y291bnRPYmplY3RTaXplKG93bmVyT2JqZWN0
VHlwZSwgc2l6ZW9mKFN0cmluZykpOworICAgIGluc3RydW1lbnRhdGlvbi0+YWRkSW5zdHJ1bWVu
dGVkT2JqZWN0KHN0cmluZy0+aW1wbCgpLCBvd25lck9iamVjdFR5cGUpOworfQorCit0ZW1wbGF0
ZSA8PiB2b2lkIE1lbW9yeUluc3RydW1lbnRhdGlvblRyYWl0czo6YWRkSW5zdHJ1bWVudGVkT2Jq
ZWN0PFN0cmluZ0ltcGw+KE1lbW9yeUluc3RydW1lbnRhdGlvbiogaW5zdHJ1bWVudGF0aW9uLCBj
b25zdCBTdHJpbmdJbXBsKiBjb25zdCYgc3RyaW5nSW1wbCwgTWVtb3J5T2JqZWN0VHlwZSBvd25l
ck9iamVjdFR5cGUsIE1lbW9yeU93bmluZ1R5cGUgb3duaW5nVHlwZSkKK3sKKyAgICBNZW1vcnlJ
bnN0cnVtZW50YXRpb25UcmFpdHM6OmFkZEluc3RydW1lbnRlZE9iamVjdDxjb25zdCBTdHJpbmdJ
bXBsPihpbnN0cnVtZW50YXRpb24sIHN0cmluZ0ltcGwsIG93bmVyT2JqZWN0VHlwZSwgb3duaW5n
VHlwZSk7CiB9CiAKLXZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjphZGRJbnN0cnVtZW50ZWRP
YmplY3RJbXBsKGNvbnN0IFN0cmluZ0ltcGwqIGNvbnN0JiBzdHJpbmdJbXBsLCBPYmplY3RUeXBl
IG9iamVjdFR5cGUsIE93bmluZ1R5cGUpCit0ZW1wbGF0ZSA8PiB2b2lkIE1lbW9yeUluc3RydW1l
bnRhdGlvblRyYWl0czo6YWRkSW5zdHJ1bWVudGVkT2JqZWN0PGNvbnN0IFN0cmluZ0ltcGw+KE1l
bW9yeUluc3RydW1lbnRhdGlvbiogaW5zdHJ1bWVudGF0aW9uLCBjb25zdCBTdHJpbmdJbXBsKiBj
b25zdCYgc3RyaW5nSW1wbCwgTWVtb3J5T2JqZWN0VHlwZSBvd25lck9iamVjdFR5cGUsIE1lbW9y
eU93bmluZ1R5cGUpCiB7Ci0gICAgaWYgKCFzdHJpbmdJbXBsIHx8IHZpc2l0ZWQoc3RyaW5nSW1w
bCkpCisgICAgaWYgKCFzdHJpbmdJbXBsIHx8IGluc3RydW1lbnRhdGlvbi0+dmlzaXRlZChzdHJp
bmdJbXBsKSkKICAgICAgICAgcmV0dXJuOwotICAgIGNvdW50T2JqZWN0U2l6ZShvYmplY3RUeXBl
LCBzdHJpbmdJbXBsLT5zaXplSW5CeXRlcygpKTsKKyAgICBpbnN0cnVtZW50YXRpb24tPmNvdW50
T2JqZWN0U2l6ZShvd25lck9iamVjdFR5cGUsIHN0cmluZ0ltcGwtPnNpemVJbkJ5dGVzKCkpOwog
fQogCi12b2lkIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkSW5zdHJ1bWVudGVkT2JqZWN0SW1w
bChjb25zdCBLVVJMKiBjb25zdCYgdXJsLCBPYmplY3RUeXBlIG9iamVjdFR5cGUsIE93bmluZ1R5
cGUgb3duaW5nVHlwZSkKK3RlbXBsYXRlIDw+IHZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uVHJh
aXRzOjphZGRJbnN0cnVtZW50ZWRPYmplY3Q8S1VSTD4oTWVtb3J5SW5zdHJ1bWVudGF0aW9uKiBp
bnN0cnVtZW50YXRpb24sIGNvbnN0IEtVUkwqIGNvbnN0JiB1cmwsIE1lbW9yeU9iamVjdFR5cGUg
b3duZXJPYmplY3RUeXBlLCBNZW1vcnlPd25pbmdUeXBlIG93bmluZ1R5cGUpCiB7Ci0gICAgaWYg
KCF1cmwgfHwgdmlzaXRlZCh1cmwpKQorICAgIE1lbW9yeUluc3RydW1lbnRhdGlvblRyYWl0czo6
YWRkSW5zdHJ1bWVudGVkT2JqZWN0PGNvbnN0IEtVUkw+KGluc3RydW1lbnRhdGlvbiwgdXJsLCBv
d25lck9iamVjdFR5cGUsIG93bmluZ1R5cGUpOworfQorCit0ZW1wbGF0ZSA8PiB2b2lkIE1lbW9y
eUluc3RydW1lbnRhdGlvblRyYWl0czo6YWRkSW5zdHJ1bWVudGVkT2JqZWN0PGNvbnN0IEtVUkw+
KE1lbW9yeUluc3RydW1lbnRhdGlvbiogaW5zdHJ1bWVudGF0aW9uLCBjb25zdCBLVVJMKiBjb25z
dCYgdXJsLCBNZW1vcnlPYmplY3RUeXBlIG93bmVyT2JqZWN0VHlwZSwgTWVtb3J5T3duaW5nVHlw
ZSBvd25pbmdUeXBlKQoreworICAgIGlmICghdXJsIHx8IGluc3RydW1lbnRhdGlvbi0+dmlzaXRl
ZCh1cmwpKQogICAgICAgICByZXR1cm47CiAgICAgaWYgKG93bmluZ1R5cGUgPT0gYnlQb2ludGVy
KQotICAgICAgICBjb3VudE9iamVjdFNpemUob2JqZWN0VHlwZSwgc2l6ZW9mKEtVUkwpKTsKLSAg
ICBhZGRJbnN0cnVtZW50ZWRPYmplY3QodXJsLT5zdHJpbmcoKSwgb2JqZWN0VHlwZSk7CisgICAg
ICAgIGluc3RydW1lbnRhdGlvbi0+Y291bnRPYmplY3RTaXplKG93bmVyT2JqZWN0VHlwZSwgc2l6
ZW9mKEtVUkwpKTsKKyAgICBpbnN0cnVtZW50YXRpb24tPmFkZEluc3RydW1lbnRlZE9iamVjdCh1
cmwtPnN0cmluZygpLCBvd25lck9iamVjdFR5cGUpOwogICAgIGlmICh1cmwtPmlubmVyVVJMKCkp
Ci0gICAgICAgIGFkZEluc3RydW1lbnRlZE9iamVjdCh1cmwtPmlubmVyVVJMKCksIG9iamVjdFR5
cGUpOworICAgICAgICBpbnN0cnVtZW50YXRpb24tPmFkZEluc3RydW1lbnRlZE9iamVjdCh1cmwt
PmlubmVyVVJMKCksIG93bmVyT2JqZWN0VHlwZSk7Cit9CisKK3RlbXBsYXRlIDw+IHZvaWQgTWVt
b3J5SW5zdHJ1bWVudGF0aW9uVHJhaXRzOjphZGRJbnN0cnVtZW50ZWRPYmplY3Q8QXRvbWljU3Ry
aW5nPihNZW1vcnlJbnN0cnVtZW50YXRpb24qIGluc3RydW1lbnRhdGlvbiwgY29uc3QgQXRvbWlj
U3RyaW5nKiBjb25zdCYgYXRvbWljU3RyaW5nLCBNZW1vcnlPYmplY3RUeXBlIG93bmVyT2JqZWN0
VHlwZSwgTWVtb3J5T3duaW5nVHlwZSBvd25pbmdUeXBlKQoreworICAgIE1lbW9yeUluc3RydW1l
bnRhdGlvblRyYWl0czo6YWRkSW5zdHJ1bWVudGVkT2JqZWN0PGNvbnN0IEF0b21pY1N0cmluZz4o
aW5zdHJ1bWVudGF0aW9uLCBhdG9taWNTdHJpbmcsIG93bmVyT2JqZWN0VHlwZSwgb3duaW5nVHlw
ZSk7CiB9CiAKLXZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjphZGRJbnN0cnVtZW50ZWRPYmpl
Y3RJbXBsKGNvbnN0IEF0b21pY1N0cmluZyogY29uc3QmIGF0b21pY1N0cmluZywgT2JqZWN0VHlw
ZSBvYmplY3RUeXBlLCBPd25pbmdUeXBlIG93bmluZ1R5cGUpCit0ZW1wbGF0ZSA8PiB2b2lkIE1l
bW9yeUluc3RydW1lbnRhdGlvblRyYWl0czo6YWRkSW5zdHJ1bWVudGVkT2JqZWN0PGNvbnN0IEF0
b21pY1N0cmluZz4oTWVtb3J5SW5zdHJ1bWVudGF0aW9uKiBpbnN0cnVtZW50YXRpb24sIGNvbnN0
IEF0b21pY1N0cmluZyogY29uc3QmIGF0b21pY1N0cmluZywgTWVtb3J5T2JqZWN0VHlwZSBvd25l
ck9iamVjdFR5cGUsIE1lbW9yeU93bmluZ1R5cGUgb3duaW5nVHlwZSkKIHsKLSAgICBhZGRJbnN0
cnVtZW50ZWRPYmplY3RJbXBsKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgU3RyaW5nKiBjb25zdD4o
YXRvbWljU3RyaW5nKSwgb2JqZWN0VHlwZSwgb3duaW5nVHlwZSk7CisgICAgTWVtb3J5SW5zdHJ1
bWVudGF0aW9uVHJhaXRzOjphZGRJbnN0cnVtZW50ZWRPYmplY3Q8Y29uc3QgU3RyaW5nPihpbnN0
cnVtZW50YXRpb24sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgU3RyaW5nKiBjb25zdD4oYXRvbWlj
U3RyaW5nKSwgb3duZXJPYmplY3RUeXBlLCBvd25pbmdUeXBlKTsKIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL01lbW9yeUluc3RydW1l
bnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZG9tL01lbW9yeUluc3RydW1lbnRhdGlvbi5oCmlu
ZGV4IDA3OTYzNTA0MWQ3Y2UxY2JkMjM3YzEzMTkzOGYyYTFiOWJkNGU1ODguLmQyMGQ4ZDFhY2Fj
MWI0ZTJlOWYwODAwNWRhYWM4NGJhNTUzNzMyOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9NZW1vcnlJbnN0cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVt
b3J5SW5zdHJ1bWVudGF0aW9uLmgKQEAgLTQzLDMxICs0MywzMyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgRGF0YVJlZjsKIGNsYXNzIEtVUkw7CiBj
bGFzcyBNZW1vcnlPYmplY3RJbmZvOworY2xhc3MgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOworCit0
eXBlZGVmIGNvbnN0IGNoYXIqIE1lbW9yeU9iamVjdFR5cGU7CisKK2NsYXNzIEdlbmVyaWNNZW1v
cnlUeXBlcyB7CitwdWJsaWM6CisgICAgc3RhdGljIE1lbW9yeU9iamVjdFR5cGUgT3RoZXI7Cit9
OworCitlbnVtIE1lbW9yeU93bmluZ1R5cGUgeworICAgIGJ5UG9pbnRlciwKKyAgICBieVJlZmVy
ZW5jZQorfTsKKworY2xhc3MgTWVtb3J5SW5zdHJ1bWVudGF0aW9uVHJhaXRzIHsKK3B1YmxpYzoK
KyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3RhdGljIHZvaWQgYWRkSW5zdHJ1bWVudGVkT2Jq
ZWN0KE1lbW9yeUluc3RydW1lbnRhdGlvbiosIGNvbnN0IFQqIGNvbnN0JiwgTWVtb3J5T2JqZWN0
VHlwZSwgTWVtb3J5T3duaW5nVHlwZSk7CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHN0YXRp
YyB2b2lkIGFkZE9iamVjdChNZW1vcnlJbnN0cnVtZW50YXRpb24qLCBjb25zdCBUKiBjb25zdCYs
IE1lbW9yeU9iamVjdFR5cGUsIE1lbW9yeU93bmluZ1R5cGUpOworfTsKIAogY2xhc3MgTWVtb3J5
SW5zdHJ1bWVudGF0aW9uIHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5NZW1vcnlJbnN0cnVtZW50
YXRpb24oKSB7IH0KIAotICAgIHR5cGVkZWYgY29uc3QgY2hhciogT2JqZWN0VHlwZTsKLQotICAg
IHN0YXRpYyBjb25zdCBjaGFyKiBPdGhlcjsKLSAgICBzdGF0aWMgY29uc3QgY2hhciogRE9NOwot
ICAgIHN0YXRpYyBjb25zdCBjaGFyKiBDU1M7Ci0gICAgc3RhdGljIGNvbnN0IGNoYXIqIEJpbmRp
bmc7Ci0gICAgc3RhdGljIGNvbnN0IGNoYXIqIExvYWRlcjsKLSAgICBzdGF0aWMgY29uc3QgY2hh
ciogTWVtb3J5Q2FjaGVTdHJ1Y3R1cmVzOwotICAgIHN0YXRpYyBjb25zdCBjaGFyKiBDYWNoZWRS
ZXNvdXJjZTsKLSAgICBzdGF0aWMgY29uc3QgY2hhciogQ2FjaGVkUmVzb3VyY2VDU1M7Ci0gICAg
c3RhdGljIGNvbnN0IGNoYXIqIENhY2hlZFJlc291cmNlRm9udDsKLSAgICBzdGF0aWMgY29uc3Qg
Y2hhciogQ2FjaGVkUmVzb3VyY2VJbWFnZTsKLSAgICBzdGF0aWMgY29uc3QgY2hhciogQ2FjaGVk
UmVzb3VyY2VTY3JpcHQ7Ci0gICAgc3RhdGljIGNvbnN0IGNoYXIqIENhY2hlZFJlc291cmNlU1ZH
OwotICAgIHN0YXRpYyBjb25zdCBjaGFyKiBDYWNoZWRSZXNvdXJjZVNoYWRlcjsKLSAgICBzdGF0
aWMgY29uc3QgY2hhciogQ2FjaGVkUmVzb3VyY2VYU0xUOwotCiAgICAgdGVtcGxhdGUgPHR5cGVu
YW1lIFQ+IHZvaWQgYWRkUm9vdE9iamVjdChjb25zdCBUJiB0KQogICAgIHsKLSAgICAgICAgYWRk
SW5zdHJ1bWVudGVkT2JqZWN0KHQsIE90aGVyKTsKKyAgICAgICAgYWRkSW5zdHJ1bWVudGVkT2Jq
ZWN0KHQsIEdlbmVyaWNNZW1vcnlUeXBlczo6T3RoZXIpOwogICAgICAgICBwcm9jZXNzRGVmZXJy
ZWRJbnN0cnVtZW50ZWRQb2ludGVycygpOwogICAgIH0KIApAQCAtODEsODkgKzgzLDEwMCBAQCBw
cm90ZWN0ZWQ6CiAgICAgfTsKIAogcHJpdmF0ZToKLSAgICB2aXJ0dWFsIHZvaWQgY291bnRPYmpl
Y3RTaXplKE9iamVjdFR5cGUsIHNpemVfdCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBjb3VudE9i
amVjdFNpemUoTWVtb3J5T2JqZWN0VHlwZSwgc2l6ZV90KSA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IGRlZmVySW5zdHJ1bWVudGVkUG9pbnRlcihQYXNzT3duUHRyPEluc3RydW1lbnRlZFBvaW50ZXJC
YXNlPikgPSAwOwogICAgIHZpcnR1YWwgYm9vbCB2aXNpdGVkKGNvbnN0IHZvaWQqKSA9IDA7CiAg
ICAgdmlydHVhbCB2b2lkIHByb2Nlc3NEZWZlcnJlZEluc3RydW1lbnRlZFBvaW50ZXJzKCkgPSAw
OwogCiAgICAgZnJpZW5kIGNsYXNzIE1lbW9yeUNsYXNzSW5mbzsKKyAgICBmcmllbmQgY2xhc3Mg
TWVtb3J5SW5zdHJ1bWVudGF0aW9uVHJhaXRzOworCiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+
IGNsYXNzIEluc3RydW1lbnRlZFBvaW50ZXIgOiBwdWJsaWMgSW5zdHJ1bWVudGVkUG9pbnRlckJh
c2UgewogICAgIHB1YmxpYzoKLSAgICAgICAgZXhwbGljaXQgSW5zdHJ1bWVudGVkUG9pbnRlcihj
b25zdCBUKiBwb2ludGVyLCBPYmplY3RUeXBlIG93bmVyT2JqZWN0VHlwZSkgOiBtX3BvaW50ZXIo
cG9pbnRlciksIG1fb3duZXJPYmplY3RUeXBlKG93bmVyT2JqZWN0VHlwZSkgeyB9CisgICAgICAg
IGV4cGxpY2l0IEluc3RydW1lbnRlZFBvaW50ZXIoY29uc3QgVCogcG9pbnRlciwgTWVtb3J5T2Jq
ZWN0VHlwZSBvd25lck9iamVjdFR5cGUpIDogbV9wb2ludGVyKHBvaW50ZXIpLCBtX293bmVyT2Jq
ZWN0VHlwZShvd25lck9iamVjdFR5cGUpIHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgcHJvY2Vz
cyhNZW1vcnlJbnN0cnVtZW50YXRpb24qKSBPVkVSUklERTsKIAogICAgIHByaXZhdGU6CiAgICAg
ICAgIGNvbnN0IFQqIG1fcG9pbnRlcjsKLSAgICAgICAgY29uc3QgT2JqZWN0VHlwZSBtX293bmVy
T2JqZWN0VHlwZTsKKyAgICAgICAgY29uc3QgTWVtb3J5T2JqZWN0VHlwZSBtX293bmVyT2JqZWN0
VHlwZTsKICAgICB9OwogCi0gICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHZvaWQgYWRkT2JqZWN0
KGNvbnN0IFQmIHQsIE9iamVjdFR5cGUgb3duZXJPYmplY3RUeXBlKQorICAgIHRlbXBsYXRlIDx0
eXBlbmFtZSBUPiB2b2lkIGFkZE9iamVjdChjb25zdCBUJiB0LCBNZW1vcnlPYmplY3RUeXBlIG93
bmVyT2JqZWN0VHlwZSkKICAgICB7CiAgICAgICAgIE93bmluZ1RyYWl0czxUPjo6YWRkT2JqZWN0
KHRoaXMsIHQsIG93bmVyT2JqZWN0VHlwZSk7CiAgICAgfQogCi0gICAgdGVtcGxhdGUgPHR5cGVu
YW1lIFQ+IHZvaWQgYWRkSW5zdHJ1bWVudGVkT2JqZWN0KGNvbnN0IFQmIHQsIE9iamVjdFR5cGUg
b3duZXJPYmplY3RUeXBlKSB7IE93bmluZ1RyYWl0czxUPjo6YWRkSW5zdHJ1bWVudGVkT2JqZWN0
KHRoaXMsIHQsIG93bmVyT2JqZWN0VHlwZSk7IH0KLSAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgSGFz
aE1hcFR5cGU+IHZvaWQgYWRkSGFzaE1hcChjb25zdCBIYXNoTWFwVHlwZSYsIE9iamVjdFR5cGUs
IGJvb2wgY29udGVudE9ubHkgPSBmYWxzZSk7Ci0gICAgdGVtcGxhdGUgPHR5cGVuYW1lIEhhc2hT
ZXRUeXBlPiB2b2lkIGFkZEhhc2hTZXQoY29uc3QgSGFzaFNldFR5cGUmLCBPYmplY3RUeXBlLCBi
b29sIGNvbnRlbnRPbmx5ID0gZmFsc2UpOwotICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBDb2xsZWN0
aW9uVHlwZT4gdm9pZCBhZGRJbnN0cnVtZW50ZWRDb2xsZWN0aW9uKGNvbnN0IENvbGxlY3Rpb25U
eXBlJiwgT2JqZWN0VHlwZSwgYm9vbCBjb250ZW50T25seSA9IGZhbHNlKTsKLSAgICB0ZW1wbGF0
ZSA8dHlwZW5hbWUgTWFwVHlwZT4gdm9pZCBhZGRJbnN0cnVtZW50ZWRNYXBFbnRyaWVzKGNvbnN0
IE1hcFR5cGUmLCBPYmplY3RUeXBlKTsKLSAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgTWFwVHlwZT4g
dm9pZCBhZGRJbnN0cnVtZW50ZWRNYXBWYWx1ZXMoY29uc3QgTWFwVHlwZSYsIE9iamVjdFR5cGUp
OwotICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBMaXN0SGFzaFNldFR5cGU+IHZvaWQgYWRkTGlzdEhh
c2hTZXQoY29uc3QgTGlzdEhhc2hTZXRUeXBlJiwgT2JqZWN0VHlwZSwgYm9vbCBjb250ZW50T25s
eSA9IGZhbHNlKTsKLSAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVmVjdG9yVHlwZT4gdm9pZCBhZGRW
ZWN0b3IoY29uc3QgVmVjdG9yVHlwZSYsIE9iamVjdFR5cGUsIGJvb2wgY29udGVudE9ubHkgPSBm
YWxzZSk7Ci0gICAgdm9pZCBhZGRSYXdCdWZmZXIoY29uc3Qgdm9pZCogY29uc3QmIGJ1ZmZlciwg
T2JqZWN0VHlwZSBvd25lck9iamVjdFR5cGUsIHNpemVfdCBzaXplKQorICAgIHRlbXBsYXRlIDx0
eXBlbmFtZSBUPiB2b2lkIGFkZEluc3RydW1lbnRlZE9iamVjdChjb25zdCBUJiB0LCBNZW1vcnlP
YmplY3RUeXBlIG93bmVyT2JqZWN0VHlwZSkgeyBPd25pbmdUcmFpdHM8VD46OmFkZEluc3RydW1l
bnRlZE9iamVjdCh0aGlzLCB0LCBvd25lck9iamVjdFR5cGUpOyB9CisgICAgdGVtcGxhdGUgPHR5
cGVuYW1lIEhhc2hNYXBUeXBlPiB2b2lkIGFkZEhhc2hNYXAoY29uc3QgSGFzaE1hcFR5cGUmLCBN
ZW1vcnlPYmplY3RUeXBlLCBib29sIGNvbnRlbnRPbmx5ID0gZmFsc2UpOworICAgIHRlbXBsYXRl
IDx0eXBlbmFtZSBIYXNoU2V0VHlwZT4gdm9pZCBhZGRIYXNoU2V0KGNvbnN0IEhhc2hTZXRUeXBl
JiwgTWVtb3J5T2JqZWN0VHlwZSwgYm9vbCBjb250ZW50T25seSA9IGZhbHNlKTsKKyAgICB0ZW1w
bGF0ZSA8dHlwZW5hbWUgQ29sbGVjdGlvblR5cGU+IHZvaWQgYWRkSW5zdHJ1bWVudGVkQ29sbGVj
dGlvbihjb25zdCBDb2xsZWN0aW9uVHlwZSYsIE1lbW9yeU9iamVjdFR5cGUsIGJvb2wgY29udGVu
dE9ubHkgPSBmYWxzZSk7CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIE1hcFR5cGU+IHZvaWQgYWRk
SW5zdHJ1bWVudGVkTWFwRW50cmllcyhjb25zdCBNYXBUeXBlJiwgTWVtb3J5T2JqZWN0VHlwZSk7
CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIE1hcFR5cGU+IHZvaWQgYWRkSW5zdHJ1bWVudGVkTWFw
VmFsdWVzKGNvbnN0IE1hcFR5cGUmLCBNZW1vcnlPYmplY3RUeXBlKTsKKyAgICB0ZW1wbGF0ZSA8
dHlwZW5hbWUgTGlzdEhhc2hTZXRUeXBlPiB2b2lkIGFkZExpc3RIYXNoU2V0KGNvbnN0IExpc3RI
YXNoU2V0VHlwZSYsIE1lbW9yeU9iamVjdFR5cGUsIGJvb2wgY29udGVudE9ubHkgPSBmYWxzZSk7
CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFZlY3RvclR5cGU+IHZvaWQgYWRkVmVjdG9yKGNvbnN0
IFZlY3RvclR5cGUmLCBNZW1vcnlPYmplY3RUeXBlLCBib29sIGNvbnRlbnRPbmx5ID0gZmFsc2Up
OworICAgIHZvaWQgYWRkUmF3QnVmZmVyKGNvbnN0IHZvaWQqIGNvbnN0JiBidWZmZXIsIE1lbW9y
eU9iamVjdFR5cGUgb3duZXJPYmplY3RUeXBlLCBzaXplX3Qgc2l6ZSkKICAgICB7CiAgICAgICAg
IGlmICghYnVmZmVyIHx8IHZpc2l0ZWQoYnVmZmVyKSkKICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgY291bnRPYmplY3RTaXplKG93bmVyT2JqZWN0VHlwZSwgc2l6ZSk7CiAgICAgfQogCi0g
ICAgZW51bSBPd25pbmdUeXBlIHsKLSAgICAgICAgYnlQb2ludGVyLAotICAgICAgICBieVJlZmVy
ZW5jZQotICAgIH07Ci0KICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KICAgICBzdHJ1Y3QgT3du
aW5nVHJhaXRzIHsgLy8gRGVmYXVsdCBieVJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbi4KLSAgICAg
ICAgc3RhdGljIHZvaWQgYWRkSW5zdHJ1bWVudGVkT2JqZWN0KE1lbW9yeUluc3RydW1lbnRhdGlv
biogaW5zdHJ1bWVudGF0aW9uLCBjb25zdCBUJiB0LCBPYmplY3RUeXBlIG93bmVyT2JqZWN0VHlw
ZSkgeyBpbnN0cnVtZW50YXRpb24tPmFkZEluc3RydW1lbnRlZE9iamVjdEltcGwoJnQsIG93bmVy
T2JqZWN0VHlwZSwgYnlSZWZlcmVuY2UpOyB9Ci0gICAgICAgIHN0YXRpYyB2b2lkIGFkZE9iamVj
dChNZW1vcnlJbnN0cnVtZW50YXRpb24qIGluc3RydW1lbnRhdGlvbiwgY29uc3QgVCYgdCwgT2Jq
ZWN0VHlwZSBvd25lck9iamVjdFR5cGUpIHsgaW5zdHJ1bWVudGF0aW9uLT5hZGRPYmplY3RJbXBs
KCZ0LCBvd25lck9iamVjdFR5cGUsIGJ5UmVmZXJlbmNlKTsgfQorICAgICAgICBzdGF0aWMgdm9p
ZCBhZGRJbnN0cnVtZW50ZWRPYmplY3QoTWVtb3J5SW5zdHJ1bWVudGF0aW9uKiBpbnN0cnVtZW50
YXRpb24sIGNvbnN0IFQmIHQsIE1lbW9yeU9iamVjdFR5cGUgb3duZXJPYmplY3RUeXBlKQorICAg
ICAgICB7CisgICAgICAgICAgICBNZW1vcnlJbnN0cnVtZW50YXRpb25UcmFpdHM6OmFkZEluc3Ry
dW1lbnRlZE9iamVjdDxUPihpbnN0cnVtZW50YXRpb24sICZ0LCBvd25lck9iamVjdFR5cGUsIGJ5
UmVmZXJlbmNlKTsKKyAgICAgICAgfQorICAgICAgICBzdGF0aWMgdm9pZCBhZGRPYmplY3QoTWVt
b3J5SW5zdHJ1bWVudGF0aW9uKiBpbnN0cnVtZW50YXRpb24sIGNvbnN0IFQmIHQsIE1lbW9yeU9i
amVjdFR5cGUgb3duZXJPYmplY3RUeXBlKQorICAgICAgICB7CisgICAgICAgICAgICBNZW1vcnlJ
bnN0cnVtZW50YXRpb25UcmFpdHM6OmFkZE9iamVjdDxUPihpbnN0cnVtZW50YXRpb24sICZ0LCBv
d25lck9iamVjdFR5cGUsIGJ5UmVmZXJlbmNlKTsKKyAgICAgICAgfQogICAgIH07CiAKICAgICB0
ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KICAgICBzdHJ1Y3QgT3duaW5nVHJhaXRzPFQqPiB7IC8vIEN1
c3RvbSBieVBvaW50ZXIgaW1wbGVtZW50YXRpb24uCi0gICAgICAgIHN0YXRpYyB2b2lkIGFkZElu
c3RydW1lbnRlZE9iamVjdChNZW1vcnlJbnN0cnVtZW50YXRpb24qIGluc3RydW1lbnRhdGlvbiwg
Y29uc3QgVCogY29uc3QmIHQsIE9iamVjdFR5cGUgb3duZXJPYmplY3RUeXBlKSB7IGluc3RydW1l
bnRhdGlvbi0+YWRkSW5zdHJ1bWVudGVkT2JqZWN0SW1wbCh0LCBvd25lck9iamVjdFR5cGUsIGJ5
UG9pbnRlcik7IH0KLSAgICAgICAgc3RhdGljIHZvaWQgYWRkT2JqZWN0KE1lbW9yeUluc3RydW1l
bnRhdGlvbiogaW5zdHJ1bWVudGF0aW9uLCBjb25zdCBUKiBjb25zdCYgdCwgT2JqZWN0VHlwZSBv
d25lck9iamVjdFR5cGUpIHsgaW5zdHJ1bWVudGF0aW9uLT5hZGRPYmplY3RJbXBsKHQsIG93bmVy
T2JqZWN0VHlwZSwgYnlQb2ludGVyKTsgfQorICAgICAgICBzdGF0aWMgdm9pZCBhZGRJbnN0cnVt
ZW50ZWRPYmplY3QoTWVtb3J5SW5zdHJ1bWVudGF0aW9uKiBpbnN0cnVtZW50YXRpb24sIGNvbnN0
IFQqIGNvbnN0JiB0LCBNZW1vcnlPYmplY3RUeXBlIG93bmVyT2JqZWN0VHlwZSkKKyAgICAgICAg
eworICAgICAgICAgICAgTWVtb3J5SW5zdHJ1bWVudGF0aW9uVHJhaXRzOjphZGRJbnN0cnVtZW50
ZWRPYmplY3Q8VD4oaW5zdHJ1bWVudGF0aW9uLCB0LCBvd25lck9iamVjdFR5cGUsIGJ5UG9pbnRl
cik7CisgICAgICAgIH0KKyAgICAgICAgc3RhdGljIHZvaWQgYWRkT2JqZWN0KE1lbW9yeUluc3Ry
dW1lbnRhdGlvbiogaW5zdHJ1bWVudGF0aW9uLCBjb25zdCBUKiBjb25zdCYgdCwgTWVtb3J5T2Jq
ZWN0VHlwZSBvd25lck9iamVjdFR5cGUpCisgICAgICAgIHsKKyAgICAgICAgICAgIE1lbW9yeUlu
c3RydW1lbnRhdGlvblRyYWl0czo6YWRkT2JqZWN0PFQ+KGluc3RydW1lbnRhdGlvbiwgdCwgb3du
ZXJPYmplY3RUeXBlLCBieVBvaW50ZXIpOworICAgICAgICB9CiAgICAgfTsKIAotICAgIHZvaWQg
YWRkSW5zdHJ1bWVudGVkT2JqZWN0SW1wbChjb25zdCBTdHJpbmcqIGNvbnN0JiwgT2JqZWN0VHlw
ZSwgT3duaW5nVHlwZSk7Ci0gICAgdm9pZCBhZGRJbnN0cnVtZW50ZWRPYmplY3RJbXBsKGNvbnN0
IFN0cmluZ0ltcGwqIGNvbnN0JiwgT2JqZWN0VHlwZSwgT3duaW5nVHlwZSk7Ci0gICAgdm9pZCBh
ZGRJbnN0cnVtZW50ZWRPYmplY3RJbXBsKGNvbnN0IEF0b21pY1N0cmluZyogY29uc3QmLCBPYmpl
Y3RUeXBlLCBPd25pbmdUeXBlKTsKLSAgICB2b2lkIGFkZEluc3RydW1lbnRlZE9iamVjdEltcGwo
Y29uc3QgS1VSTCogY29uc3QmLCBPYmplY3RUeXBlLCBPd25pbmdUeXBlKTsKLSAgICB0ZW1wbGF0
ZSA8dHlwZW5hbWUgVD4gdm9pZCBhZGRJbnN0cnVtZW50ZWRPYmplY3RJbXBsKGNvbnN0IFQqIGNv
bnN0JiwgT2JqZWN0VHlwZSwgT3duaW5nVHlwZSk7Ci0gICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+
IHZvaWQgYWRkSW5zdHJ1bWVudGVkT2JqZWN0SW1wbChjb25zdCBEYXRhUmVmPFQ+KiBjb25zdCYs
IE9iamVjdFR5cGUsIE93bmluZ1R5cGUpOwotICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiB2b2lk
IGFkZEluc3RydW1lbnRlZE9iamVjdEltcGwoY29uc3QgT3duUHRyPFQ+KiBjb25zdCYsIE9iamVj
dFR5cGUsIE93bmluZ1R5cGUpOwotICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiB2b2lkIGFkZElu
c3RydW1lbnRlZE9iamVjdEltcGwoY29uc3QgUmVmUHRyPFQ+KiBjb25zdCYsIE9iamVjdFR5cGUs
IE93bmluZ1R5cGUpOwotCi0gICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHZvaWQgYWRkT2JqZWN0
SW1wbChjb25zdCBUKiBjb25zdCYsIE9iamVjdFR5cGUsIE93bmluZ1R5cGUpOwotICAgIHRlbXBs
YXRlIDx0eXBlbmFtZSBUPiB2b2lkIGFkZE9iamVjdEltcGwoY29uc3QgRGF0YVJlZjxUPiogY29u
c3QmLCBPYmplY3RUeXBlLCBPd25pbmdUeXBlKTsKLSAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4g
dm9pZCBhZGRPYmplY3RJbXBsKGNvbnN0IE93blB0cjxUPiogY29uc3QmLCBPYmplY3RUeXBlLCBP
d25pbmdUeXBlKTsKLSAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gdm9pZCBhZGRPYmplY3RJbXBs
KGNvbnN0IFJlZlB0cjxUPiogY29uc3QmLCBPYmplY3RUeXBlLCBPd25pbmdUeXBlKTsKLQotICAg
IC8vIExpbmsgdGltZSBndWFyZHMgZm9yIHNwZWNpYWwgY2FzZXMuCi0gICAgdm9pZCBhZGRPYmpl
Y3RJbXBsKGNvbnN0IFN0cmluZyogY29uc3QmLCBPYmplY3RUeXBlLCBPd25pbmdUeXBlKTsKLSAg
ICB2b2lkIGFkZE9iamVjdEltcGwoY29uc3QgU3RyaW5nSW1wbCogY29uc3QmLCBPYmplY3RUeXBl
LCBPd25pbmdUeXBlKTsKLSAgICB2b2lkIGFkZE9iamVjdEltcGwoY29uc3QgQXRvbWljU3RyaW5n
KiBjb25zdCYsIE9iamVjdFR5cGUsIE93bmluZ1R5cGUpOwotICAgIHZvaWQgYWRkT2JqZWN0SW1w
bChjb25zdCBLVVJMKiBjb25zdCYsIE9iamVjdFR5cGUsIE93bmluZ1R5cGUpOworICAgIHRlbXBs
YXRlIDx0eXBlbmFtZSBUPiB2b2lkIGFkZEluc3RydW1lbnRlZE9iamVjdEltcGwoY29uc3QgVCog
Y29uc3QmLCBNZW1vcnlPYmplY3RUeXBlLCBNZW1vcnlPd25pbmdUeXBlKTsKKyAgICB0ZW1wbGF0
ZSA8dHlwZW5hbWUgVD4gdm9pZCBhZGRJbnN0cnVtZW50ZWRPYmplY3RJbXBsKGNvbnN0IERhdGFS
ZWY8VD4qIGNvbnN0JiwgTWVtb3J5T2JqZWN0VHlwZSwgTWVtb3J5T3duaW5nVHlwZSk7CisgICAg
dGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHZvaWQgYWRkSW5zdHJ1bWVudGVkT2JqZWN0SW1wbChjb25z
dCBPd25QdHI8VD4qIGNvbnN0JiwgTWVtb3J5T2JqZWN0VHlwZSwgTWVtb3J5T3duaW5nVHlwZSk7
CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHZvaWQgYWRkSW5zdHJ1bWVudGVkT2JqZWN0SW1w
bChjb25zdCBSZWZQdHI8VD4qIGNvbnN0JiwgTWVtb3J5T2JqZWN0VHlwZSwgTWVtb3J5T3duaW5n
VHlwZSk7CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gdm9pZCBhZGRPYmplY3RJbXBsKGNv
bnN0IFQqIGNvbnN0JiwgTWVtb3J5T2JqZWN0VHlwZSwgTWVtb3J5T3duaW5nVHlwZSk7CisgICAg
dGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHZvaWQgYWRkT2JqZWN0SW1wbChjb25zdCBEYXRhUmVmPFQ+
KiBjb25zdCYsIE1lbW9yeU9iamVjdFR5cGUsIE1lbW9yeU93bmluZ1R5cGUpOworICAgIHRlbXBs
YXRlIDx0eXBlbmFtZSBUPiB2b2lkIGFkZE9iamVjdEltcGwoY29uc3QgT3duUHRyPFQ+KiBjb25z
dCYsIE1lbW9yeU9iamVjdFR5cGUsIE1lbW9yeU93bmluZ1R5cGUpOworICAgIHRlbXBsYXRlIDx0
eXBlbmFtZSBUPiB2b2lkIGFkZE9iamVjdEltcGwoY29uc3QgUmVmUHRyPFQ+KiBjb25zdCYsIE1l
bW9yeU9iamVjdFR5cGUsIE1lbW9yeU93bmluZ1R5cGUpOwogfTsKIAordGVtcGxhdGUgPHR5cGVu
YW1lIFQ+Cit2b2lkIE1lbW9yeUluc3RydW1lbnRhdGlvblRyYWl0czo6YWRkSW5zdHJ1bWVudGVk
T2JqZWN0KE1lbW9yeUluc3RydW1lbnRhdGlvbiogaW5zdHJ1bWVudGF0aW9uLCBjb25zdCBUKiBj
b25zdCYgdCwgTWVtb3J5T2JqZWN0VHlwZSBvd25lck9iamVjdFR5cGUsIE1lbW9yeU93bmluZ1R5
cGUgb3duaW5nVHlwZSkKK3sKKyAgICBpbnN0cnVtZW50YXRpb24tPmFkZEluc3RydW1lbnRlZE9i
amVjdEltcGwodCwgb3duZXJPYmplY3RUeXBlLCBvd25pbmdUeXBlKTsKK30KKwordGVtcGxhdGUg
PHR5cGVuYW1lIFQ+Cit2b2lkIE1lbW9yeUluc3RydW1lbnRhdGlvblRyYWl0czo6YWRkT2JqZWN0
KE1lbW9yeUluc3RydW1lbnRhdGlvbiogaW5zdHJ1bWVudGF0aW9uLCBjb25zdCBUKiBjb25zdCYg
dCwgTWVtb3J5T2JqZWN0VHlwZSBvd25lck9iamVjdFR5cGUsIE1lbW9yeU93bmluZ1R5cGUgb3du
aW5nVHlwZSkKK3sKKyAgICBpbnN0cnVtZW50YXRpb24tPmFkZE9iamVjdEltcGwodCwgb3duZXJP
YmplY3RUeXBlLCBvd25pbmdUeXBlKTsKK30KKwogY2xhc3MgTWVtb3J5T2JqZWN0SW5mbyB7CiBw
dWJsaWM6Ci0gICAgTWVtb3J5T2JqZWN0SW5mbyhNZW1vcnlJbnN0cnVtZW50YXRpb24qIG1lbW9y
eUluc3RydW1lbnRhdGlvbiwgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpPYmplY3RUeXBlIG93bmVy
T2JqZWN0VHlwZSkKKyAgICBNZW1vcnlPYmplY3RJbmZvKE1lbW9yeUluc3RydW1lbnRhdGlvbiog
bWVtb3J5SW5zdHJ1bWVudGF0aW9uLCBNZW1vcnlPYmplY3RUeXBlIG93bmVyT2JqZWN0VHlwZSkK
ICAgICAgICAgOiBtX21lbW9yeUluc3RydW1lbnRhdGlvbihtZW1vcnlJbnN0cnVtZW50YXRpb24p
CiAgICAgICAgICwgbV9vYmplY3RUeXBlKG93bmVyT2JqZWN0VHlwZSkKICAgICAgICAgLCBtX29i
amVjdFNpemUoMCkKICAgICB7IH0KIAotICAgIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6T2JqZWN0
VHlwZSBvYmplY3RUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9vYmplY3RUeXBlOyB9CisgICAgTWVt
b3J5T2JqZWN0VHlwZSBvYmplY3RUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9vYmplY3RUeXBlOyB9
CiAgICAgc2l6ZV90IG9iamVjdFNpemUoKSBjb25zdCB7IHJldHVybiBtX29iamVjdFNpemU7IH0K
IAogICAgIE1lbW9yeUluc3RydW1lbnRhdGlvbiogbWVtb3J5SW5zdHJ1bWVudGF0aW9uKCkgeyBy
ZXR1cm4gbV9tZW1vcnlJbnN0cnVtZW50YXRpb247IH0KQEAgLTE3MSwyNCArMTg0LDI0IEBAIHB1
YmxpYzoKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIE1lbW9yeUNsYXNzSW5mbzsKIAotICAg
IHRlbXBsYXRlIDx0eXBlbmFtZSBUPiB2b2lkIHJlcG9ydE9iamVjdEluZm8oTWVtb3J5SW5zdHJ1
bWVudGF0aW9uOjpPYmplY3RUeXBlIG9iamVjdFR5cGUsIHNpemVfdCBhY3R1YWxTaXplKQorICAg
IHRlbXBsYXRlIDx0eXBlbmFtZSBUPiB2b2lkIHJlcG9ydE9iamVjdEluZm8oTWVtb3J5T2JqZWN0
VHlwZSBvYmplY3RUeXBlLCBzaXplX3QgYWN0dWFsU2l6ZSkKICAgICB7CiAgICAgICAgIGlmICgh
bV9vYmplY3RTaXplKSB7CiAgICAgICAgICAgICBtX29iamVjdFNpemUgPSBhY3R1YWxTaXplID8g
YWN0dWFsU2l6ZSA6IHNpemVvZihUKTsKLSAgICAgICAgICAgIGlmIChvYmplY3RUeXBlICE9IE1l
bW9yeUluc3RydW1lbnRhdGlvbjo6T3RoZXIpCisgICAgICAgICAgICBpZiAob2JqZWN0VHlwZSAh
PSBHZW5lcmljTWVtb3J5VHlwZXM6Ok90aGVyKQogICAgICAgICAgICAgICAgIG1fb2JqZWN0VHlw
ZSA9IG9iamVjdFR5cGU7CiAgICAgICAgIH0KICAgICB9CiAKICAgICBNZW1vcnlJbnN0cnVtZW50
YXRpb24qIG1fbWVtb3J5SW5zdHJ1bWVudGF0aW9uOwotICAgIE1lbW9yeUluc3RydW1lbnRhdGlv
bjo6T2JqZWN0VHlwZSBtX29iamVjdFR5cGU7CisgICAgTWVtb3J5T2JqZWN0VHlwZSBtX29iamVj
dFR5cGU7CiAgICAgc2l6ZV90IG1fb2JqZWN0U2l6ZTsKIH07CiAKIGNsYXNzIE1lbW9yeUNsYXNz
SW5mbyB7CiBwdWJsaWM6CiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci0gICAgTWVtb3J5Q2xh
c3NJbmZvKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8sIGNvbnN0IFQqLCBNZW1v
cnlJbnN0cnVtZW50YXRpb246Ok9iamVjdFR5cGUgb2JqZWN0VHlwZSwgc2l6ZV90IGFjdHVhbFNp
emUgPSAwKQorICAgIE1lbW9yeUNsYXNzSW5mbyhNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmpl
Y3RJbmZvLCBjb25zdCBUKiwgTWVtb3J5T2JqZWN0VHlwZSBvYmplY3RUeXBlLCBzaXplX3QgYWN0
dWFsU2l6ZSA9IDApCiAgICAgICAgIDogbV9tZW1vcnlPYmplY3RJbmZvKG1lbW9yeU9iamVjdElu
Zm8pCiAgICAgICAgICwgbV9tZW1vcnlJbnN0cnVtZW50YXRpb24obWVtb3J5T2JqZWN0SW5mby0+
bWVtb3J5SW5zdHJ1bWVudGF0aW9uKCkpCiAgICAgewpAQCAtMjE2LDExICsyMjksMTEgQEAgcHVi
bGljOgogcHJpdmF0ZToKICAgICBNZW1vcnlPYmplY3RJbmZvKiBtX21lbW9yeU9iamVjdEluZm87
CiAgICAgTWVtb3J5SW5zdHJ1bWVudGF0aW9uKiBtX21lbW9yeUluc3RydW1lbnRhdGlvbjsKLSAg
ICBNZW1vcnlJbnN0cnVtZW50YXRpb246Ok9iamVjdFR5cGUgbV9vYmplY3RUeXBlOworICAgIE1l
bW9yeU9iamVjdFR5cGUgbV9vYmplY3RUeXBlOwogfTsKIAogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+
Ci12b2lkIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkSW5zdHJ1bWVudGVkT2JqZWN0SW1wbChj
b25zdCBUKiBjb25zdCYgb2JqZWN0LCBPYmplY3RUeXBlIG93bmVyT2JqZWN0VHlwZSwgT3duaW5n
VHlwZSBvd25pbmdUeXBlKQordm9pZCBNZW1vcnlJbnN0cnVtZW50YXRpb246OmFkZEluc3RydW1l
bnRlZE9iamVjdEltcGwoY29uc3QgVCogY29uc3QmIG9iamVjdCwgTWVtb3J5T2JqZWN0VHlwZSBv
d25lck9iamVjdFR5cGUsIE1lbW9yeU93bmluZ1R5cGUgb3duaW5nVHlwZSkKIHsKICAgICBpZiAo
b3duaW5nVHlwZSA9PSBieVJlZmVyZW5jZSkgewogICAgICAgICBNZW1vcnlPYmplY3RJbmZvIG1l
bW9yeU9iamVjdEluZm8odGhpcywgb3duZXJPYmplY3RUeXBlKTsKQEAgLTIzMyw3ICsyNDYsNyBA
QCB2b2lkIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkSW5zdHJ1bWVudGVkT2JqZWN0SW1wbChj
b25zdCBUKiBjb25zdCYgb2JqZWN0LCBPYgogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLXZv
aWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjphZGRJbnN0cnVtZW50ZWRPYmplY3RJbXBsKGNvbnN0
IERhdGFSZWY8VD4qIGNvbnN0JiBvYmplY3QsIE9iamVjdFR5cGUgb3duZXJPYmplY3RUeXBlLCBP
d25pbmdUeXBlIG93bmluZ1R5cGUpCit2b2lkIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkSW5z
dHJ1bWVudGVkT2JqZWN0SW1wbChjb25zdCBEYXRhUmVmPFQ+KiBjb25zdCYgb2JqZWN0LCBNZW1v
cnlPYmplY3RUeXBlIG93bmVyT2JqZWN0VHlwZSwgTWVtb3J5T3duaW5nVHlwZSBvd25pbmdUeXBl
KQogewogICAgIGlmIChvd25pbmdUeXBlID09IGJ5UG9pbnRlcikKICAgICAgICAgY291bnRPYmpl
Y3RTaXplKG93bmVyT2JqZWN0VHlwZSwgc2l6ZW9mKCpvYmplY3QpKTsKQEAgLTI0MSw3ICsyNTQs
NyBAQCB2b2lkIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkSW5zdHJ1bWVudGVkT2JqZWN0SW1w
bChjb25zdCBEYXRhUmVmPFQ+KiBjb25zdCYgbwogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4K
LXZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjphZGRJbnN0cnVtZW50ZWRPYmplY3RJbXBsKGNv
bnN0IE93blB0cjxUPiogY29uc3QmIG9iamVjdCwgT2JqZWN0VHlwZSBvd25lck9iamVjdFR5cGUs
IE93bmluZ1R5cGUgb3duaW5nVHlwZSkKK3ZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjphZGRJ
bnN0cnVtZW50ZWRPYmplY3RJbXBsKGNvbnN0IE93blB0cjxUPiogY29uc3QmIG9iamVjdCwgTWVt
b3J5T2JqZWN0VHlwZSBvd25lck9iamVjdFR5cGUsIE1lbW9yeU93bmluZ1R5cGUgb3duaW5nVHlw
ZSkKIHsKICAgICBpZiAob3duaW5nVHlwZSA9PSBieVBvaW50ZXIpCiAgICAgICAgIGNvdW50T2Jq
ZWN0U2l6ZShvd25lck9iamVjdFR5cGUsIHNpemVvZigqb2JqZWN0KSk7CkBAIC0yNDksNyArMjYy
LDcgQEAgdm9pZCBNZW1vcnlJbnN0cnVtZW50YXRpb246OmFkZEluc3RydW1lbnRlZE9iamVjdElt
cGwoY29uc3QgT3duUHRyPFQ+KiBjb25zdCYgb2IKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+
Ci12b2lkIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkSW5zdHJ1bWVudGVkT2JqZWN0SW1wbChj
b25zdCBSZWZQdHI8VD4qIGNvbnN0JiBvYmplY3QsIE9iamVjdFR5cGUgb3duZXJPYmplY3RUeXBl
LCBPd25pbmdUeXBlIG93bmluZ1R5cGUpCit2b2lkIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRk
SW5zdHJ1bWVudGVkT2JqZWN0SW1wbChjb25zdCBSZWZQdHI8VD4qIGNvbnN0JiBvYmplY3QsIE1l
bW9yeU9iamVjdFR5cGUgb3duZXJPYmplY3RUeXBlLCBNZW1vcnlPd25pbmdUeXBlIG93bmluZ1R5
cGUpCiB7CiAgICAgaWYgKG93bmluZ1R5cGUgPT0gYnlQb2ludGVyKQogICAgICAgICBjb3VudE9i
amVjdFNpemUob3duZXJPYmplY3RUeXBlLCBzaXplb2YoKm9iamVjdCkpOwpAQCAtMjU3LDcgKzI3
MCw3IEBAIHZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjphZGRJbnN0cnVtZW50ZWRPYmplY3RJ
bXBsKGNvbnN0IFJlZlB0cjxUPiogY29uc3QmIG9iCiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBU
Pgotdm9pZCBNZW1vcnlJbnN0cnVtZW50YXRpb246OmFkZE9iamVjdEltcGwoY29uc3QgRGF0YVJl
ZjxUPiogY29uc3QmIG9iamVjdCwgT2JqZWN0VHlwZSBvd25lck9iamVjdFR5cGUsIE93bmluZ1R5
cGUgb3duaW5nVHlwZSkKK3ZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjphZGRPYmplY3RJbXBs
KGNvbnN0IERhdGFSZWY8VD4qIGNvbnN0JiBvYmplY3QsIE1lbW9yeU9iamVjdFR5cGUgb3duZXJP
YmplY3RUeXBlLCBNZW1vcnlPd25pbmdUeXBlIG93bmluZ1R5cGUpCiB7CiAgICAgaWYgKG93bmlu
Z1R5cGUgPT0gYnlQb2ludGVyKQogICAgICAgICBjb3VudE9iamVjdFNpemUob3duZXJPYmplY3RU
eXBlLCBzaXplb2YoKm9iamVjdCkpOwpAQCAtMjY1LDcgKzI3OCw3IEBAIHZvaWQgTWVtb3J5SW5z
dHJ1bWVudGF0aW9uOjphZGRPYmplY3RJbXBsKGNvbnN0IERhdGFSZWY8VD4qIGNvbnN0JiBvYmpl
Y3QsIE9iamVjCiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotdm9pZCBNZW1vcnlJbnN0cnVt
ZW50YXRpb246OmFkZE9iamVjdEltcGwoY29uc3QgT3duUHRyPFQ+KiBjb25zdCYgb2JqZWN0LCBP
YmplY3RUeXBlIG93bmVyT2JqZWN0VHlwZSwgT3duaW5nVHlwZSBvd25pbmdUeXBlKQordm9pZCBN
ZW1vcnlJbnN0cnVtZW50YXRpb246OmFkZE9iamVjdEltcGwoY29uc3QgT3duUHRyPFQ+KiBjb25z
dCYgb2JqZWN0LCBNZW1vcnlPYmplY3RUeXBlIG93bmVyT2JqZWN0VHlwZSwgTWVtb3J5T3duaW5n
VHlwZSBvd25pbmdUeXBlKQogewogICAgIGlmIChvd25pbmdUeXBlID09IGJ5UG9pbnRlcikKICAg
ICAgICAgY291bnRPYmplY3RTaXplKG93bmVyT2JqZWN0VHlwZSwgc2l6ZW9mKCpvYmplY3QpKTsK
QEAgLTI3Myw3ICsyODYsNyBAQCB2b2lkIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkT2JqZWN0
SW1wbChjb25zdCBPd25QdHI8VD4qIGNvbnN0JiBvYmplY3QsIE9iamVjdAogfQogCiB0ZW1wbGF0
ZSA8dHlwZW5hbWUgVD4KLXZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjphZGRPYmplY3RJbXBs
KGNvbnN0IFJlZlB0cjxUPiogY29uc3QmIG9iamVjdCwgT2JqZWN0VHlwZSBvd25lck9iamVjdFR5
cGUsIE93bmluZ1R5cGUgb3duaW5nVHlwZSkKK3ZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjph
ZGRPYmplY3RJbXBsKGNvbnN0IFJlZlB0cjxUPiogY29uc3QmIG9iamVjdCwgTWVtb3J5T2JqZWN0
VHlwZSBvd25lck9iamVjdFR5cGUsIE1lbW9yeU93bmluZ1R5cGUgb3duaW5nVHlwZSkKIHsKICAg
ICBpZiAob3duaW5nVHlwZSA9PSBieVBvaW50ZXIpCiAgICAgICAgIGNvdW50T2JqZWN0U2l6ZShv
d25lck9iamVjdFR5cGUsIHNpemVvZigqb2JqZWN0KSk7CkBAIC0yODEsNyArMjk0LDcgQEAgdm9p
ZCBNZW1vcnlJbnN0cnVtZW50YXRpb246OmFkZE9iamVjdEltcGwoY29uc3QgUmVmUHRyPFQ+KiBj
b25zdCYgb2JqZWN0LCBPYmplY3QKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci12b2lkIE1l
bW9yeUluc3RydW1lbnRhdGlvbjo6YWRkT2JqZWN0SW1wbChjb25zdCBUKiBjb25zdCYgb2JqZWN0
LCBPYmplY3RUeXBlIG93bmVyT2JqZWN0VHlwZSwgT3duaW5nVHlwZSBvd25pbmdUeXBlKQordm9p
ZCBNZW1vcnlJbnN0cnVtZW50YXRpb246OmFkZE9iamVjdEltcGwoY29uc3QgVCogY29uc3QmIG9i
amVjdCwgTWVtb3J5T2JqZWN0VHlwZSBvd25lck9iamVjdFR5cGUsIE1lbW9yeU93bmluZ1R5cGUg
b3duaW5nVHlwZSkKIHsKICAgICBpZiAoIW9iamVjdCB8fCB2aXNpdGVkKG9iamVjdCkpCiAgICAg
ICAgIHJldHVybjsKQEAgLTI5MSw3ICszMDQsNyBAQCB2b2lkIE1lbW9yeUluc3RydW1lbnRhdGlv
bjo6YWRkT2JqZWN0SW1wbChjb25zdCBUKiBjb25zdCYgb2JqZWN0LCBPYmplY3RUeXBlIG93bgog
fQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBIYXNoTWFwVHlwZT4KLXZvaWQgTWVtb3J5SW5zdHJ1bWVu
dGF0aW9uOjphZGRIYXNoTWFwKGNvbnN0IEhhc2hNYXBUeXBlJiBoYXNoTWFwLCBPYmplY3RUeXBl
IG93bmVyT2JqZWN0VHlwZSwgYm9vbCBjb250ZW50T25seSkKK3ZvaWQgTWVtb3J5SW5zdHJ1bWVu
dGF0aW9uOjphZGRIYXNoTWFwKGNvbnN0IEhhc2hNYXBUeXBlJiBoYXNoTWFwLCBNZW1vcnlPYmpl
Y3RUeXBlIG93bmVyT2JqZWN0VHlwZSwgYm9vbCBjb250ZW50T25seSkKIHsKICAgICBpZiAodmlz
aXRlZCgmaGFzaE1hcCkpCiAgICAgICAgIHJldHVybjsKQEAgLTI5OSw3ICszMTIsNyBAQCB2b2lk
IE1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkSGFzaE1hcChjb25zdCBIYXNoTWFwVHlwZSYgaGFz
aE1hcCwgT2JqZWN0VHlwZSBvdwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBIYXNoU2V0VHlwZT4K
LXZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjphZGRIYXNoU2V0KGNvbnN0IEhhc2hTZXRUeXBl
JiBoYXNoU2V0LCBPYmplY3RUeXBlIG93bmVyT2JqZWN0VHlwZSwgYm9vbCBjb250ZW50T25seSkK
K3ZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjphZGRIYXNoU2V0KGNvbnN0IEhhc2hTZXRUeXBl
JiBoYXNoU2V0LCBNZW1vcnlPYmplY3RUeXBlIG93bmVyT2JqZWN0VHlwZSwgYm9vbCBjb250ZW50
T25seSkKIHsKICAgICBpZiAodmlzaXRlZCgmaGFzaFNldCkpCiAgICAgICAgIHJldHVybjsKQEAg
LTMwNyw3ICszMjAsNyBAQCB2b2lkIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkSGFzaFNldChj
b25zdCBIYXNoU2V0VHlwZSYgaGFzaFNldCwgT2JqZWN0VHlwZSBvdwogfQogCiB0ZW1wbGF0ZSA8
dHlwZW5hbWUgQ29sbGVjdGlvblR5cGU+Ci12b2lkIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRk
SW5zdHJ1bWVudGVkQ29sbGVjdGlvbihjb25zdCBDb2xsZWN0aW9uVHlwZSYgY29sbGVjdGlvbiwg
T2JqZWN0VHlwZSBvd25lck9iamVjdFR5cGUsIGJvb2wgY29udGVudE9ubHkpCit2b2lkIE1lbW9y
eUluc3RydW1lbnRhdGlvbjo6YWRkSW5zdHJ1bWVudGVkQ29sbGVjdGlvbihjb25zdCBDb2xsZWN0
aW9uVHlwZSYgY29sbGVjdGlvbiwgTWVtb3J5T2JqZWN0VHlwZSBvd25lck9iamVjdFR5cGUsIGJv
b2wgY29udGVudE9ubHkpCiB7CiAgICAgaWYgKHZpc2l0ZWQoJmNvbGxlY3Rpb24pKQogICAgICAg
ICByZXR1cm47CkBAIC0zMTgsNyArMzMxLDcgQEAgdm9pZCBNZW1vcnlJbnN0cnVtZW50YXRpb246
OmFkZEluc3RydW1lbnRlZENvbGxlY3Rpb24oY29uc3QgQ29sbGVjdGlvblR5cGUmIGNvbGwKIH0K
IAogdGVtcGxhdGUgPHR5cGVuYW1lIE1hcFR5cGU+Ci12b2lkIE1lbW9yeUluc3RydW1lbnRhdGlv
bjo6YWRkSW5zdHJ1bWVudGVkTWFwRW50cmllcyhjb25zdCBNYXBUeXBlJiBtYXAsIE9iamVjdFR5
cGUgb3duZXJPYmplY3RUeXBlKQordm9pZCBNZW1vcnlJbnN0cnVtZW50YXRpb246OmFkZEluc3Ry
dW1lbnRlZE1hcEVudHJpZXMoY29uc3QgTWFwVHlwZSYgbWFwLCBNZW1vcnlPYmplY3RUeXBlIG93
bmVyT2JqZWN0VHlwZSkKIHsKICAgICB0eXBlbmFtZSBNYXBUeXBlOjpjb25zdF9pdGVyYXRvciBl
bmQgPSBtYXAuZW5kKCk7CiAgICAgZm9yICh0eXBlbmFtZSBNYXBUeXBlOjpjb25zdF9pdGVyYXRv
ciBpID0gbWFwLmJlZ2luKCk7IGkgIT0gZW5kOyArK2kpIHsKQEAgLTMyOCw3ICszNDEsNyBAQCB2
b2lkIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkSW5zdHJ1bWVudGVkTWFwRW50cmllcyhjb25z
dCBNYXBUeXBlJiBtYXAsIE9iamVjdAogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTWFwVHlwZT4K
LXZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjphZGRJbnN0cnVtZW50ZWRNYXBWYWx1ZXMoY29u
c3QgTWFwVHlwZSYgbWFwLCBPYmplY3RUeXBlIG93bmVyT2JqZWN0VHlwZSkKK3ZvaWQgTWVtb3J5
SW5zdHJ1bWVudGF0aW9uOjphZGRJbnN0cnVtZW50ZWRNYXBWYWx1ZXMoY29uc3QgTWFwVHlwZSYg
bWFwLCBNZW1vcnlPYmplY3RUeXBlIG93bmVyT2JqZWN0VHlwZSkKIHsKICAgICB0eXBlbmFtZSBN
YXBUeXBlOjpjb25zdF9pdGVyYXRvciBlbmQgPSBtYXAuZW5kKCk7CiAgICAgZm9yICh0eXBlbmFt
ZSBNYXBUeXBlOjpjb25zdF9pdGVyYXRvciBpID0gbWFwLmJlZ2luKCk7IGkgIT0gZW5kOyArK2kp
CkBAIC0zMzYsNyArMzQ5LDcgQEAgdm9pZCBNZW1vcnlJbnN0cnVtZW50YXRpb246OmFkZEluc3Ry
dW1lbnRlZE1hcFZhbHVlcyhjb25zdCBNYXBUeXBlJiBtYXAsIE9iamVjdFQKIH0KIAogdGVtcGxh
dGU8dHlwZW5hbWUgTGlzdEhhc2hTZXRUeXBlPgotdm9pZCBNZW1vcnlJbnN0cnVtZW50YXRpb246
OmFkZExpc3RIYXNoU2V0KGNvbnN0IExpc3RIYXNoU2V0VHlwZSYgaGFzaFNldCwgT2JqZWN0VHlw
ZSBvd25lck9iamVjdFR5cGUsIGJvb2wgY29udGVudE9ubHkpCit2b2lkIE1lbW9yeUluc3RydW1l
bnRhdGlvbjo6YWRkTGlzdEhhc2hTZXQoY29uc3QgTGlzdEhhc2hTZXRUeXBlJiBoYXNoU2V0LCBN
ZW1vcnlPYmplY3RUeXBlIG93bmVyT2JqZWN0VHlwZSwgYm9vbCBjb250ZW50T25seSkKIHsKICAg
ICBpZiAodmlzaXRlZCgmaGFzaFNldCkpCiAgICAgICAgIHJldHVybjsKQEAgLTM0NSw3ICszNTgs
NyBAQCB2b2lkIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkTGlzdEhhc2hTZXQoY29uc3QgTGlz
dEhhc2hTZXRUeXBlJiBoYXNoU2V0LCBPYmplYwogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVmVj
dG9yVHlwZT4KLXZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjphZGRWZWN0b3IoY29uc3QgVmVj
dG9yVHlwZSYgdmVjdG9yLCBPYmplY3RUeXBlIG93bmVyT2JqZWN0VHlwZSwgYm9vbCBjb250ZW50
T25seSkKK3ZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjphZGRWZWN0b3IoY29uc3QgVmVjdG9y
VHlwZSYgdmVjdG9yLCBNZW1vcnlPYmplY3RUeXBlIG93bmVyT2JqZWN0VHlwZSwgYm9vbCBjb250
ZW50T25seSkKIHsKICAgICBpZiAoIXZlY3Rvci5kYXRhKCkgfHwgdmlzaXRlZCh2ZWN0b3IuZGF0
YSgpKSkKICAgICAgICAgcmV0dXJuOwpAQCAtMzY2LDYgKzM3OSw0OSBAQCB2b2lkIE1lbW9yeUlu
c3RydW1lbnRhdGlvbjo6SW5zdHJ1bWVudGVkUG9pbnRlcjxUPjo6cHJvY2VzcyhNZW1vcnlJbnN0
cnVtZW50YXRpbwogICAgIG1lbW9yeUluc3RydW1lbnRhdGlvbi0+Y291bnRPYmplY3RTaXplKG1l
bW9yeU9iamVjdEluZm8ub2JqZWN0VHlwZSgpLCBtZW1vcnlPYmplY3RJbmZvLm9iamVjdFNpemUo
KSk7CiB9CiAKKy8vIEV4cGxpY2l0IHNwZWNpYWxpemF0aW9ucyBmb3Igc29tZSB0eXBlcy4KK3Rl
bXBsYXRlIDw+IHZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uVHJhaXRzOjphZGRJbnN0cnVtZW50
ZWRPYmplY3Q8S1VSTD4oTWVtb3J5SW5zdHJ1bWVudGF0aW9uKiwgY29uc3QgS1VSTCogY29uc3Qm
LCBNZW1vcnlPYmplY3RUeXBlLCBNZW1vcnlPd25pbmdUeXBlKTsKK3RlbXBsYXRlIDw+IHZvaWQg
TWVtb3J5SW5zdHJ1bWVudGF0aW9uVHJhaXRzOjphZGRJbnN0cnVtZW50ZWRPYmplY3Q8Y29uc3Qg
S1VSTD4oTWVtb3J5SW5zdHJ1bWVudGF0aW9uKiwgY29uc3QgS1VSTCogY29uc3QmLCBNZW1vcnlP
YmplY3RUeXBlLCBNZW1vcnlPd25pbmdUeXBlKTsKKwordGVtcGxhdGUgPD4gdm9pZCBNZW1vcnlJ
bnN0cnVtZW50YXRpb25UcmFpdHM6OmFkZEluc3RydW1lbnRlZE9iamVjdDxTdHJpbmc+KE1lbW9y
eUluc3RydW1lbnRhdGlvbiosIGNvbnN0IFN0cmluZyogY29uc3QmLCBNZW1vcnlPYmplY3RUeXBl
LCBNZW1vcnlPd25pbmdUeXBlKTsKK3RlbXBsYXRlIDw+IHZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0
aW9uVHJhaXRzOjphZGRJbnN0cnVtZW50ZWRPYmplY3Q8Y29uc3QgU3RyaW5nPihNZW1vcnlJbnN0
cnVtZW50YXRpb24qLCBjb25zdCBTdHJpbmcqIGNvbnN0JiwgTWVtb3J5T2JqZWN0VHlwZSwgTWVt
b3J5T3duaW5nVHlwZSk7CisKK3RlbXBsYXRlIDw+IHZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9u
VHJhaXRzOjphZGRJbnN0cnVtZW50ZWRPYmplY3Q8U3RyaW5nSW1wbD4oTWVtb3J5SW5zdHJ1bWVu
dGF0aW9uKiwgY29uc3QgU3RyaW5nSW1wbCogY29uc3QmLCBNZW1vcnlPYmplY3RUeXBlLCBNZW1v
cnlPd25pbmdUeXBlKTsKK3RlbXBsYXRlIDw+IHZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uVHJh
aXRzOjphZGRJbnN0cnVtZW50ZWRPYmplY3Q8Y29uc3QgU3RyaW5nSW1wbD4oTWVtb3J5SW5zdHJ1
bWVudGF0aW9uKiwgY29uc3QgU3RyaW5nSW1wbCogY29uc3QmLCBNZW1vcnlPYmplY3RUeXBlLCBN
ZW1vcnlPd25pbmdUeXBlKTsKKwordGVtcGxhdGUgPD4gdm9pZCBNZW1vcnlJbnN0cnVtZW50YXRp
b25UcmFpdHM6OmFkZEluc3RydW1lbnRlZE9iamVjdDxBdG9taWNTdHJpbmc+KE1lbW9yeUluc3Ry
dW1lbnRhdGlvbiosIGNvbnN0IEF0b21pY1N0cmluZyogY29uc3QmLCBNZW1vcnlPYmplY3RUeXBl
LCBNZW1vcnlPd25pbmdUeXBlKTsKK3RlbXBsYXRlIDw+IHZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0
aW9uVHJhaXRzOjphZGRJbnN0cnVtZW50ZWRPYmplY3Q8Y29uc3QgQXRvbWljU3RyaW5nPihNZW1v
cnlJbnN0cnVtZW50YXRpb24qLCBjb25zdCBBdG9taWNTdHJpbmcqIGNvbnN0JiwgTWVtb3J5T2Jq
ZWN0VHlwZSwgTWVtb3J5T3duaW5nVHlwZSk7CisKKworLy8gTGluayB0aW1lIGd1YXJkcyB3aXRo
IG5vIGJvZHkuCit0ZW1wbGF0ZSA8PiB2b2lkIE1lbW9yeUluc3RydW1lbnRhdGlvblRyYWl0czo6
YWRkT2JqZWN0PEtVUkw+KE1lbW9yeUluc3RydW1lbnRhdGlvbiosIGNvbnN0IEtVUkwqIGNvbnN0
JiwgTWVtb3J5T2JqZWN0VHlwZSwgTWVtb3J5T3duaW5nVHlwZSk7Cit0ZW1wbGF0ZSA8PiB2b2lk
IE1lbW9yeUluc3RydW1lbnRhdGlvblRyYWl0czo6YWRkT2JqZWN0PGNvbnN0IEtVUkw+KE1lbW9y
eUluc3RydW1lbnRhdGlvbiosIGNvbnN0IEtVUkwqIGNvbnN0JiwgTWVtb3J5T2JqZWN0VHlwZSwg
TWVtb3J5T3duaW5nVHlwZSk7CisKK3RlbXBsYXRlIDw+IHZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0
aW9uVHJhaXRzOjphZGRPYmplY3Q8U3RyaW5nPihNZW1vcnlJbnN0cnVtZW50YXRpb24qLCBjb25z
dCBTdHJpbmcqIGNvbnN0JiwgTWVtb3J5T2JqZWN0VHlwZSwgTWVtb3J5T3duaW5nVHlwZSk7Cit0
ZW1wbGF0ZSA8PiB2b2lkIE1lbW9yeUluc3RydW1lbnRhdGlvblRyYWl0czo6YWRkT2JqZWN0PGNv
bnN0IFN0cmluZz4oTWVtb3J5SW5zdHJ1bWVudGF0aW9uKiwgY29uc3QgU3RyaW5nKiBjb25zdCYs
IE1lbW9yeU9iamVjdFR5cGUsIE1lbW9yeU93bmluZ1R5cGUpOworCit0ZW1wbGF0ZSA8PiB2b2lk
IE1lbW9yeUluc3RydW1lbnRhdGlvblRyYWl0czo6YWRkT2JqZWN0PFN0cmluZ0ltcGw+KE1lbW9y
eUluc3RydW1lbnRhdGlvbiosIGNvbnN0IFN0cmluZ0ltcGwqIGNvbnN0JiwgTWVtb3J5T2JqZWN0
VHlwZSwgTWVtb3J5T3duaW5nVHlwZSk7Cit0ZW1wbGF0ZSA8PiB2b2lkIE1lbW9yeUluc3RydW1l
bnRhdGlvblRyYWl0czo6YWRkT2JqZWN0PGNvbnN0IFN0cmluZ0ltcGw+KE1lbW9yeUluc3RydW1l
bnRhdGlvbiosIGNvbnN0IFN0cmluZ0ltcGwqIGNvbnN0JiwgTWVtb3J5T2JqZWN0VHlwZSwgTWVt
b3J5T3duaW5nVHlwZSk7CisKK3RlbXBsYXRlIDw+IHZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9u
VHJhaXRzOjphZGRPYmplY3Q8QXRvbWljU3RyaW5nPihNZW1vcnlJbnN0cnVtZW50YXRpb24qLCBj
b25zdCBBdG9taWNTdHJpbmcqIGNvbnN0JiwgTWVtb3J5T2JqZWN0VHlwZSwgTWVtb3J5T3duaW5n
VHlwZSk7Cit0ZW1wbGF0ZSA8PiB2b2lkIE1lbW9yeUluc3RydW1lbnRhdGlvblRyYWl0czo6YWRk
T2JqZWN0PGNvbnN0IEF0b21pY1N0cmluZz4oTWVtb3J5SW5zdHJ1bWVudGF0aW9uKiwgY29uc3Qg
QXRvbWljU3RyaW5nKiBjb25zdCYsIE1lbW9yeU9iamVjdFR5cGUsIE1lbW9yeU93bmluZ1R5cGUp
OworCitjbGFzcyBXZWJDb3JlTWVtb3J5VHlwZXMgeworcHVibGljOgorICAgIHN0YXRpYyBNZW1v
cnlPYmplY3RUeXBlIERPTTsKKyAgICBzdGF0aWMgTWVtb3J5T2JqZWN0VHlwZSBDU1M7CisgICAg
c3RhdGljIE1lbW9yeU9iamVjdFR5cGUgQmluZGluZzsKKyAgICBzdGF0aWMgTWVtb3J5T2JqZWN0
VHlwZSBMb2FkZXI7CisgICAgc3RhdGljIE1lbW9yeU9iamVjdFR5cGUgTWVtb3J5Q2FjaGVTdHJ1
Y3R1cmVzOworICAgIHN0YXRpYyBNZW1vcnlPYmplY3RUeXBlIENhY2hlZFJlc291cmNlOworICAg
IHN0YXRpYyBNZW1vcnlPYmplY3RUeXBlIENhY2hlZFJlc291cmNlQ1NTOworICAgIHN0YXRpYyBN
ZW1vcnlPYmplY3RUeXBlIENhY2hlZFJlc291cmNlRm9udDsKKyAgICBzdGF0aWMgTWVtb3J5T2Jq
ZWN0VHlwZSBDYWNoZWRSZXNvdXJjZUltYWdlOworICAgIHN0YXRpYyBNZW1vcnlPYmplY3RUeXBl
IENhY2hlZFJlc291cmNlU2NyaXB0OworICAgIHN0YXRpYyBNZW1vcnlPYmplY3RUeXBlIENhY2hl
ZFJlc291cmNlU1ZHOworICAgIHN0YXRpYyBNZW1vcnlPYmplY3RUeXBlIENhY2hlZFJlc291cmNl
U2hhZGVyOworICAgIHN0YXRpYyBNZW1vcnlPYmplY3RUeXBlIENhY2hlZFJlc291cmNlWFNMVDsK
K307CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCmluZGV4IDIwNmU2
YmU5YTAwOWNjMjYxNDgyMzdmNzM0YjE5ZjYxOTRkZDQyNTUuLjc2NzViMTczNTRlYzAzZTU1NzU0
NTFhOWYzNDNmNTNjY2EzMGJlMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2Rl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKQEAgLTI4MzgsNyArMjgzOCw3
IEBAIHZvaWQgTm9kZTo6cmVtb3ZlZExhc3RSZWYoKQogCiB2b2lkIE5vZGU6OnJlcG9ydE1lbW9y
eVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAg
TWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1
bWVudGF0aW9uOjpET00pOworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdElu
Zm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6RE9NKTsKICAgICBUcmVlU2hhcmVkPE5vZGUs
IENvbnRhaW5lck5vZGU+OjpyZXBvcnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAg
ICBTY3JpcHRXcmFwcGFibGU6OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwog
ICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZG9jdW1lbnQpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9R
dWFsaWZpZWROYW1lLmgKaW5kZXggZDFmNTI2OTdmNGE0YjdhYWVkNDRiYjdmZDY2OTgzMTczMjcz
ZDBiYy4uNGNkNDdlYTcwMzRkMTE0NzU0MTNkNzE3ZWVkZmI3OWJiY2IwOWQ1OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vUXVhbGlmaWVkTmFtZS5oCkBAIC01Miw3ICs1Miw3IEBAIHB1YmxpYzoKIAogICAgICAg
ICB2b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdElu
Zm8pIGNvbnN0CiAgICAgICAgIHsKLSAgICAgICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1l
bW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6RE9NKTsKKyAgICAg
ICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNv
cmVNZW1vcnlUeXBlczo6RE9NKTsKICAgICAgICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fcHJlZml4KTsKICAgICAgICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1f
bG9jYWxOYW1lKTsKICAgICAgICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbmFt
ZXNwYWNlKTsKQEAgLTEwMyw3ICsxMDMsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgdm9pZCByZXBv
cnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAog
ICAgIHsKLSAgICAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhp
cywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpET00pOworICAgICAgICBNZW1vcnlDbGFzc0luZm8g
aW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkRPTSk7CiAg
ICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1faW1wbCk7CiAgICAgfQogcHJpdmF0
ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCmluZGV4IDVkMWNkMDdh
ZTExMGYwODg2MWM2YWZhMThiZDk0ZDY4Y2M0MDc3MDcuLjJjYTMzYmRjYjcxZjIzZWE5ZmI1MjA1
MDA2ODZhNzkzYTljZTg0YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElt
YWdlRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50
LmNwcApAQCAtNDIzLDcgKzQyMyw3IEBAIGlubGluZSBJbWFnZUlubmVyRWxlbWVudCogSFRNTElt
YWdlRWxlbWVudDo6aW5uZXJFbGVtZW50KCkgY29uc3QKIAogdm9pZCBIVE1MSW1hZ2VFbGVtZW50
OjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBj
b25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMs
IE1lbW9yeUluc3RydW1lbnRhdGlvbjo6RE9NKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyht
ZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkRPTSk7CiAgICAgSFRN
TEVsZW1lbnQ6OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwogICAgIGluZm8u
YWRkTWVtYmVyKG1faW1hZ2VMb2FkZXIpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVy
KG1fZm9ybSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
TWVtb3J5QWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck1lbW9y
eUFnZW50LmNwcAppbmRleCA4NTE4NmM3MTBkNTcwMDdiMDU0MzNhYzY4ODI3N2I1MjVmYTAyZmEz
Li44MTBhODBhN2RiMDljNjMzMDg5OGNiNWI0ZDAzYzFlNDJkM2ViMzQyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAKQEAgLTQ4Niwx
NSArNDg2LDE1IEBAIHB1YmxpYzoKICAgICAgICAgc2l6ZV90IHRvdGFsU2l6ZSA9IDA7CiAKICAg
ICAgICAgUmVmUHRyPFR5cGVCdWlsZGVyOjpBcnJheTxJbnNwZWN0b3JNZW1vcnlCbG9jaz4gPiBj
aGlsZHJlbiA9IFR5cGVCdWlsZGVyOjpBcnJheTxJbnNwZWN0b3JNZW1vcnlCbG9jaz46OmNyZWF0
ZSgpOwotICAgICAgICB0b3RhbFNpemUgKz0gYWRkTWVtb3J5QmxvY2tGb3IoY2hpbGRyZW4uZ2V0
KCksIG1fbWVtb3J5SW5zdHJ1bWVudGF0aW9uLnRvdGFsU2l6ZShNZW1vcnlJbnN0cnVtZW50YXRp
b246Ok1lbW9yeUNhY2hlU3RydWN0dXJlcyksIE1lbW9yeUJsb2NrTmFtZTo6bWVtb3J5Q2FjaGVT
dHJ1Y3R1cmVzKTsKLSAgICAgICAgdG90YWxTaXplICs9IGFkZE1lbW9yeUJsb2NrRm9yKGNoaWxk
cmVuLmdldCgpLCBtX21lbW9yeUluc3RydW1lbnRhdGlvbi50b3RhbFNpemUoTWVtb3J5SW5zdHJ1
bWVudGF0aW9uOjpDYWNoZWRSZXNvdXJjZSksIE1lbW9yeUJsb2NrTmFtZTo6Y2FjaGVkUmVzb3Vy
Y2UpOwotICAgICAgICB0b3RhbFNpemUgKz0gYWRkTWVtb3J5QmxvY2tGb3IoY2hpbGRyZW4uZ2V0
KCksIG1fbWVtb3J5SW5zdHJ1bWVudGF0aW9uLnRvdGFsU2l6ZShNZW1vcnlJbnN0cnVtZW50YXRp
b246OkNhY2hlZFJlc291cmNlQ1NTKSwgTWVtb3J5QmxvY2tOYW1lOjpjYWNoZWRSZXNvdXJjZUNT
Uyk7Ci0gICAgICAgIHRvdGFsU2l6ZSArPSBhZGRNZW1vcnlCbG9ja0ZvcihjaGlsZHJlbi5nZXQo
KSwgbV9tZW1vcnlJbnN0cnVtZW50YXRpb24udG90YWxTaXplKE1lbW9yeUluc3RydW1lbnRhdGlv
bjo6Q2FjaGVkUmVzb3VyY2VGb250KSwgTWVtb3J5QmxvY2tOYW1lOjpjYWNoZWRSZXNvdXJjZUZv
bnQpOwotICAgICAgICB0b3RhbFNpemUgKz0gYWRkTWVtb3J5QmxvY2tGb3IoY2hpbGRyZW4uZ2V0
KCksIG1fbWVtb3J5SW5zdHJ1bWVudGF0aW9uLnRvdGFsU2l6ZShNZW1vcnlJbnN0cnVtZW50YXRp
b246OkNhY2hlZFJlc291cmNlSW1hZ2UpLCBNZW1vcnlCbG9ja05hbWU6OmNhY2hlZFJlc291cmNl
SW1hZ2UpOwotICAgICAgICB0b3RhbFNpemUgKz0gYWRkTWVtb3J5QmxvY2tGb3IoY2hpbGRyZW4u
Z2V0KCksIG1fbWVtb3J5SW5zdHJ1bWVudGF0aW9uLnRvdGFsU2l6ZShNZW1vcnlJbnN0cnVtZW50
YXRpb246OkNhY2hlZFJlc291cmNlU2NyaXB0KSwgTWVtb3J5QmxvY2tOYW1lOjpjYWNoZWRSZXNv
dXJjZVNjcmlwdCk7Ci0gICAgICAgIHRvdGFsU2l6ZSArPSBhZGRNZW1vcnlCbG9ja0ZvcihjaGls
ZHJlbi5nZXQoKSwgbV9tZW1vcnlJbnN0cnVtZW50YXRpb24udG90YWxTaXplKE1lbW9yeUluc3Ry
dW1lbnRhdGlvbjo6Q2FjaGVkUmVzb3VyY2VTVkcpLCBNZW1vcnlCbG9ja05hbWU6OmNhY2hlZFJl
c291cmNlU1ZHKTsKLSAgICAgICAgdG90YWxTaXplICs9IGFkZE1lbW9yeUJsb2NrRm9yKGNoaWxk
cmVuLmdldCgpLCBtX21lbW9yeUluc3RydW1lbnRhdGlvbi50b3RhbFNpemUoTWVtb3J5SW5zdHJ1
bWVudGF0aW9uOjpDYWNoZWRSZXNvdXJjZVNoYWRlciksIE1lbW9yeUJsb2NrTmFtZTo6Y2FjaGVk
UmVzb3VyY2VTaGFkZXIpOwotICAgICAgICB0b3RhbFNpemUgKz0gYWRkTWVtb3J5QmxvY2tGb3Io
Y2hpbGRyZW4uZ2V0KCksIG1fbWVtb3J5SW5zdHJ1bWVudGF0aW9uLnRvdGFsU2l6ZShNZW1vcnlJ
bnN0cnVtZW50YXRpb246OkNhY2hlZFJlc291cmNlWFNMVCksIE1lbW9yeUJsb2NrTmFtZTo6Y2Fj
aGVkUmVzb3VyY2VYU0xUKTsKKyAgICAgICAgdG90YWxTaXplICs9IGFkZE1lbW9yeUJsb2NrRm9y
KGNoaWxkcmVuLmdldCgpLCBtX21lbW9yeUluc3RydW1lbnRhdGlvbi50b3RhbFNpemUoV2ViQ29y
ZU1lbW9yeVR5cGVzOjpNZW1vcnlDYWNoZVN0cnVjdHVyZXMpLCBNZW1vcnlCbG9ja05hbWU6Om1l
bW9yeUNhY2hlU3RydWN0dXJlcyk7CisgICAgICAgIHRvdGFsU2l6ZSArPSBhZGRNZW1vcnlCbG9j
a0ZvcihjaGlsZHJlbi5nZXQoKSwgbV9tZW1vcnlJbnN0cnVtZW50YXRpb24udG90YWxTaXplKFdl
YkNvcmVNZW1vcnlUeXBlczo6Q2FjaGVkUmVzb3VyY2UpLCBNZW1vcnlCbG9ja05hbWU6OmNhY2hl
ZFJlc291cmNlKTsKKyAgICAgICAgdG90YWxTaXplICs9IGFkZE1lbW9yeUJsb2NrRm9yKGNoaWxk
cmVuLmdldCgpLCBtX21lbW9yeUluc3RydW1lbnRhdGlvbi50b3RhbFNpemUoV2ViQ29yZU1lbW9y
eVR5cGVzOjpDYWNoZWRSZXNvdXJjZUNTUyksIE1lbW9yeUJsb2NrTmFtZTo6Y2FjaGVkUmVzb3Vy
Y2VDU1MpOworICAgICAgICB0b3RhbFNpemUgKz0gYWRkTWVtb3J5QmxvY2tGb3IoY2hpbGRyZW4u
Z2V0KCksIG1fbWVtb3J5SW5zdHJ1bWVudGF0aW9uLnRvdGFsU2l6ZShXZWJDb3JlTWVtb3J5VHlw
ZXM6OkNhY2hlZFJlc291cmNlRm9udCksIE1lbW9yeUJsb2NrTmFtZTo6Y2FjaGVkUmVzb3VyY2VG
b250KTsKKyAgICAgICAgdG90YWxTaXplICs9IGFkZE1lbW9yeUJsb2NrRm9yKGNoaWxkcmVuLmdl
dCgpLCBtX21lbW9yeUluc3RydW1lbnRhdGlvbi50b3RhbFNpemUoV2ViQ29yZU1lbW9yeVR5cGVz
OjpDYWNoZWRSZXNvdXJjZUltYWdlKSwgTWVtb3J5QmxvY2tOYW1lOjpjYWNoZWRSZXNvdXJjZUlt
YWdlKTsKKyAgICAgICAgdG90YWxTaXplICs9IGFkZE1lbW9yeUJsb2NrRm9yKGNoaWxkcmVuLmdl
dCgpLCBtX21lbW9yeUluc3RydW1lbnRhdGlvbi50b3RhbFNpemUoV2ViQ29yZU1lbW9yeVR5cGVz
OjpDYWNoZWRSZXNvdXJjZVNjcmlwdCksIE1lbW9yeUJsb2NrTmFtZTo6Y2FjaGVkUmVzb3VyY2VT
Y3JpcHQpOworICAgICAgICB0b3RhbFNpemUgKz0gYWRkTWVtb3J5QmxvY2tGb3IoY2hpbGRyZW4u
Z2V0KCksIG1fbWVtb3J5SW5zdHJ1bWVudGF0aW9uLnRvdGFsU2l6ZShXZWJDb3JlTWVtb3J5VHlw
ZXM6OkNhY2hlZFJlc291cmNlU1ZHKSwgTWVtb3J5QmxvY2tOYW1lOjpjYWNoZWRSZXNvdXJjZVNW
Ryk7CisgICAgICAgIHRvdGFsU2l6ZSArPSBhZGRNZW1vcnlCbG9ja0ZvcihjaGlsZHJlbi5nZXQo
KSwgbV9tZW1vcnlJbnN0cnVtZW50YXRpb24udG90YWxTaXplKFdlYkNvcmVNZW1vcnlUeXBlczo6
Q2FjaGVkUmVzb3VyY2VTaGFkZXIpLCBNZW1vcnlCbG9ja05hbWU6OmNhY2hlZFJlc291cmNlU2hh
ZGVyKTsKKyAgICAgICAgdG90YWxTaXplICs9IGFkZE1lbW9yeUJsb2NrRm9yKGNoaWxkcmVuLmdl
dCgpLCBtX21lbW9yeUluc3RydW1lbnRhdGlvbi50b3RhbFNpemUoV2ViQ29yZU1lbW9yeVR5cGVz
OjpDYWNoZWRSZXNvdXJjZVhTTFQpLCBNZW1vcnlCbG9ja05hbWU6OmNhY2hlZFJlc291cmNlWFNM
VCk7CiAKICAgICAgICAgUmVmUHRyPEluc3BlY3Rvck1lbW9yeUJsb2NrPiBibG9jayA9IEluc3Bl
Y3Rvck1lbW9yeUJsb2NrOjpjcmVhdGUoKS5zZXROYW1lKE1lbW9yeUJsb2NrTmFtZTo6bWVtb3J5
Q2FjaGUpOwogICAgICAgICBibG9jay0+c2V0U2l6ZSh0b3RhbFNpemUpOwpAQCAtNTA3LDExICs1
MDcsMTEgQEAgcHVibGljOgogICAgICAgICBzaXplX3QgdG90YWxTaXplID0gMDsKIAogICAgICAg
ICBSZWZQdHI8VHlwZUJ1aWxkZXI6OkFycmF5PEluc3BlY3Rvck1lbW9yeUJsb2NrPiA+IGRvbUNo
aWxkcmVuID0gVHlwZUJ1aWxkZXI6OkFycmF5PEluc3BlY3Rvck1lbW9yeUJsb2NrPjo6Y3JlYXRl
KCk7Ci0gICAgICAgIHRvdGFsU2l6ZSArPSBhZGRNZW1vcnlCbG9ja0Zvcihkb21DaGlsZHJlbi5n
ZXQoKSwgbV9tZW1vcnlJbnN0cnVtZW50YXRpb24udG90YWxTaXplKE1lbW9yeUluc3RydW1lbnRh
dGlvbjo6T3RoZXIpLCBNZW1vcnlCbG9ja05hbWU6OmRvbVRyZWVPdGhlcik7Ci0gICAgICAgIHRv
dGFsU2l6ZSArPSBhZGRNZW1vcnlCbG9ja0Zvcihkb21DaGlsZHJlbi5nZXQoKSwgbV9tZW1vcnlJ
bnN0cnVtZW50YXRpb24udG90YWxTaXplKE1lbW9yeUluc3RydW1lbnRhdGlvbjo6RE9NKSwgTWVt
b3J5QmxvY2tOYW1lOjpkb21UcmVlRE9NKTsKLSAgICAgICAgdG90YWxTaXplICs9IGFkZE1lbW9y
eUJsb2NrRm9yKGRvbUNoaWxkcmVuLmdldCgpLCBtX21lbW9yeUluc3RydW1lbnRhdGlvbi50b3Rh
bFNpemUoTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpLCBNZW1vcnlCbG9ja05hbWU6OmRvbVRy
ZWVDU1MpOwotICAgICAgICB0b3RhbFNpemUgKz0gYWRkTWVtb3J5QmxvY2tGb3IoZG9tQ2hpbGRy
ZW4uZ2V0KCksIG1fbWVtb3J5SW5zdHJ1bWVudGF0aW9uLnRvdGFsU2l6ZShNZW1vcnlJbnN0cnVt
ZW50YXRpb246OkJpbmRpbmcpLCBNZW1vcnlCbG9ja05hbWU6OmRvbVRyZWVCaW5kaW5nKTsKLSAg
ICAgICAgdG90YWxTaXplICs9IGFkZE1lbW9yeUJsb2NrRm9yKGRvbUNoaWxkcmVuLmdldCgpLCBt
X21lbW9yeUluc3RydW1lbnRhdGlvbi50b3RhbFNpemUoTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpM
b2FkZXIpLCBNZW1vcnlCbG9ja05hbWU6OmRvbVRyZWVMb2FkZXIpOworICAgICAgICB0b3RhbFNp
emUgKz0gYWRkTWVtb3J5QmxvY2tGb3IoZG9tQ2hpbGRyZW4uZ2V0KCksIG1fbWVtb3J5SW5zdHJ1
bWVudGF0aW9uLnRvdGFsU2l6ZShHZW5lcmljTWVtb3J5VHlwZXM6Ok90aGVyKSwgTWVtb3J5Qmxv
Y2tOYW1lOjpkb21UcmVlT3RoZXIpOworICAgICAgICB0b3RhbFNpemUgKz0gYWRkTWVtb3J5Qmxv
Y2tGb3IoZG9tQ2hpbGRyZW4uZ2V0KCksIG1fbWVtb3J5SW5zdHJ1bWVudGF0aW9uLnRvdGFsU2l6
ZShXZWJDb3JlTWVtb3J5VHlwZXM6OkRPTSksIE1lbW9yeUJsb2NrTmFtZTo6ZG9tVHJlZURPTSk7
CisgICAgICAgIHRvdGFsU2l6ZSArPSBhZGRNZW1vcnlCbG9ja0Zvcihkb21DaGlsZHJlbi5nZXQo
KSwgbV9tZW1vcnlJbnN0cnVtZW50YXRpb24udG90YWxTaXplKFdlYkNvcmVNZW1vcnlUeXBlczo6
Q1NTKSwgTWVtb3J5QmxvY2tOYW1lOjpkb21UcmVlQ1NTKTsKKyAgICAgICAgdG90YWxTaXplICs9
IGFkZE1lbW9yeUJsb2NrRm9yKGRvbUNoaWxkcmVuLmdldCgpLCBtX21lbW9yeUluc3RydW1lbnRh
dGlvbi50b3RhbFNpemUoV2ViQ29yZU1lbW9yeVR5cGVzOjpCaW5kaW5nKSwgTWVtb3J5QmxvY2tO
YW1lOjpkb21UcmVlQmluZGluZyk7CisgICAgICAgIHRvdGFsU2l6ZSArPSBhZGRNZW1vcnlCbG9j
a0Zvcihkb21DaGlsZHJlbi5nZXQoKSwgbV9tZW1vcnlJbnN0cnVtZW50YXRpb24udG90YWxTaXpl
KFdlYkNvcmVNZW1vcnlUeXBlczo6TG9hZGVyKSwgTWVtb3J5QmxvY2tOYW1lOjpkb21UcmVlTG9h
ZGVyKTsKIAogICAgICAgICBSZWZQdHI8SW5zcGVjdG9yTWVtb3J5QmxvY2s+IGRvbSA9IEluc3Bl
Y3Rvck1lbW9yeUJsb2NrOjpjcmVhdGUoKS5zZXROYW1lKE1lbW9yeUJsb2NrTmFtZTo6ZG9tKTsK
ICAgICAgICAgZG9tLT5zZXRTaXplKHRvdGFsU2l6ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvTWVtb3J5SW5zdHJ1bWVudGF0aW9uSW1wbC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvTWVtb3J5SW5zdHJ1bWVudGF0aW9uSW1wbC5jcHAKaW5kZXggNDA4ZjZm
MTU5NWIwNjk5YjNkYWQ2YTY4ODg4YmRkNWEyYmE5YTE1Yi4uMzZjNDM1MTk4MzMzZTAzOTRmMGIx
NzBiNTYxYTI2NjAyY2IxODVmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L01lbW9yeUluc3RydW1lbnRhdGlvbkltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9NZW1vcnlJbnN0cnVtZW50YXRpb25JbXBsLmNwcApAQCAtNTAsNyArNTAsNyBAQCB2b2lk
IE1lbW9yeUluc3RydW1lbnRhdGlvbkltcGw6OnByb2Nlc3NEZWZlcnJlZEluc3RydW1lbnRlZFBv
aW50ZXJzKCkKICAgICB9CiB9CiAKLXZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uSW1wbDo6Y291
bnRPYmplY3RTaXplKE9iamVjdFR5cGUgb2JqZWN0VHlwZSwgc2l6ZV90IHNpemUpCit2b2lkIE1l
bW9yeUluc3RydW1lbnRhdGlvbkltcGw6OmNvdW50T2JqZWN0U2l6ZShNZW1vcnlPYmplY3RUeXBl
IG9iamVjdFR5cGUsIHNpemVfdCBzaXplKQogewogICAgIFR5cGVUb1NpemVNYXA6OkFkZFJlc3Vs
dCByZXN1bHQgPSBtX3RvdGFsU2l6ZXMuYWRkKG9iamVjdFR5cGUsIHNpemUpOwogICAgIGlmICgh
cmVzdWx0LmlzTmV3RW50cnkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
TWVtb3J5SW5zdHJ1bWVudGF0aW9uSW1wbC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL01l
bW9yeUluc3RydW1lbnRhdGlvbkltcGwuaAppbmRleCA5ZjNlZWM4YmQwYjczNWE0NjczN2ZkYmEz
NmQ5NWRiZTM0NWVkMWJmLi44NWNiYzVlNDUwOTVlMmQwMGZhZTE4Zjc5M2JjZTBjNTEzZWJlYWJh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvTWVtb3J5SW5zdHJ1bWVudGF0
aW9uSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9NZW1vcnlJbnN0cnVtZW50
YXRpb25JbXBsLmgKQEAgLTQ2LDcgKzQ2LDcgQEAgcHVibGljOgogICAgIGV4cGxpY2l0IE1lbW9y
eUluc3RydW1lbnRhdGlvbkltcGwoVmlzaXRlZE9iamVjdHMmKTsKIAogICAgIHNpemVfdCBzZWxm
U2l6ZSgpIGNvbnN0OwotICAgIHNpemVfdCB0b3RhbFNpemUoT2JqZWN0VHlwZSBvYmplY3RUeXBl
KSBjb25zdAorICAgIHNpemVfdCB0b3RhbFNpemUoTWVtb3J5T2JqZWN0VHlwZSBvYmplY3RUeXBl
KSBjb25zdAogICAgIHsKICAgICAgICAgVHlwZVRvU2l6ZU1hcDo6Y29uc3RfaXRlcmF0b3IgaSA9
IG1fdG90YWxTaXplcy5maW5kKG9iamVjdFR5cGUpOwogICAgICAgICByZXR1cm4gaSA9PSBtX3Rv
dGFsU2l6ZXMuZW5kKCkgPyAwIDogaS0+c2Vjb25kOwpAQCAtNjEsMTIgKzYxLDEyIEBAIHB1Ymxp
YzoKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgdmlydHVhbCB2b2lkIGNvdW50T2JqZWN0U2l6ZShP
YmplY3RUeXBlLCBzaXplX3QpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBjb3VudE9iamVj
dFNpemUoTWVtb3J5T2JqZWN0VHlwZSwgc2l6ZV90KSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZv
aWQgZGVmZXJJbnN0cnVtZW50ZWRQb2ludGVyKFBhc3NPd25QdHI8SW5zdHJ1bWVudGVkUG9pbnRl
ckJhc2U+KSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgdmlzaXRlZChjb25zdCB2b2lkKikg
T1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHByb2Nlc3NEZWZlcnJlZEluc3RydW1lbnRlZFBv
aW50ZXJzKCkgT1ZFUlJJREU7CiAKLSAgICB0eXBlZGVmIEhhc2hNYXA8T2JqZWN0VHlwZSwgc2l6
ZV90PiBUeXBlVG9TaXplTWFwOworICAgIHR5cGVkZWYgSGFzaE1hcDxNZW1vcnlPYmplY3RUeXBl
LCBzaXplX3Q+IFR5cGVUb1NpemVNYXA7CiAgICAgVHlwZVRvU2l6ZU1hcCBtX3RvdGFsU2l6ZXM7
CiAgICAgVmlzaXRlZE9iamVjdHMmIG1fdmlzaXRlZE9iamVjdHM7CiAgICAgVmVjdG9yPE93blB0
cjxJbnN0cnVtZW50ZWRQb2ludGVyQmFzZT4gPiBtX2RlZmVycmVkSW5zdHJ1bWVudGVkUG9pbnRl
cnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRleCBlYTY5YmY1
MmY4ODMzNzU5ZmI5ODgyY2M2NzhjMjAyOTc0ZDk5MzQ4Li44ODE4NzEwMDM2NzBkNzNkOTY1YjUy
NGJlYTgxNzJiZmRkZjMxYTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9j
dW1lbnRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRl
ci5jcHAKQEAgLTM1Nyw3ICszNTcsNyBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjpjb21taXREYXRh
KGNvbnN0IGNoYXIqIGJ5dGVzLCBzaXplX3QgbGVuZ3RoKQogCiB2b2lkIERvY3VtZW50TG9hZGVy
OjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBj
b25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMs
IE1lbW9yeUluc3RydW1lbnRhdGlvbjo6TG9hZGVyKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5m
byhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkxvYWRlcik7CiAg
ICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9mcmFtZSk7CiAgICAgaW5mby5hZGRJbnN0
cnVtZW50ZWRNZW1iZXIobV9tYWluUmVzb3VyY2VMb2FkZXIpOwogICAgIGluZm8uYWRkSW5zdHJ1
bWVudGVkSGFzaFNldChtX3N1YnJlc291cmNlTG9hZGVycyk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyLmNwcAppbmRleCBmZmEwMGFkMzNmN2U1NDVlMDlmNTIxZGQ0OGIyODZiMDc2ZDJm
Yjg2Li44ZTU3NDJlMjVmM2FjYzA5ZDJkNzRmYjg3YWU1NDEzMjU1NzEyMDc2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTMyNzcsNyArMzI3Nyw3IEBAIE5ldHdvcmtp
bmdDb250ZXh0KiBGcmFtZUxvYWRlcjo6bmV0d29ya2luZ0NvbnRleHQoKSBjb25zdAogCiB2b2lk
IEZyYW1lTG9hZGVyOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlP
YmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVj
dEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6TG9hZGVyKTsKKyAgICBNZW1vcnlD
bGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6
OkxvYWRlcik7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9kb2N1bWVudExvYWRl
cik7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9wcm92aXNpb25hbERvY3VtZW50
TG9hZGVyKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3BvbGljeURvY3VtZW50
TG9hZGVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VM
b2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHAK
aW5kZXggZDZhNjA3MjQ4MGQ2YjMxZDAwMDIxNjZiOTkzMmJhZjAxYjM4NjY1MC4uMmQ2ZTQ1YmI4
NmE5Mzc0ODAwZmFiZDVhNzhkMmVkMzFlZDE4YjQwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHAKQEAgLTU1MSw3ICs1NTEsNyBAQCB2b2lkIE1haW5S
ZXNvdXJjZUxvYWRlcjo6ZGlkRmFpbChjb25zdCBSZXNvdXJjZUVycm9yJiBlcnJvcikKIAogdm9p
ZCBNYWluUmVzb3VyY2VMb2FkZXI6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8q
IG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVt
b3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpMb2FkZXIpOworICAg
IE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1v
cnlUeXBlczo6TG9hZGVyKTsKICAgICBSZXNvdXJjZUxvYWRlcjo6cmVwb3J0TWVtb3J5VXNhZ2Uo
bWVtb3J5T2JqZWN0SW5mbyk7CiAgICAgaW5mby5hZGRNZW1iZXIobV9pbml0aWFsUmVxdWVzdCk7
CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9zdWJzdGl0dXRlRGF0YSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCAyMzA3NTE1YTM3YzE5M2M5
NWRkYjhhOTQ3ZGQ2MzcwMWUyMDQ0MmU4Li4zMzE1YWQ1NTg5MDZkOTA4YmYzZTJhMmJjYzdlYTNi
ZWJmMzY0ZDM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAKQEAg
LTUzNSw3ICs1MzUsNyBAQCBBc3luY0ZpbGVTdHJlYW0qIFJlc291cmNlTG9hZGVyOjpjcmVhdGVB
c3luY0ZpbGVTdHJlYW0oRmlsZVN0cmVhbUNsaWVudCogY2xpZW50KQogCiB2b2lkIFJlc291cmNl
TG9hZGVyOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJ
bmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8s
IHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6TG9hZGVyKTsKKyAgICBNZW1vcnlDbGFzc0lu
Zm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkxvYWRl
cik7CiAgICAgaW5mby5hZGRNZW1iZXIobV9oYW5kbGUuZ2V0KCkpOwogICAgIGluZm8uYWRkSW5z
dHJ1bWVudGVkTWVtYmVyKG1fZnJhbWUpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVy
KG1fZG9jdW1lbnRMb2FkZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1
YnJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxv
YWRlci5jcHAKaW5kZXggYzYxZmEzMWYwYjBkMWNiZGQ1OWQxMTk5OGYzOGNiNTQ0MGE5MmY4Ni4u
M2Y5YTYxNGNkMTcxMDQxN2I2NjM3OGEwNWUxMWJhZjRmOGFmMzU2YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0xMzcsNyArMTM3LDcgQEAgdm9p
ZCBTdWJyZXNvdXJjZUxvYWRlcjo6Y2FuY2VsSWZOb3RGaW5pc2hpbmcoKQogCiB2b2lkIFN1YnJl
c291cmNlTG9hZGVyOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlP
YmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVj
dEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6TG9hZGVyKTsKKyAgICBNZW1vcnlD
bGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6
OkxvYWRlcik7CiAgICAgUmVzb3VyY2VMb2FkZXI6OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9i
amVjdEluZm8pOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcmVzb3VyY2UpOwog
ICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZG9jdW1lbnQpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnN0aXR1dGVEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9TdWJzdGl0dXRlRGF0YS5jcHAKaW5kZXggYTI2OWMzNDk4MWVmNzg0OWQzMzE1Y2M3
NmU5ZDk2NTM5YWY5ZDA4OC4uMjMxM2JhNWUxYmE4MmQxYWE5YmVlNDk1NjAxMTNhMzk4ZmQzMGVl
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnN0aXR1dGVEYXRhLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3Vic3RpdHV0ZURhdGEuY3BwCkBAIC0zNyw3ICsz
Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdm9pZCBTdWJzdGl0dXRlRGF0YTo6cmVwb3J0
TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsK
LSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJ
bnN0cnVtZW50YXRpb246OkxvYWRlcik7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5
T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpMb2FkZXIpOwogICAgIGluZm8u
YWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fY29udGVudCk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50
ZWRNZW1iZXIobV9taW1lVHlwZSk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV90
ZXh0RW5jb2RpbmcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZENTU1N0eWxlU2hlZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZENTU1N0eWxlU2hlZXQuY3BwCmluZGV4IDI5ZGE2MjhmZGU4M2U2ZjVjNTM5ZWI0MWU5M2ExMWZh
MDg5Y2ZiODIuLmZiZWUwYmVlMTYwYmE5ZWRhNjIyMzIxOTA1YmJkNzRkYTIzMTFiZjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRDU1NTdHlsZVNoZWV0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkQ1NTU3R5bGVTaGVldC5j
cHAKQEAgLTIwNSw3ICsyMDUsNyBAQCB2b2lkIENhY2hlZENTU1N0eWxlU2hlZXQ6OnNhdmVQYXJz
ZWRTdHlsZVNoZWV0KFBhc3NSZWZQdHI8U3R5bGVTaGVldENvbnRlbnRzPiBzaAogCiB2b2lkIENh
Y2hlZENTU1N0eWxlU2hlZXQ6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1l
bW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5
T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDYWNoZWRSZXNvdXJjZUNT
Uyk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2Vi
Q29yZU1lbW9yeVR5cGVzOjpDYWNoZWRSZXNvdXJjZUNTUyk7CiAgICAgQ2FjaGVkUmVzb3VyY2U6
OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwogICAgIGluZm8uYWRkTWVtYmVy
KG1fZGVjb2Rlcik7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9wYXJzZWRTdHls
ZVNoZWV0Q2FjaGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZEZvbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEZvbnQuY3Bw
CmluZGV4IDcyYzdjYTc1OTM4OTUyNGNjNjE1OTUxYjVmZTY4ZTI4OTk1M2E2ZmQuLjQwODBlYjcz
ZjM5YjQ5NjE1ZDJmODAwNmU3OTA1OWVkYmE5MDljMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRGb250LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkRm9udC5jcHAKQEAgLTIwOSw3ICsyMDksNyBAQCB2b2lkIENhY2hlZEZv
bnQ6OmVycm9yKENhY2hlZFJlc291cmNlOjpTdGF0dXMgc3RhdHVzKQogCiB2b2lkIENhY2hlZEZv
bnQ6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8p
IGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhp
cywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDYWNoZWRSZXNvdXJjZUZvbnQpOworICAgIE1lbW9y
eUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBl
czo6Q2FjaGVkUmVzb3VyY2VGb250KTsKICAgICBDYWNoZWRSZXNvdXJjZTo6cmVwb3J0TWVtb3J5
VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7CiAjaWYgRU5BQkxFKFNWR19GT05UUykKICAgICBpbmZv
LmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2V4dGVybmFsU1ZHRG9jdW1lbnQpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5jcHAKaW5kZXggYmU0Y2VhNWNmMjIyOGE1
ZmQ5NmI0ODNkMzFkNGYyNzliYTMzNmQxNS4uOTVjNTBiYzI0ODAwNDZhMzU5NzM3NWNiMGIwODBh
M2NhMWE0OTVkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZEltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2Uu
Y3BwCkBAIC00NzYsNyArNDc2LDcgQEAgdm9pZCBDYWNoZWRJbWFnZTo6Y2hhbmdlZEluUmVjdChj
b25zdCBJbWFnZSogaW1hZ2UsIGNvbnN0IEludFJlY3QmIHJlY3QpCiAKIHZvaWQgQ2FjaGVkSW1h
Z2U6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8p
IGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhp
cywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDYWNoZWRSZXNvdXJjZUltYWdlKTsKKyAgICBNZW1v
cnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlw
ZXM6OkNhY2hlZFJlc291cmNlSW1hZ2UpOwogICAgIENhY2hlZFJlc291cmNlOjpyZXBvcnRNZW1v
cnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJl
cihtX2ltYWdlKTsKICNpZiBFTkFCTEUoU1ZHKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jlc291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9DYWNoZWRSYXdSZXNvdXJjZS5jcHAKaW5kZXggNGU0MzEzMWIxZDI1NDgzNzFmNzE1
NzRmNTE1NjU3ZTNkNDJkMDg1NC4uZjlkMGZkMzYxMGVkMmIwOWM0YTE2MDg2NDViZDlmMjA4MWMy
ZmQzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jl
c291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmF3UmVz
b3VyY2UuY3BwCkBAIC0xNjIsNyArMTYyLDcgQEAgYm9vbCBDYWNoZWRSYXdSZXNvdXJjZTo6Y2Fu
UmV1c2UoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBuZXdSZXF1ZXN0KSBjb25zdAogCiB2b2lkIENh
Y2hlZFJhd1Jlc291cmNlOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1v
cnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9i
amVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q2FjaGVkUmVzb3VyY2UpOwor
ICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVN
ZW1vcnlUeXBlczo6Q2FjaGVkUmVzb3VyY2UpOwogICAgIENhY2hlZFJlc291cmNlOjpyZXBvcnRN
ZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKaW5kZXggZDdhYmNhZTg0MGM3OTZkNjFhYjYz
NjA0NWZkNWFmNWRkNzJjNzkxNi4uYTFiMmJkYWRhNDUwMTYzZGIxZGMzMmVjMjUwMzRmZDQ1NDFj
NjIxOCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291
cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2Uu
Y3BwCkBAIC04MDMsNyArODAzLDcgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZTo6Q2FjaGVkUmVzb3Vy
Y2VDYWxsYmFjazo6dGltZXJGaXJlZChUaW1lcjxDYWNoZWRSZXNvdXJjZUNhbGwKIAogdm9pZCBD
YWNoZWRSZXNvdXJjZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5
T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmpl
Y3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNhY2hlZFJlc291cmNlKTsKKyAg
ICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVt
b3J5VHlwZXM6OkNhY2hlZFJlc291cmNlKTsKICAgICBpbmZvLmFkZE1lbWJlcihtX3Jlc291cmNl
UmVxdWVzdCk7CiAgICAgaW5mby5hZGRIYXNoU2V0KG1fY2xpZW50cyk7CiAgICAgaW5mby5hZGRJ
bnN0cnVtZW50ZWRNZW1iZXIobV9hY2NlcHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlSGFuZGxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUhhbmRsZS5jcHAKaW5kZXggZWExNjMxODE0MjYxMzgy
YmM1NTlmZDk3M2UzNWZlZGZkMzQzYzY2NC4uYWQzN2ZlNDM3Y2E1NjQxM2Y5MGZlNTQ5NzRkNGVk
OWZmYzhhMzg2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlSGFuZGxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2VIYW5kbGUuY3BwCkBAIC00Myw3ICs0Myw3IEBAIHZvaWQgQ2FjaGVkUmVzb3Vy
Y2VIYW5kbGVCYXNlOjpzZXRSZXNvdXJjZShDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCiAKIHZv
aWQgQ2FjaGVkUmVzb3VyY2VIYW5kbGVCYXNlOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmpl
Y3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBp
bmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q2FjaGVk
UmVzb3VyY2UpOworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRo
aXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q2FjaGVkUmVzb3VyY2UpOwogICAgIGluZm8uYWRkSW5z
dHJ1bWVudGVkTWVtYmVyKG1fcmVzb3VyY2UpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCBiMjU4YzA1N2Zm
M2FmMTExOTU4MGRlMWFmNjA4NDA1MzJmNmEwYTc1Li41ZmQ3YzUwNWExMWVkNTgxZGM0YWVmOTYx
ZjYxZjFlMWM2NmQwZjg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTg4MCw3ICs4ODAsNyBAQCB2b2lkIENhY2hl
ZFJlc291cmNlTG9hZGVyOjpwcmludFByZWxvYWRTdGF0cygpCiAKIHZvaWQgQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXI6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVj
dEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5m
bywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpMb2FkZXIpOworICAgIE1lbW9yeUNsYXNz
SW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6TG9h
ZGVyKTsKICAgICBpbmZvLmFkZEhhc2hNYXAobV9kb2N1bWVudFJlc291cmNlcyk7CiAgICAgZm9y
IChEb2N1bWVudFJlc291cmNlTWFwOjpjb25zdF9pdGVyYXRvciBpID0gbV9kb2N1bWVudFJlc291
cmNlcy5iZWdpbigpOyBpICE9IG1fZG9jdW1lbnRSZXNvdXJjZXMuZW5kKCk7ICsraSkgewogICAg
ICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihpLT5maXJzdCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU1ZHRG9jdW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFNWR0RvY3VtZW50LmNwcAppbmRleCA0MjMwMDhl
OGJhOThmZjFkZDExOWMxZGY1MmJjNWQ4YmFkMTMzNWNiLi42OTliNjg4NmE3OTc4NDBmZTljNDc5
MTg2NDVmMmMwMDA0ODE3MTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkU1ZHRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRTVkdEb2N1bWVudC5jcHAKQEAgLTczLDcgKzczLDcgQEAgdm9pZCBDYWNoZWRTVkdE
b2N1bWVudDo6ZGF0YShQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gZGF0YSwgYm9vbCBhbGxEYXRh
UmVjZWl2ZWQKIAogdm9pZCBDYWNoZWRTVkdEb2N1bWVudDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVt
b3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFz
c0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246
OkNhY2hlZFJlc291cmNlU1ZHKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmpl
Y3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNhY2hlZFJlc291cmNlU1ZHKTsKICAg
ICBDYWNoZWRSZXNvdXJjZTo6cmVwb3J0TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7CiAg
ICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9kb2N1bWVudCk7CiAgICAgaW5mby5hZGRN
ZW1iZXIobV9kZWNvZGVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRTY3JpcHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFNj
cmlwdC5jcHAKaW5kZXggNzIyNjRmYTRiNGVlNDk3NTgyN2U5ZmMwOTE3OTJlZjdjZjA0NmI0MC4u
ZjBiMWMyZWEwZjM1OTczNjhjNWU5YjExNjk0MGVjZWQzNTY2ZmFmNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFNjcmlwdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFNjcmlwdC5jcHAKQEAgLTEyOSw3ICsxMjksNyBAQCB2
b2lkIENhY2hlZFNjcmlwdDo6c291cmNlUHJvdmlkZXJDYWNoZVNpemVDaGFuZ2VkKGludCBkZWx0
YSkKIAogdm9pZCBDYWNoZWRTY3JpcHQ6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdElu
Zm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8o
bWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDYWNoZWRSZXNv
dXJjZVNjcmlwdCk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywg
dGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDYWNoZWRSZXNvdXJjZVNjcmlwdCk7CiAgICAgQ2Fj
aGVkUmVzb3VyY2U6OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwogICAgIGlu
Zm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc2NyaXB0KTsKICAgICBpbmZvLmFkZE1lbWJlciht
X2RlY29kZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFNoYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU2hhZGVyLmNw
cAppbmRleCBhMzFhYmQwNTAzMmRlMDViMjdkNGM2ZGQ1MzUwOGE1ZGZjYmNmMmQ2Li42MTI0YzVi
MjdmODkxMDY1NGRmMDdiNTcwMWQ3NjMyODA5Y2EzNGRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU2hhZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkU2hhZGVyLmNwcApAQCAtNzAsNyArNzAsNyBAQCB2b2lkIENhY2hl
ZFNoYWRlcjo6ZGF0YShQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gZGF0YSwgYm9vbCBhbGxEYXRh
UmVjZWl2ZWQpCiAKIHZvaWQgQ2FjaGVkU2hhZGVyOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlP
YmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5m
byBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q2Fj
aGVkUmVzb3VyY2VTaGFkZXIpOworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVj
dEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q2FjaGVkUmVzb3VyY2VTaGFkZXIpOwog
ICAgIENhY2hlZFJlc291cmNlOjpyZXBvcnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsK
ICAgICBpbmZvLmFkZE1lbWJlcihtX2RlY29kZXIpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKG1fc2hhZGVyU3RyaW5nKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9DYWNoZWRYU0xTdHlsZVNoZWV0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRYU0xTdHlsZVNoZWV0LmNwcAppbmRleCA3N2M1MWU4ZDhmNDIyZjkwMzllYjc1
M2RkY2I3MjcxYWIzYTkzNzhiLi5jM2I1MWNmODMzNmQ0MTliOGI3Mjg2MWE4NDU1YWNlZmEyOGI5
ODIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkWFNMU3R5
bGVTaGVldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFhTTFN0
eWxlU2hlZXQuY3BwCkBAIC05OSw3ICs5OSw3IEBAIHZvaWQgQ2FjaGVkWFNMU3R5bGVTaGVldDo6
ZXJyb3IoQ2FjaGVkUmVzb3VyY2U6OlN0YXR1cyBzdGF0dXMpCiAKIHZvaWQgQ2FjaGVkWFNMU3R5
bGVTaGVldDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0
SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZv
LCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNhY2hlZFJlc291cmNlWFNMVCk7CisgICAg
TWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9y
eVR5cGVzOjpDYWNoZWRSZXNvdXJjZVhTTFQpOwogICAgIENhY2hlZFJlc291cmNlOjpyZXBvcnRN
ZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1l
bWJlcihtX3NoZWV0KTsKICAgICBpbmZvLmFkZE1lbWJlcihtX2RlY29kZXIpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKaW5kZXggNjYxMTFkNzNmN2QxZmIw
MTIxOTU2YWVhZmQxMDM3YWRiZDI4YjAxMS4uN2YxNmI1NTQ3Y2VhMWQzYTE2MzU0Y2EzMGQ5Yzcz
ZGQ2N2E0NmY2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9y
eUNhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUu
Y3BwCkBAIC03MTcsNyArNzE3LDcgQEAgTWVtb3J5Q2FjaGU6OlN0YXRpc3RpY3MgTWVtb3J5Q2Fj
aGU6OmdldFN0YXRpc3RpY3MoKQogCiB2b2lkIE1lbW9yeUNhY2hlOjpyZXBvcnRNZW1vcnlVc2Fn
ZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9y
eUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRh
dGlvbjo6TWVtb3J5Q2FjaGVTdHJ1Y3R1cmVzKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyht
ZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6Ok1lbW9yeUNhY2hlU3Ry
dWN0dXJlcyk7CiAgICAgaW5mby5hZGRIYXNoTWFwKG1fcmVzb3VyY2VzKTsKICAgICBDYWNoZWRS
ZXNvdXJjZU1hcDo6Y29uc3RfaXRlcmF0b3IgZSA9IG1fcmVzb3VyY2VzLmVuZCgpOwogICAgIGZv
ciAoQ2FjaGVkUmVzb3VyY2VNYXA6OmNvbnN0X2l0ZXJhdG9yIGkgPSBtX3Jlc291cmNlcy5iZWdp
bigpOyBpICE9IGU7ICsraSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAppbmRleCBiMzY0OGY1MjQ3MDE5
ZGMyOWQzZGY1NTExZDkyODZiYjg4YTExMWFlLi44NWMyYTMzNGEyMjkwYzc3NDU1ZDhlOGMyYjQ3
MmM1OWIxYWE2YTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcApAQCAtNjc0LDcgKzY3NCw3IEBAIHZv
aWQgRnJhbWU6OmRpc3BhdGNoVmlzaWJpbGl0eVN0YXRlQ2hhbmdlRXZlbnQoKQogCiB2b2lkIEZy
YW1lOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZv
KSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRo
aXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6RE9NKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5m
byhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkRPTSk7CiAgICAg
aW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9kb2MuZ2V0KCkpOwogICAgIGluZm8uYWRkSW5z
dHJ1bWVudGVkTWVtYmVyKG1fbG9hZGVyKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1NoYXJlZEJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TaGFy
ZWRCdWZmZXIuY3BwCmluZGV4IDE2YzBiY2RkZDQwMWY1MTY4YjlmYmU3MDY0NGRlYTQyZTg5MGUz
MDAuLmMxZTczMzA0MzAwYmQyZWZhYTUzMmU2NDExNmM0YTM5N2E3MzczMTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZEJ1ZmZlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2hhcmVkQnVmZmVyLmNwcApAQCAtMjUwLDcgKzI1MCw3IEBAIGNvbnN0
IFZlY3RvcjxjaGFyPiYgU2hhcmVkQnVmZmVyOjpidWZmZXIoKSBjb25zdAogCiB2b2lkIFNoYXJl
ZEJ1ZmZlcjo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0
SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZv
LCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246Ok90aGVyKTsKKyAgICBNZW1vcnlDbGFzc0lu
Zm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBHZW5lcmljTWVtb3J5VHlwZXM6Ok90aGVy
KTsKICAgICBpbmZvLmFkZFZlY3RvcihtX2J1ZmZlcik7CiAgICAgaW5mby5hZGRWZWN0b3IobV9z
ZWdtZW50cyk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fc2VnbWVudHMuc2l6ZSgp
OyArK2kpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UcmVlU2hhcmVkLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UcmVlU2hhcmVkLmgKaW5kZXggZmJlZmViMTU5MjIz
NzE4YmQxMDY3ZWMxOTRiYmY0NDgxYmY2M2NkYy4uNmY2NTJkYjY0OTdkYmY1ZDlkNDZiYjU4YjM5
YjMzMmQ0MzFhNjAyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNo
YXJlZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQuaApAQCAtMTEz
LDcgKzExMyw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5
T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKICAgICB7Ci0gICAgICAgIE1lbW9y
eUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRh
dGlvbjo6RE9NKTsKKyAgICAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5m
bywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpET00pOwogICAgICAgICBpbmZvLmFkZEluc3Ry
dW1lbnRlZE1lbWJlcihtX3BhcmVudCk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAKaW5kZXggMDllN2JlMTFkMTRkNWYxMDAw
NjhmZjU1YTUwOGE4ZjZlZjhhZWVlOC4uZDgyY2NhNDBmNWUyYTgxNjFmNmJkODczNjk2YjkwNzk4
MWU4MDBkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0
bWFwSW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1h
cEltYWdlLmNwcApAQCAtNTc0LDcgKzU3NCw3IEBAIENvbG9yIEJpdG1hcEltYWdlOjpzb2xpZENv
bG9yKCkgY29uc3QKIAogdm9pZCBCaXRtYXBJbWFnZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5
T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0lu
Zm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNh
Y2hlZFJlc291cmNlSW1hZ2UpOworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVj
dEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q2FjaGVkUmVzb3VyY2VJbWFnZSk7CiAg
ICAgSW1hZ2U6OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwogICAgIGluZm8u
YWRkTWVtYmVyKG1fc291cmNlKTsKICAgICBpbmZvLmFkZE1lbWJlcihtX2ZyYW1lVGltZXIpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ3Jvc3NmYWRlR2Vu
ZXJhdGVkSW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ3Jvc3Nm
YWRlR2VuZXJhdGVkSW1hZ2UuY3BwCmluZGV4IGU2NzUwMDE5ZTFiNGQ3YTMzYzMwNTk4NzNiYmY0
YTgxMmYzMDAzZmYuLjZiNTE5NDdiNWRiOWE1MzhkMzQxZWUzZjhmYWExNTcyNzJhYmIwYTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Nyb3NzZmFkZUdlbmVy
YXRlZEltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Dcm9z
c2ZhZGVHZW5lcmF0ZWRJbWFnZS5jcHAKQEAgLTExMCw3ICsxMTAsNyBAQCB2b2lkIENyb3NzZmFk
ZUdlbmVyYXRlZEltYWdlOjpkcmF3UGF0dGVybihHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNv
bnN0IEZsb2F0UgogCiB2b2lkIENyb3NzZmFkZUdlbmVyYXRlZEltYWdlOjpyZXBvcnRNZW1vcnlV
c2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1l
bW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1l
bnRhdGlvbjo6RE9NKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZv
LCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkRPTSk7CiAgICAgR2VuZXJhdGVkSW1hZ2U6OnJl
cG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwogICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKG1fZnJvbUltYWdlKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlciht
X3RvSW1hZ2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
R2VuZXJhdGVkSW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2Vu
ZXJhdGVkSW1hZ2UuY3BwCmluZGV4IDE5NDAzOWZmNmMwN2NjMTZmMjUzNDllNTNmYmNkM2FlYzFl
NWQwYjMuLjdkZDRjMTVhMGY3YjAwMTM5YTRlYjc0ZDVmODc3NzI5Y2QwNzBkYzAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlbmVyYXRlZEltYWdlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW5lcmF0ZWRJbWFnZS5jcHAK
QEAgLTQ1LDcgKzQ1LDcgQEAgdm9pZCBHZW5lcmF0ZWRJbWFnZTo6Y29tcHV0ZUludHJpbnNpY0Rp
bWVuc2lvbnMoTGVuZ3RoJiBpbnRyaW5zaWNXaWR0aCwgTGVuZ3RoJgogCiB2b2lkIEdlbmVyYXRl
ZEltYWdlOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJ
bmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8s
IHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q2FjaGVkUmVzb3VyY2VJbWFnZSk7CisgICAg
TWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9y
eVR5cGVzOjpDYWNoZWRSZXNvdXJjZUltYWdlKTsKICAgICBJbWFnZTo6cmVwb3J0TWVtb3J5VXNh
Z2UobWVtb3J5T2JqZWN0SW5mbyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dlbmVyYXRvckdlbmVyYXRlZEltYWdlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlbmVyYXRvckdlbmVyYXRlZEltYWdlLmNwcAppbmRleCAy
YTlhOTJiYTE4ODZhYzMxMTRmM2RiNWVhMjBiYWVlMjQ0YmIzNWUzLi4wNDMxY2I5MTY3MDFlMmI2
ODhjOTUxMDBiOTJjMTJmM2E5NmMyNjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9HZW5lcmF0b3JHZW5lcmF0ZWRJbWFnZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VuZXJhdG9yR2VuZXJhdGVkSW1hZ2UuY3BwCkBAIC04
Nyw3ICs4Nyw3IEBAIHZvaWQgR2VuZXJhdG9yR2VuZXJhdGVkSW1hZ2U6OmludmFsaWRhdGVDYWNo
ZVRpbWVyRmlyZWQoRGVmZXJyYWJsZU9uZVNob3RUaW1lcjxHCiAKIHZvaWQgR2VuZXJhdG9yR2Vu
ZXJhdGVkSW1hZ2U6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9i
amVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0
SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpET00pOworICAgIE1lbW9yeUNsYXNz
SW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6RE9N
KTsKICAgICBHZW5lcmF0ZWRJbWFnZTo6cmVwb3J0TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5m
byk7CiAgICAgaW5mby5hZGRNZW1iZXIobV9nZW5lcmF0b3IpOwogICAgIGluZm8uYWRkTWVtYmVy
KG1fY2FjaGVkSW1hZ2VCdWZmZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvSW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
SW1hZ2UuY3BwCmluZGV4IDAyNTU2MDNkZWRkZjQ1NTM5MTQxMjE4ZDRmMzJjYTQ5Mjk3OThmOTIu
LmM1OTYyMDhiN2Y4NTcyZjc1YWJhYTYzZjI3YTU2NGJiMmYwZWE5MTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5jcHAKQEAgLTIwMCw3ICsyMDAsNyBAQCB2b2lk
IEltYWdlOjpjb21wdXRlSW50cmluc2ljRGltZW5zaW9ucyhMZW5ndGgmIGludHJpbnNpY1dpZHRo
LCBMZW5ndGgmIGludHJpbnNpYwogCiB2b2lkIEltYWdlOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1v
cnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNz
SW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6
Q2FjaGVkUmVzb3VyY2VJbWFnZSk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2Jq
ZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDYWNoZWRSZXNvdXJjZUltYWdlKTsK
ICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2RhdGEpOwogICAgIGluZm8uYWRkTWVt
YmVyKG1faW1hZ2VPYnNlcnZlcik7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvRm9ybURhdGEuY3BwCmluZGV4IDljM2M4YzNhY2YwMWNhOWRiMjMxNzJhNGU1NThlN2YyNGY2
NzM4ODUuLmUwNzlhMGZjZTUzMmZlYzRhMDFkZDg4YWEwZDJjMDc0ZjdlZDhlMjEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGEuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGEuY3BwCkBAIC0zNTksNyArMzU5
LDcgQEAgdm9pZCBGb3JtRGF0YTo6cmVtb3ZlR2VuZXJhdGVkRmlsZXNJZk5lZWRlZCgpCiAKIHZv
aWQgRm9ybURhdGE6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9i
amVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0
SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpMb2FkZXIpOworICAgIE1lbW9yeUNs
YXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6
TG9hZGVyKTsKICAgICBpbmZvLmFkZFZlY3RvcihtX2JvdW5kYXJ5KTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5j
cHAKaW5kZXggMjZjYjgwYzg0NmIzOTNjM2FlYjUyZDgxZTdmZGQzMGU4MWFkMmIwNy4uM2M3OTFh
ZGNjYzBiMDEwMWIyZTViM2ZjYTAxOGM0YjA0MTllZWI1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwCkBAIC00
NDYsNyArNDQ2LDcgQEAgYm9vbCBSZXNvdXJjZVJlcXVlc3RCYXNlOjppc0NvbmRpdGlvbmFsKCkg
Y29uc3QKIAogdm9pZCBSZXNvdXJjZVJlcXVlc3RCYXNlOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1v
cnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNz
SW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6
TG9hZGVyKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlz
LCBXZWJDb3JlTWVtb3J5VHlwZXM6OkxvYWRlcik7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRN
ZW1iZXIobV91cmwpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZmlyc3RQYXJ0
eUZvckNvb2tpZXMpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1faHR0cE1ldGhv
ZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNl
UmVzcG9uc2VCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3Vy
Y2VSZXNwb25zZUJhc2UuY3BwCmluZGV4IGU4ZDdjYTQzMzY5ZTY5MTk2OTgyOGQyNGUzNDEzODBl
ZjMyMDdkZmYuLjkzMjlkZjQzMmQyMDIwY2VjYmNkZmM5OTJkMjk1YTUxOWEwMzMyY2QgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJh
c2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNw
b25zZUJhc2UuY3BwCkBAIC01NzAsNyArNTcwLDcgQEAgdm9pZCBSZXNvdXJjZVJlc3BvbnNlQmFz
ZTo6bGF6eUluaXQoSW5pdExldmVsIGluaXRMZXZlbCkgY29uc3QKIAogdm9pZCBSZXNvdXJjZVJl
c3BvbnNlQmFzZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2Jq
ZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJ
bmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkxvYWRlcik7CisgICAgTWVtb3J5Q2xh
c3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpM
b2FkZXIpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdXJsKTsKICAgICBpbmZv
LmFkZEluc3RydW1lbnRlZE1lbWJlcihtX21pbWVUeXBlKTsKICAgICBpbmZvLmFkZEluc3RydW1l
bnRlZE1lbWJlcihtX3RleHRFbmNvZGluZ05hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKaW5kZXggN2YwMzAyYTE3YTk1NzI2MzllNWViNzQ2
NDU5YmRiYWIxNDk0ZWRiMi4uZWMwZjdiZjJmNjdmMjViMDA5MjlmM2QxY2I1OGMzMDFhZGUzNzMz
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3Bw
CkBAIC0xNTk3LDcgKzE1OTcsNyBAQCBMYXlvdXRCb3hFeHRlbnQgUmVuZGVyU3R5bGU6OmltYWdl
T3V0c2V0cyhjb25zdCBOaW5lUGllY2VJbWFnZSYgaW1hZ2UpIGNvbnN0CiAKIHZvaWQgUmVuZGVy
U3R5bGU6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdElu
Zm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywg
dGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAgIE1lbW9yeUNsYXNzSW5mbyBp
bmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKICAg
ICBpbmZvLmFkZE1lbWJlcihtX2JveCk7CiAgICAgaW5mby5hZGRNZW1iZXIodmlzdWFsKTsKICAg
ICAvLyBGSVhNRTogbV9iYWNrZ3JvdW5kIGNvbnRhaW5zIFJlZlB0cjxTdHlsZUltYWdlPiB0aGF0
IG1pZ2h0IG5lZWQgdG8gYmUgaW5zdHJ1bWVudGVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwCmluZGV4IDYy
ZmU1Yjg5ZjI2ZmNlOTJhNjIzMGFiNmM4NDVlY2JlZGUzMDhjYmUuLjk5YTc5OTVmMTg3YzE2ZmQx
ZDc4YTI1M2UyODkzY2RkMzYwN2VkZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHAKQEAgLTI2NCw3ICsy
NjQsNyBAQCBib29sIFN0eWxlUmFyZUluaGVyaXRlZERhdGE6OnNoYWRvd0RhdGFFcXVpdmFsZW50
KGNvbnN0IFN0eWxlUmFyZUluaGVyaXRlZERhdGEmCiAKIHZvaWQgU3R5bGVSYXJlSW5oZXJpdGVk
RGF0YTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5m
bykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0
aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGlu
Zm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAg
IGluZm8uYWRkTWVtYmVyKHRleHRTaGFkb3cpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKGhpZ2hsaWdodCk7CiAgICAgaW5mby5hZGRNZW1iZXIoY3Vyc29yRGF0YSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVk
RGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5o
ZXJpdGVkRGF0YS5jcHAKaW5kZXggZTM4ZDc5NTc4YWJkMWFkZTg3MzZlMGMzNzVjNzFiOGRmMWM1
YzhiMC4uMzM2YzJlYjI5M2EzNWE2N2I1NmU2NWUwNjY3YWU5MGM0ZjhjZjdhYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERh
dGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25J
bmhlcml0ZWREYXRhLmNwcApAQCAtMzA0LDcgKzMwNCw3IEBAIGJvb2wgU3R5bGVSYXJlTm9uSW5o
ZXJpdGVkRGF0YTo6dHJhbnNpdGlvbkRhdGFFcXVpdmFsZW50KGNvbnN0IFN0eWxlUmFyZU5vbklu
aGVyCiAKIHZvaWQgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6cmVwb3J0TWVtb3J5VXNhZ2Uo
TWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlD
bGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRp
b246OkNTUyk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhp
cywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogI2lmIEVOQUJMRShEQVNIQk9BUkRfU1VQUE9S
VCkKICAgICBpbmZvLmFkZFZlY3RvcihtX2Rhc2hib2FyZFJlZ2lvbnMpOwogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ29sb3IuY3BwIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0NvbG9yLmNwcAppbmRleCAyNTE5MmUxNzA4NDc2OGNjYzk0M2RmNjIwZjY3OGU1NGM1
MWNlMDZiLi4zY2ZmNDNkYTJmZDk2ZTBmNjBjMTAxODYzYzI4MzUxZWJkOTVkYWExIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ29sb3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdDb2xvci5jcHAKQEAgLTEwNyw3ICsxMDcsNyBAQCBQYXNzUmVmUHRyPFNWR0NvbG9y
PiBTVkdDb2xvcjo6Y2xvbmVGb3JDU1NPTSgpIGNvbnN0CiAKIHZvaWQgU1ZHQ29sb3I6OnJlcG9y
dERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZv
KSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRo
aXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5m
byhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiB9CiAK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYWludC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHUGFpbnQuY3BwCmluZGV4IGJhNzQ0MzU4M2JjMTVkNDdlOWM0ZjE3YTMw
NTRiNzk5ZjI0NjExMTEuLmQ0NTkwZDY3NWI0NjlhOWM2ZWUxNzcwNjk4YjExNTNkMTE4NzBmOGUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYWludC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1BhaW50LmNwcApAQCAtMTE0LDcgKzExNCw3IEBAIFBhc3NSZWZQdHI8
U1ZHUGFpbnQ+IFNWR1BhaW50OjpjbG9uZUZvckNTU09NKCkgY29uc3QKIAogdm9pZCBTVkdQYWlu
dDo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9i
amVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0
SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAgIE1lbW9yeUNsYXNz
SW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NT
KTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3VyaSk7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCmluZGV4IGYzNmY5YTg4ZWU2NDFkODkxYTg2
NDI5YzUzYzFlOWZmYTY5NjBmYWYuLjA3ZjY3MjU3ZjAwNTEwYjA5MWY2NmFmZjYwMmZjN2U4NGZl
ZWJjZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcApAQCAtMzU3
LDcgKzM1Nyw3IEBAIFN0cmluZyBTVkdJbWFnZTo6ZmlsZW5hbWVFeHRlbnNpb24oKSBjb25zdAog
CiB2b2lkIFNWR0ltYWdlOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1v
cnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9i
amVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q2FjaGVkUmVzb3VyY2VJbWFn
ZSk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2Vi
Q29yZU1lbW9yeVR5cGVzOjpDYWNoZWRSZXNvdXJjZUltYWdlKTsKICAgICBJbWFnZTo6cmVwb3J0
TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7CiAgICAgaW5mby5hZGRNZW1iZXIobV9jaHJv
bWVDbGllbnQpOwogICAgIGluZm8uYWRkTWVtYmVyKG1fcGFnZSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL01lbW9yeUluc3RydW1lbnRhdGlvblRlc3QuY3BwIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9NZW1vcnlJbnN0cnVtZW50YXRpb25UZXN0LmNw
cAppbmRleCAwYWI1NTY3YWRjNzQ3NmVkMjQ5YTQxNmVmZDJlY2MxNjgxZmJkMDc4Li44ZTZkODE5
YThmMGFjMzZmM2RiZDhlZWQzODMxYTA1NjIwZGY2MTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3Rlc3RzL01lbW9yeUluc3RydW1lbnRhdGlvblRlc3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTWVtb3J5SW5zdHJ1bWVudGF0aW9uVGVzdC5jcHAK
QEAgLTU4LDcgKzU4LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHJlcG9ydE1lbW9y
eVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAgICAgewot
ICAgICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1v
cnlJbnN0cnVtZW50YXRpb246OkRPTSk7CisgICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1l
bW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6RE9NKTsKICAgICAgICAg
aW5mby5hZGRNZW1iZXIobV9ub3RJbnN0cnVtZW50ZWQpOwogICAgIH0KICAgICBOb3RJbnN0cnVt
ZW50ZWQqIG1fbm90SW5zdHJ1bWVudGVkOwpAQCAtMTIyLDcgKzEyMiw3IEBAIHB1YmxpYzoKIAog
ICAgIHZpcnR1YWwgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1v
cnlPYmplY3RJbmZvKSBjb25zdAogICAgIHsKLSAgICAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8o
bWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpET00pOworICAg
ICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3Jl
TWVtb3J5VHlwZXM6OkRPTSk7CiAgICAgICAgIGluZm8uYWRkTWVtYmVyKG1fbm90SW5zdHJ1bWVu
dGVkKTsKICAgICB9CiAgICAgTm90SW5zdHJ1bWVudGVkKiBtX25vdEluc3RydW1lbnRlZDsKQEAg
LTE1NSw3ICsxNTUsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0TWVtb3J5
VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKICAgICB7Ci0g
ICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9y
eUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVt
b3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAgICAgICBJ
bnN0cnVtZW50ZWQ6OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwogICAgICAg
ICBpbmZvLmFkZE1lbWJlcihtX25vdEluc3RydW1lbnRlZE93blB0cik7CiAgICAgfQpAQCAtMTc4
LDcgKzE3OCw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5
T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKICAgICB7Ci0gICAgICAgIE1lbW9y
eUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRh
dGlvbjo6T3RoZXIpOworICAgICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJ
bmZvLCB0aGlzLCBHZW5lcmljTWVtb3J5VHlwZXM6Ok90aGVyKTsKICAgICB9CiAgICAgaW50IG1f
ZGF0YTsKIH07CkBAIC0xODksNyArMTg5LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCByZXBvcnRN
ZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogICAg
IHsKLSAgICAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywg
TWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpET00pOworICAgICAgICBNZW1vcnlDbGFzc0luZm8gaW5m
byhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkRPTSk7CiAgICAg
ICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1faW5zdHJ1bWVudGVkT3RoZXIpOwogICAg
IH0KICAgICBPd25QdHI8SW5zdHJ1bWVudGVkT3RoZXI+IG1faW5zdHJ1bWVudGVkT3RoZXI7CkBA
IC0yMDIsNyArMjAyLDcgQEAgVEVTVChNZW1vcnlJbnN0cnVtZW50YXRpb25UZXN0LCBvd25lclR5
cGVQcm9wYWdhdGlvbikKICAgICBPd25QdHI8SW5zdHJ1bWVudGVkRE9NPiBpbnN0cnVtZW50ZWRE
T00oYWRvcHRQdHIobmV3IEluc3RydW1lbnRlZERPTSkpOwogICAgIGltcGwuYWRkUm9vdE9iamVj
dChpbnN0cnVtZW50ZWRET00pOwogICAgIEVYUEVDVF9FUShzaXplb2YoSW5zdHJ1bWVudGVkRE9N
KSArIHNpemVvZihJbnN0cnVtZW50ZWRPdGhlciksIGltcGwucmVwb3J0ZWRTaXplRm9yQWxsVHlw
ZXMoKSk7Ci0gICAgRVhQRUNUX0VRKHNpemVvZihJbnN0cnVtZW50ZWRET00pICsgc2l6ZW9mKElu
c3RydW1lbnRlZE90aGVyKSwgaW1wbC50b3RhbFNpemUoTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpE
T00pKTsKKyAgICBFWFBFQ1RfRVEoc2l6ZW9mKEluc3RydW1lbnRlZERPTSkgKyBzaXplb2YoSW5z
dHJ1bWVudGVkT3RoZXIpLCBpbXBsLnRvdGFsU2l6ZShXZWJDb3JlTWVtb3J5VHlwZXM6OkRPTSkp
OwogICAgIEVYUEVDVF9FUSgyLCB2aXNpdGVkT2JqZWN0cy5zaXplKCkpOwogfQogCkBAIC0yMTAs
NyArMjEwLDcgQEAgY2xhc3MgTm9uVmlydHVhbEluc3RydW1lbnRlZCB7CiBwdWJsaWM6CiAgICAg
dm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZv
KSBjb25zdAogICAgIHsKLSAgICAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0
SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpET00pOworICAgICAgICBNZW1vcnlD
bGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6
OkRPTSk7CiAgICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1faW5zdHJ1bWVudGVk
KTsKICAgICB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162250</attachid>
            <date>2012-09-05 08:02:35 -0700</date>
            <delta_ts>2012-09-05 08:05:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95850-20120905190215.patch</filename>
            <type>text/plain</type>
            <size>119268</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3NTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjMxZTRmN2YzZjY5MWRm
YzJjZTIyMTg4YjlmNDU3ODEwZGMzMmY2MS4uZDYyNTVkYzFiNjFhZTIyN2MyZTdmNTM1MmFlNmVi
YzA3ZWU5NGRkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI2MSBAQAogMjAxMi0wOS0wNSAgSWx5
YSBUaWtob25vdnNreSAgPGxvaXNsb0BjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogTk1JOiBleHRyYWN0IE1lbW9yeU9iamVjdFR5cGUgY29uc3RhbnRzIGZyb20gTWVtb3J5
SW5zdHJ1bWVudGF0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9OTU4NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBJJ2QgbGlrZSB0byBleHRyYWN0IE1lbW9yeU9iamVjdFR5cGVzIGludG8gc2VwYXJh
dGUgY2xhc3Nlcy4KKyAgICAgICAgQWZ0ZXIgdGhhdCB3ZSB3aWxsIGJlIGFibGUgdG8gbW92ZSBj
b3JlIE5NSSBpbnN0cnVtZW50YXRpb24gY29kZSB0byBXVEYuCisKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9TY3JpcHRXcmFwcGFibGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFdyYXBwYWJs
ZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L0RPTURhdGFTdG9y
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01EYXRhU3RvcmU6OnJlcG9ydE1lbW9yeVVzYWdl
KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9JbnRydXNpdmVET01XcmFwcGVyTWFwLmg6CisgICAg
ICAgIChXZWJDb3JlOjpDaHVua2VkVGFibGU6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAg
KiBiaW5kaW5ncy92OC9TY3JpcHRXcmFwcGFibGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlw
dFdyYXBwYWJsZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4
QmluZGluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHJpbmdDYWNoZTo6cmVwb3J0TWVtb3J5
VXNhZ2UpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4RE9NTWFwLmg6CisgICAgICAgICogYmlu
ZGluZ3MvdjgvVjhQZXJJc29sYXRlRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOFBlcklz
b2xhdGVEYXRhOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0NTU0FzcGVjdFJh
dGlvVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQXNwZWN0UmF0aW9WYWx1ZTo6cmVw
b3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvQ1NTQm9yZGVySW1hZ2VT
bGljZVZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0JvcmRlckltYWdlU2xpY2VWYWx1
ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvQ1NTQ2FsY3Vs
YXRpb25WYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjVmFsdWU6OnJlcG9ydERl
c2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0NTU0NhbnZhc1ZhbHVlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbnZhc1ZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5
VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NDaGFyc2V0UnVsZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDU1NDaGFyc2V0UnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAg
ICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAg
ICAgICAqIGNzcy9DU1NDcm9zc2ZhZGVWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1ND
cm9zc2ZhZGVWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBj
c3MvQ1NTQ3Vyc29ySW1hZ2VWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NDdXJzb3JJ
bWFnZVZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9D
U1NGb250RmFjZVJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udEZhY2VSdWxlOjpy
ZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NGb250RmFjZVNy
Y1ZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRGYWNlU3JjVmFsdWU6OnJlcG9y
dERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0NTU0Z1bmN0aW9uVmFsdWUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRnVuY3Rpb25WYWx1ZTo6cmVwb3J0RGVzY2VuZGFu
dE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NHcmFkaWVudENvbG9yU3RvcDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTR3JhZGllbnRWYWx1ZTo6cmVwb3J0QmFzZUNsYXNzTWVtb3J5
VXNhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTTGluZWFyR3JhZGllbnRWYWx1ZTo6cmVwb3J0
RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1JhZGlhbEdyYWRp
ZW50VmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0NT
U0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTSW1hZ2VHZW5l
cmF0b3JWYWx1ZTo6cmVwb3J0QmFzZUNsYXNzTWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9D
U1NJbWFnZVNldFZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ltYWdlU2V0VmFsdWU6
OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NJbWFn
ZVNldFZhbHVlOjpJbWFnZVdpdGhTY2FsZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAq
IGNzcy9DU1NJbWFnZVZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ltYWdlVmFsdWU6
OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0NTU0ltcG9ydFJ1
bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTSW1wb3J0UnVsZTo6cmVwb3J0RGVzY2VuZGFu
dE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvQ1NTSW5oZXJpdGVkVmFsdWUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTSW5oZXJpdGVkVmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlV
c2FnZSk6CisgICAgICAgICogY3NzL0NTU0luaXRpYWxWYWx1ZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDU1NJbml0aWFsVmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAg
ICAgICogY3NzL0NTU0xpbmVCb3hDb250YWluVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTTGluZUJveENvbnRhaW5WYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAg
ICAgICAgKiBjc3MvQ1NTTWVkaWFSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU01lZGlh
UnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvQ1NTUGFn
ZVJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFnZVJ1bGU6OnJlcG9ydERlc2NlbmRh
bnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5
VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0eS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NQcm9wZXJ0eTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NSZWZs
ZWN0VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUmVmbGVjdFZhbHVlOjpyZXBvcnRE
ZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NSdWxlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1J1bGU6OnJlcG9ydEJhc2VDbGFzc01lbW9yeVVzYWdlKToKKyAgICAg
ICAgKiBjc3MvQ1NTUnVsZUxpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3RhdGljQ1NTUnVs
ZUxpc3Q6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvQ1NTUnVsZUxpc3QuaDoK
KyAgICAgICAgKiBjc3MvQ1NTU2VsZWN0b3JMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNT
U1NlbGVjdG9yTGlzdDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NTdHls
ZVJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVSdWxlOjpyZXBvcnREZXNjZW5k
YW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NTdHlsZVNoZWV0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1N0eWxlU2hlZXQ6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAg
KiBjc3MvQ1NTVGltaW5nRnVuY3Rpb25WYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NM
aW5lYXJUaW1pbmdGdW5jdGlvblZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTQ3ViaWNCZXppZXJUaW1pbmdGdW5jdGlvblZhbHVlOjpyZXBv
cnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3RlcHNUaW1p
bmdGdW5jdGlvblZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAq
IGNzcy9DU1NVbmljb2RlUmFuZ2VWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NVbmlj
b2RlUmFuZ2VWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBj
c3MvQ1NTVW5rbm93blJ1bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Vua25vd25SdWxlOjpy
ZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpUZXh0Q2xvbmVDU1NWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1l
bW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVMaXN0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNTU1ZhbHVlTGlzdDo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAg
ICAgKiBjc3MvQ1NTVmFyaWFibGVWYWx1ZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFyaWFi
bGVWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvRm9u
dEZlYXR1cmVWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250RmVhdHVyZVZhbHVlOjpy
ZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9Gb250VmFsdWUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Rm9udFZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNh
Z2UpOgorICAgICAgICAqIGNzcy9NZWRpYUxpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFRdWVyeVNldDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFM
aXN0OjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL01lZGlhUXVlcnkuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFRdWVyeTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAg
ICAqIGNzcy9NZWRpYVF1ZXJ5RXhwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUXVlcnlF
eHA6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvUHJvcGVydHlTZXRDU1NTdHls
ZURlY2xhcmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlByb3BlcnR5U2V0Q1NTU3R5bGVE
ZWNsYXJhdGlvbjo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVS
dWxlQ1NTU3R5bGVEZWNsYXJhdGlvbjo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5saW5lQ1NTU3R5bGVEZWNsYXJhdGlvbjo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAg
ICAgICAqIGNzcy9TaGFkb3dWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dWYWx1
ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvU3R5bGVQcm9w
ZXJ0eVNldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVByb3BlcnR5U2V0OjpyZXBvcnRN
ZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6RmVhdHVyZXM6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6OmNvbGxlY3RNYXRjaGluZ1J1bGVzRm9yTGlz
dCk6CisgICAgICAgICogY3NzL1N0eWxlUnVsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHls
ZVJ1bGVCYXNlOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1
bGU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpTdHls
ZVJ1bGVQYWdlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAoV2ViQ29y
ZTo6U3R5bGVSdWxlRm9udEZhY2U6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVCbG9jazo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdl
KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZU1lZGlhOjpyZXBvcnREZXNjZW5kYW50TWVt
b3J5VXNhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlUmVnaW9uOjpyZXBvcnREZXNj
ZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9TdHlsZVJ1bGVJbXBvcnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlSW1wb3J0OjpyZXBvcnREZXNjZW5kYW50TWVtb3J5
VXNhZ2UpOgorICAgICAgICAqIGNzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U3R5bGVTaGVldENvbnRlbnRzOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAg
ICogY3NzL1dlYktpdENTU0ZpbHRlclZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYktp
dENTU0ZpbHRlclZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAq
IGNzcy9XZWJLaXRDU1NLZXlmcmFtZVJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVL
ZXlmcmFtZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0Q1NT
S2V5ZnJhbWVSdWxlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNz
cy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVs
ZUtleWZyYW1lczo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNv
cmU6OldlYktpdENTU0tleWZyYW1lc1J1bGU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6
CisgICAgICAgICogY3NzL1dlYktpdENTU01peEZ1bmN0aW9uVmFsdWUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6V2ViS2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9y
eVVzYWdlKToKKyAgICAgICAgKiBjc3MvV2ViS2l0Q1NTUmVnaW9uUnVsZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpXZWJLaXRDU1NSZWdpb25SdWxlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNh
Z2UpOgorICAgICAgICAqIGNzcy9XZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OldlYktpdENTU1NWR0RvY3VtZW50VmFsdWU6OnJlcG9ydERlc2NlbmRhbnRN
ZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL1dlYktpdENTU1NoYWRlclZhbHVlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OldlYktpdENTU1NoYWRlclZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVt
b3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZTo6cmVwb3J0RGVzY2VuZGFu
dE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBkb20vQXR0cmlidXRlLmg6CisgICAgICAgIChXZWJD
b3JlOjpBdHRyaWJ1dGU6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBkb20vQ2hhcmFj
dGVyRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaGFyYWN0ZXJEYXRhOjpyZXBvcnRNZW1v
cnlVc2FnZSk6CisgICAgICAgICogZG9tL0NvbnRhaW5lck5vZGUuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkNvbnRhaW5lck5vZGU6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBkb20vRG9j
dW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnJlcG9ydE1lbW9yeVVzYWdl
KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnRFdmVudFF1ZXVlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50RXZlbnRRdWV1ZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGRv
bS9FbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpyZXBvcnRNZW1vcnlVc2Fn
ZSk6CisgICAgICAgICogZG9tL0VsZW1lbnRBdHRyaWJ1dGVEYXRhLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkVsZW1lbnRBdHRyaWJ1dGVEYXRhOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAg
ICogZG9tL0V2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50OjpyZXBvcnRNZW1vcnlV
c2FnZSk6CisgICAgICAgICogZG9tL01lbW9yeUluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKiBkb20vTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmg6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKEdlbmVyaWNNZW1vcnlUeXBlcyk6CisgICAgICAgIChX
ZWJDb3JlOjpNZW1vcnlJbnN0cnVtZW50YXRpb246OmFkZFJvb3RPYmplY3QpOgorICAgICAgICAo
V2ViQ29yZTo6TWVtb3J5T2JqZWN0SW5mbzo6cmVwb3J0T2JqZWN0SW5mbyk6CisgICAgICAgIChX
ZWJDb3JlTWVtb3J5VHlwZXMpOgorICAgICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok5vZGU6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBkb20vUXVhbGlmaWVk
TmFtZS5oOgorICAgICAgICAoV2ViQ29yZTo6UXVhbGlmaWVkTmFtZTo6UXVhbGlmaWVkTmFtZUlt
cGw6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlF1YWxpZmllZE5hbWU6
OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6cmVwb3J0TWVtb3J5VXNhZ2Up
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHA6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAg
KiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6
OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBsb2FkZXIvTWFpblJlc291cmNlTG9hZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1haW5SZXNvdXJjZUxvYWRlcjo6cmVwb3J0TWVtb3J5
VXNhZ2UpOgorICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZXNvdXJjZUxvYWRlcjo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGxv
YWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdWJyZXNvdXJj
ZUxvYWRlcjo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGxvYWRlci9TdWJzdGl0dXRl
RGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdWJzdGl0dXRlRGF0YTo6cmVwb3J0TWVtb3J5
VXNhZ2UpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRDU1NTdHlsZVNoZWV0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZENTU1N0eWxlU2hlZXQ6OnJlcG9ydE1lbW9yeVVzYWdl
KToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkRm9udC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDYWNoZWRGb250OjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogbG9hZGVyL2Nh
Y2hlL0NhY2hlZEltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZEltYWdlOjpyZXBv
cnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jlc291cmNl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJhd1Jlc291cmNlOjpyZXBvcnRNZW1vcnlV
c2FnZSk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAg
ICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlSGFuZGxlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNhY2hlZFJlc291cmNlSGFuZGxlQmFzZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAg
ICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAq
IGxvYWRlci9jYWNoZS9DYWNoZWRTVkdEb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
YWNoZWRTVkdEb2N1bWVudDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGxvYWRlci9j
YWNoZS9DYWNoZWRTY3JpcHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkU2NyaXB0Ojpy
ZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFNoYWRlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRTaGFkZXI6OnJlcG9ydE1lbW9yeVVzYWdlKToK
KyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkWFNMU3R5bGVTaGVldC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDYWNoZWRYU0xTdHlsZVNoZWV0OjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAg
ICAgICogbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1l
bW9yeUNhY2hlOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogcGFnZS9GcmFtZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAq
IHBsYXRmb3JtL1NoYXJlZEJ1ZmZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRCdWZm
ZXI6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9UcmVlU2hhcmVkLmg6
CisgICAgICAgIChXZWJDb3JlOjpUcmVlU2hhcmVkOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Qml0bWFwSW1hZ2U6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9Dcm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
cm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL0dlbmVyYXRlZEltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okdl
bmVyYXRlZEltYWdlOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvR2VuZXJhdG9yR2VuZXJhdGVkSW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2Vu
ZXJhdG9yR2VuZXJhdGVkSW1hZ2U6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9JbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZTo6cmVwb3J0
TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvRm9ybURhdGEuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Rm9ybURhdGE6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAq
IHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAg
KiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyU3R5bGU6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUv
U3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVJ
bmhlcml0ZWREYXRhOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogcmVuZGVyaW5nL3N0
eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5
bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIHN2
Zy9TVkdDb2xvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdDb2xvcjo6cmVwb3J0RGVzY2Vu
ZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBzdmcvU1ZHUGFpbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHUGFpbnQ6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAg
ICogc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ltYWdl
OjpyZXBvcnRNZW1vcnlVc2FnZSk6CisKKzIwMTItMDktMDUgIElseWEgVGlraG9ub3Zza3kgIDxs
b2lzbG9AY2hyb21pdW0ub3JnPgorCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IE5NSTogZXh0cmFj
dCBvdmVybG9hZGVkIGluc3RydW1lbnRhdGlvbiBtZW1iZXJzIGZvciBXZWJDb3JlIGNsYXNzZXMg
ZnJvbSBjb3JlIE5NSSBjb2RlLgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9OTU4MzQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBmNzhhYWNm
ZjE1MGQ5ZDM5YjJmZDlkODQ0ZWQ5ZjcyMjhmZmM0NmJlLi4xYjk2NmY3YTE5OGNiOGNiZWYxNzJm
NTg0NmI3ODEwYTJlZjllM2YwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIyIEBACisyMDEyLTA5LTA1ICBJbHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBOTUk6IGV4dHJhY3QgTWVtb3J5T2JqZWN0VHlw
ZSBjb25zdGFudHMgZnJvbSBNZW1vcnlJbnN0cnVtZW50YXRpb24uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTg1MAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEknZCBsaWtlIHRvIGV4dHJhY3QgTWVtb3J5
T2JqZWN0VHlwZXMgaW50byBzZXBhcmF0ZSBjbGFzc2VzLgorICAgICAgICBBZnRlciB0aGF0IHdl
IHdpbGwgYmUgYWJsZSB0byBtb3ZlIGNvcmUgTk1JIGluc3RydW1lbnRhdGlvbiBjb2RlIHRvIFdU
Ri4KKworICAgICAgICAqIHRlc3RzL01lbW9yeUluc3RydW1lbnRhdGlvblRlc3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zdHJ1bWVudGVkOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAg
IChXZWJDb3JlOjpJbnN0cnVtZW50ZWRSZWZQdHI6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3RydW1lbnRlZFdpdGhPd25QdHI6OnJlcG9ydE1lbW9yeVVzYWdlKToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRlZE90aGVyOjpyZXBvcnRNZW1vcnlVc2FnZSk6
CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50ZWRET006OnJlcG9ydE1lbW9yeVVzYWdlKToK
KyAgICAgICAgKFdlYkNvcmU6OlRFU1QpOgorICAgICAgICAoV2ViQ29yZTo6Tm9uVmlydHVhbElu
c3RydW1lbnRlZDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorCiAyMDEyLTA5LTA1ICBQZXRlciBCZXZl
cmxvbyAgPHBldGVyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5n
IG91dCByMTI3NTkwLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2Ny
aXB0V3JhcHBhYmxlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRXcmFwcGFi
bGUuaAppbmRleCBjZDA4NzNhZmZiMzNiZDQ4ZTY5MTVlMWVhOWZkZGYzYmU2Y2ZkNTNhLi5kYTEw
OGVkMzJlZmZiM2ZlMDdkM2M1ZmJjYTZlNjEzYTY0ODNkOTkwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRXcmFwcGFibGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHRXcmFwcGFibGUuaApAQCAtNTcsNyArNTcsNyBAQCBwdWJsaWM6
CiAKICAgICB2b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9i
amVjdEluZm8pIGNvbnN0CiAgICAgewotICAgICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1v
cnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkRPTSk7CisgICAgICAg
IE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1v
cnlUeXBlczo6RE9NKTsKICAgICAgICAgaW5mby5hZGRNZW1iZXIobV93cmFwcGVyKTsKICAgICB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuY3BwCmluZGV4IDIy
NzYxOWU3OGI5NmQ0MjNmZmYwYmQ2NDAwZmE0YzAwMTYxYzI2NGUuLjYzNzM5NDNmMjVjZWE3Nzc1
ZTBiNDBhMTY1NWY0MDE4YmY1YmI0N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L0RPTURhdGFTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
RE9NRGF0YVN0b3JlLmNwcApAQCAtMTIxLDcgKzEyMSw3IEBAIHZvaWQqIERPTURhdGFTdG9yZTo6
Z2V0RE9NV3JhcHBlck1hcChET01XcmFwcGVyTWFwVHlwZSB0eXBlKQogCiB2b2lkIERPTURhdGFT
dG9yZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5m
bykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0
aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkJpbmRpbmcpOworICAgIE1lbW9yeUNsYXNzSW5m
byBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6QmluZGlu
Zyk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9kb21Ob2RlTWFwKTsKICAgICBp
bmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2FjdGl2ZURvbU5vZGVNYXApOwogICAgIGluZm8u
YWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZG9tT2JqZWN0TWFwKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0ludHJ1c2l2ZURPTVdyYXBwZXJNYXAuaCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L0ludHJ1c2l2ZURPTVdyYXBwZXJNYXAuaAppbmRleCBlYmNmNzY3
MTRmOTNkYzI0ZjY0ODA4MTVjMGJkMDY5ZmQwMmQxYjUyLi5lMWMxYTRiMTYxYjAxMTg2MDY5YjFm
NjQ2OTJiNmQyNDk3MGI0OWMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9JbnRydXNpdmVET01XcmFwcGVyTWFwLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvSW50cnVzaXZlRE9NV3JhcHBlck1hcC5oCkBAIC0xMDQsNyArMTA0LDcgQEAgY2xhc3MgQ2h1
bmtlZFRhYmxlIHsKIAogICAgIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5m
byogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKICAgICB7Ci0gICAgICAgIE1lbW9yeUNsYXNzSW5m
byBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Qmlu
ZGluZyk7CisgICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRo
aXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6QmluZGluZyk7CiAgICAgICAgIGZvciAoQ2h1bmsqIGNo
dW5rID0gbV9jaHVua3M7IGNodW5rOyBjaHVuayA9IGNodW5rLT5tX3ByZXZpb3VzKQogICAgICAg
ICAgICAgaW5mby5hZGRNZW1iZXIoY2h1bmspOwogICAgIH0KQEAgLTE4Niw3ICsxODYsNyBAQCBw
dWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0
SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QgT1ZFUlJJREUKICAgICB7Ci0gICAgICAgIE1l
bW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1l
bnRhdGlvbjo6QmluZGluZyk7CisgICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9i
amVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6QmluZGluZyk7CiAgICAgICAgIGlu
Zm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdGFibGUpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0V3JhcHBhYmxlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TY3JpcHRXcmFwcGFibGUuaAppbmRleCBkMzJiOWI4YzJlMTQyZGVm
NGFmZDY2MDQxYTlmMzMzNmRjNjM5MzAzLi42MzU2ZjAwN2VhYTI4YzY1ZDZjNDUzZGUzNDdlYzM2
Y2IxZTM1ZDc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRX
cmFwcGFibGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRXcmFwcGFi
bGUuaApAQCAtNTUsNyArNTUsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHJlcG9ydE1lbW9yeVVz
YWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAgICAgewotICAg
ICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJ
bnN0cnVtZW50YXRpb246OkRPTSk7CisgICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9y
eU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6RE9NKTsKICAgICAgICAgaW5m
by5hZGRNZW1iZXIobV93cmFwcGVyKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1Y4QmluZGluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9WOEJpbmRpbmcuY3BwCmluZGV4IGFjZDA0M2FhNTFmMGNkNDdlZDk5YjZlYjZmMTJhMWQ0M2U0
MWVhZTkuLmU4NjkyMDRiN2Y2YjE3YjNmMDM4OTlhOWRkZDhiZGZhNTBkZmY3Y2UgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QmluZGluZy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvVjhCaW5kaW5nLmNwcApAQCAtMjE5LDcgKzIxOSw3IEBAIHY4
OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBjcmVhdGVSYXdUZW1wbGF0ZSgpCiAK
IHZvaWQgU3RyaW5nQ2FjaGU6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1l
bW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5
T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpCaW5kaW5nKTsKKyAgICBN
ZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5
VHlwZXM6OkJpbmRpbmcpOwogICAgIGluZm8uYWRkSGFzaE1hcChtX3N0cmluZ0NhY2hlKTsKIH0K
ICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NTWFwLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTU1hcC5oCmluZGV4IGNjNzZmZmE1MzFl
YTNhMjA1YjBmMTFkNTE1MWIyMDFlMGUyMDc3YzQuLmQwYmNiMjllNWMzNTEwZmUzMzdiZThhZDZj
NDExMWFjZTQ4NzQ4MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4
RE9NTWFwLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01NYXAuaApAQCAt
MTM2LDcgKzEzNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICB2aXJ0dWFsIHZv
aWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykg
Y29uc3QgT1ZFUlJJREUKICAgICAgICAgewotICAgICAgICAgICAgTWVtb3J5Q2xhc3NJbmZvIGlu
Zm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpCaW5kaW5n
KTsKKyAgICAgICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRo
aXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6QmluZGluZyk7CiAgICAgICAgICAgICBpbmZvLmFkZEhh
c2hNYXAobV9tYXApOwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L1Y4UGVySXNvbGF0ZURhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvVjhQZXJJc29sYXRlRGF0YS5jcHAKaW5kZXggMTgzYzMxMmVjMzJiODZjYTYwMDk3YmZlYzBi
M2EzY2Y5Y2FmYTQwMS4uMzQ1MzlmNzMwYzg0YjgwNzJiOGM0MmUxNjk2MWY3MWVhMzY5MDViZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQZXJJc29sYXRlRGF0YS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQZXJJc29sYXRlRGF0YS5jcHAK
QEAgLTc1LDcgKzc1LDcgQEAgdm9pZCBWOFBlcklzb2xhdGVEYXRhOjpkaXNwb3NlKHY4OjpJc29s
YXRlKiBpc29sYXRlKQogCiB2b2lkIFY4UGVySXNvbGF0ZURhdGE6OnJlcG9ydE1lbW9yeVVzYWdl
KE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5
Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0
aW9uOjpCaW5kaW5nKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZv
LCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkJpbmRpbmcpOwogICAgIGluZm8uYWRkSGFzaE1h
cChtX3Jhd1RlbXBsYXRlcyk7CiAgICAgaW5mby5hZGRIYXNoTWFwKG1fdGVtcGxhdGVzKTsKICAg
ICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3N0cmluZ0NhY2hlKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcAppbmRleCA1ODk3ZjUxMTE5ODQ5ZTE5MDIx
NzNhOTIwMTJmMzU3Zjc1MjM1MDllLi4yNDZkYmY3ZDgyOGE0NjQyMDQ3ZGI1N2IwMjZiZDQ0NDE2
MWVmYzBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQXNwZWN0UmF0aW9WYWx1
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuY3BwCkBA
IC00NSw3ICs0NSw3IEBAIFN0cmluZyBDU1NBc3BlY3RSYXRpb1ZhbHVlOjpjdXN0b21Dc3NUZXh0
KCkgY29uc3QKIAogdm9pZCBDU1NBc3BlY3RSYXRpb1ZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVt
b3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAg
ICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0
cnVtZW50YXRpb246OkNTUyk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0
SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogfQogCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuY3BwCmluZGV4IDM5NGNjMjg5
NGE0MWU0MDEzYTVmMzQyNmY4YmRkZTljMTE4MTFmN2QuLjJjMjZjZDhlOGM1YTFhZWU4NTNhMGEy
OWY5N2Q2NTA1MmUxZTlkYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NCb3Jk
ZXJJbWFnZVNsaWNlVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NCb3JkZXJJ
bWFnZVNsaWNlVmFsdWUuY3BwCkBAIC01Miw3ICs1Miw3IEBAIFN0cmluZyBDU1NCb3JkZXJJbWFn
ZVNsaWNlVmFsdWU6OmN1c3RvbUNzc1RleHQoKSBjb25zdAogCiB2b2lkIENTU0JvcmRlckltYWdl
U2xpY2VWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8q
IG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVt
b3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAgIE1l
bW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlU
eXBlczo6Q1NTKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3NsaWNlcyk7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjdWxhdGlvblZhbHVlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjdWxhdGlvblZhbHVlLmNwcAppbmRleCA4MjAy
NTM1NDc2MTliOTA2N2Q3Yzk1ODI5MzZjN2VhOGM0ZjM4NWRlLi41ZmNjN2VhNjdkZWIzOWMwZDA4
MGFjMmQwMTk1Y2Y4NTNjZWE3YzE2IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Q2FsY3VsYXRpb25WYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGN1bGF0
aW9uVmFsdWUuY3BwCkBAIC0xMDksNyArMTA5LDcgQEAgYm9vbCBDU1NDYWxjVmFsdWU6Omhhc1Zh
cmlhYmxlUmVmZXJlbmNlKCkgY29uc3QKIAogdm9pZCBDU1NDYWxjVmFsdWU6OnJlcG9ydERlc2Nl
bmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25z
dAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1l
bW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1v
cnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiB9CiAgICAgCiBk
b3VibGUgQ1NTQ2FsY1ZhbHVlOjpjbGFtcFRvUGVybWl0dGVkUmFuZ2UoZG91YmxlIHZhbHVlKSBj
b25zdApAQCAtMjI0LDcgKzIyNCw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCByZXBv
cnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdCBP
VkVSUklERQogICAgIHsKLSAgICAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0
SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAgICAgICBNZW1vcnlD
bGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6
OkNTUyk7CiAgICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdmFsdWUpOwogICAg
IH0KICAgICAKQEAgLTMyMiw3ICszMjIsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQg
cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29u
c3QgT1ZFUlJJREUKICAgICB7Ci0gICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9i
amVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICAgICAgTWVt
b3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5
cGVzOjpDU1MpOwogICAgICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2xlZnRTaWRl
KTsKICAgICAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9yaWdodFNpZGUpOwogICAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYW52YXNWYWx1ZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FudmFzVmFsdWUuY3BwCmluZGV4IGM0YzQ2NWNkNTIxNWU5
NWZhZmQxYzE0ZGNmNDZhMmM2ZWFkYjY0OGEuLjUzMjQxNjRiNmQxYWE2OTZlODJkMzljYWExNWU4
NTg2MTE0YTJkNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYW52YXNWYWx1
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbnZhc1ZhbHVlLmNwcApAQCAtOTgs
NyArOTgsNyBAQCBQYXNzUmVmUHRyPEltYWdlPiBDU1NDYW52YXNWYWx1ZTo6aW1hZ2UoUmVuZGVy
T2JqZWN0KiByZW5kZXJlciwgY29uc3QgSW50U2l6ZSYgLwogCiB2b2lkIENTU0NhbnZhc1ZhbHVl
OjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2Jq
ZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJ
bmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CisgICAgTWVtb3J5Q2xhc3NJ
bmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1Mp
OwogICAgIENTU0ltYWdlR2VuZXJhdG9yVmFsdWU6OnJlcG9ydEJhc2VDbGFzc01lbW9yeVVzYWdl
KG1lbW9yeU9iamVjdEluZm8pOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbmFt
ZSk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9lbGVtZW50KTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDaGFyc2V0UnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwCmluZGV4IGEzYzNlMWI5YWE1NDBkMWU2MDRmOGQ1NmY0
ZjEyY2MzZWIwODcwZGIuLjYzZWUxNzg4ZDdmNzAwYjFkMmIxMTJkYWVhMTI2NDc1NGYzNTRlNGIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDaGFyc2V0UnVsZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0NoYXJzZXRSdWxlLmNwcApAQCAtMzgsNyArMzgsNyBAQCBT
dHJpbmcgQ1NTQ2hhcnNldFJ1bGU6OmNzc1RleHQoKSBjb25zdAogCiB2b2lkIENTU0NoYXJzZXRS
dWxlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5
T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmpl
Y3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CisgICAgTWVtb3J5Q2xh
c3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpD
U1MpOwogICAgIENTU1J1bGU6OnJlcG9ydEJhc2VDbGFzc01lbW9yeVVzYWdlKG1lbW9yeU9iamVj
dEluZm8pOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZW5jb2RpbmcpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNw
cAppbmRleCAwYzQ3NzJkNDA0OGMwOTJjMGU0NWRiNzcwNmRhOTA4NTdmNWMwYWFhLi5lZmYyN2Nm
ZjBjNTZkZjE1MjIwOWYyYTA5N2YwZWM4NjNiNTU1ZGEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMjczMSw3ICsyNzMx
LDcgQEAgUGFzc1JlZlB0cjxTdHlsZVByb3BlcnR5U2V0PiBDU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb246OmNvcHlQcm9wZXJ0aWVzSW5TZXQoY28KIAogdm9pZCBDU1NDb21wdXRlZFN0eWxlRGVj
bGFyYXRpb246OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVj
dEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5m
bywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAgIE1lbW9yeUNsYXNzSW5m
byBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsK
ICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX25vZGUpOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ3Jvc3NmYWRlVmFsdWUuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0Nyb3NzZmFkZVZhbHVlLmNwcAppbmRleCA2Y2NjOGI3ZGJhZDJlODJmZmI1ODIw
MzE3ZjQ0ZTNmYmU2NzZkMThjLi4zYmVlNDMzZWMzMDAzNDJiNTk0NmJhODJjZWYyNzdmOGUxNDdi
ZDk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ3Jvc3NmYWRlVmFsdWUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDcm9zc2ZhZGVWYWx1ZS5jcHAKQEAgLTE0MSw3
ICsxNDEsNyBAQCB2b2lkIENTU0Nyb3NzZmFkZVZhbHVlOjpsb2FkU3ViaW1hZ2VzKENhY2hlZFJl
c291cmNlTG9hZGVyKiBjYWNoZWRSZXNvdXJjZUxvYWRlcgogCiB2b2lkIENTU0Nyb3NzZmFkZVZh
bHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5
T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmpl
Y3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CisgICAgTWVtb3J5Q2xh
c3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpD
U1MpOwogICAgIENTU0ltYWdlR2VuZXJhdG9yVmFsdWU6OnJlcG9ydEJhc2VDbGFzc01lbW9yeVVz
YWdlKG1lbW9yeU9iamVjdEluZm8pOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1f
ZnJvbVZhbHVlKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3RvVmFsdWUpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0N1cnNvckltYWdlVmFsdWUuY3BwIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0N1cnNvckltYWdlVmFsdWUuY3BwCmluZGV4IDM1MDM4ZmNk
MzhjNGFhYTQ5NzFhZjEyZThlZTFhOTY1NTY2ZTI4OWIuLjJlODdkNTAyZDhjYzc2ZjIwMTljMzY5
ZjRmMzI3NzVhYzk4YWQwNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDdXJz
b3JJbWFnZVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ3Vyc29ySW1hZ2VW
YWx1ZS5jcHAKQEAgLTEzNSw3ICsxMzUsNyBAQCB2b2lkIENTU0N1cnNvckltYWdlVmFsdWU6OnJl
bW92ZVJlZmVyZW5jZWRFbGVtZW50KFNWR0VsZW1lbnQqIGVsZW1lbnQpCiAKIHZvaWQgQ1NTQ3Vy
c29ySW1hZ2VWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdElu
Zm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8o
bWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAg
IE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1v
cnlUeXBlczo6Q1NTKTsKICAgICBDU1NJbWFnZVZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5
VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7CiAjaWYgRU5BQkxFKFNWRykKICAgICBpbmZvLmFkZElu
c3RydW1lbnRlZEhhc2hTZXQobV9yZWZlcmVuY2VkRWxlbWVudHMpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTRm9udEZhY2VSdWxlLmNwcAppbmRleCAwOTUyOWU0M2YxMzY0OTFkZGU1OWM4ZjcyZTFmNjJk
YWU0ODY5MmMyLi44ODIwYzJkNzUwNzBhOWZlZTcwMGEwYzFhZDkzMmIwZDNkYTY1ODRjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VSdWxlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VSdWxlLmNwcApAQCAtNzAsNyArNzAsNyBAQCB2b2lk
IENTU0ZvbnRGYWNlUnVsZTo6cmVhdHRhY2goU3R5bGVSdWxlRm9udEZhY2UqIHJ1bGUpCiAKIHZv
aWQgQ1NTRm9udEZhY2VSdWxlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2Jq
ZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8g
aW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7
CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29y
ZU1lbW9yeVR5cGVzOjpDU1MpOwogICAgIENTU1J1bGU6OnJlcG9ydEJhc2VDbGFzc01lbW9yeVVz
YWdlKG1lbW9yeU9iamVjdEluZm8pOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1f
Zm9udEZhY2VSdWxlKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3Byb3BlcnRp
ZXNDU1NPTVdyYXBwZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRG
YWNlU3JjVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU3JjVmFsdWUu
Y3BwCmluZGV4IDhjYTJjMWQxYzRhOGU3NWYxOTRhOTU5NTg1M2NlZjdiNjNjMzA0MWIuLjQyZmI3
NGMyZDhjNTAxOTE3NzE3MjcwMDkxNDRhNjlmOTliZmRlMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNyY1ZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5jcHAKQEAgLTEwMyw3ICsxMDMsNyBAQCBDYWNoZWRGb250
KiBDU1NGb250RmFjZVNyY1ZhbHVlOjpjYWNoZWRGb250KERvY3VtZW50KiBkb2N1bWVudCkKIAog
dm9pZCBDU1NGb250RmFjZVNyY1ZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVt
b3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFz
c0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246
OkNTUyk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywg
V2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVy
KG1fcmVzb3VyY2UpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZm9ybWF0KTsK
ICAgICAvLyBGSVhNRTogYWRkIG1fY2FjaGVkRm9udCB3aGVuIE1lbW9yeUNhY2hlIGlzIGluc3Ry
dW1lbnRlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGdW5jdGlvblZhbHVl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGdW5jdGlvblZhbHVlLmNwcAppbmRleCAyMDRj
ZjRhZmExYzUzNzJlMDI1ZTVlZjMyNjQyOGRlMThkODUwMzllLi5hYzhkZDQxYzRmOGJkNzBjNWFl
ZDg5NTM4YWI4ZTc3ODI4YjNjMmEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
RnVuY3Rpb25WYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Z1bmN0aW9uVmFs
dWUuY3BwCkBAIC01NCw3ICs1NCw3IEBAIFN0cmluZyBDU1NGdW5jdGlvblZhbHVlOjpjdXN0b21D
c3NUZXh0KCkgY29uc3QKIAogdm9pZCBDU1NGdW5jdGlvblZhbHVlOjpyZXBvcnREZXNjZW5kYW50
TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsK
LSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJ
bnN0cnVtZW50YXRpb246OkNTUyk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2Jq
ZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAgIGluZm8uYWRkSW5z
dHJ1bWVudGVkTWVtYmVyKG1fbmFtZSk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIo
bV9hcmdzKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZh
bHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVlLmNwcAppbmRleCA4
NTUxNGY1OTJlYjI2MjFkMjkzMGY5MDMxNjc1MmFhNTFmYTg2OTE4Li5lYjhjYTE0YmFlZGYzYzM3
Zjk4MmMyYjQ1MmI5YjU0MzdmZjhiNzhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTR3JhZGllbnRWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRpZW50
VmFsdWUuY3BwCkBAIC00Niw3ICs0Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdm9pZCBD
U1NHcmFkaWVudENvbG9yU3RvcDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyog
bWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1v
cnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CisgICAgTWVt
b3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5
cGVzOjpDU1MpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcG9zaXRpb24pOwog
ICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fY29sb3IpOwogfQpAQCAtNDYzLDcgKzQ2
Myw3IEBAIGJvb2wgQ1NTR3JhZGllbnRWYWx1ZTo6aXNDYWNoZWFibGUoKSBjb25zdAogCiB2b2lk
IENTU0dyYWRpZW50VmFsdWU6OnJlcG9ydEJhc2VDbGFzc01lbW9yeVVzYWdlKE1lbW9yeU9iamVj
dEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGlu
Zm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOwor
ICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVN
ZW1vcnlUeXBlczo6Q1NTKTsKICAgICBDU1NJbWFnZUdlbmVyYXRvclZhbHVlOjpyZXBvcnRCYXNl
Q2xhc3NNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAgICBpbmZvLmFkZEluc3RydW1l
bnRlZE1lbWJlcihtX2ZpcnN0WCk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9m
aXJzdFkpOwpAQCAtNjM2LDcgKzYzNiw3IEBAIFBhc3NSZWZQdHI8R3JhZGllbnQ+IENTU0xpbmVh
ckdyYWRpZW50VmFsdWU6OmNyZWF0ZUdyYWRpZW50KFJlbmRlck9iamVjdCogcmVuZGVyCiAKIHZv
aWQgQ1NTTGluZWFyR3JhZGllbnRWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1l
bW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xh
c3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9u
OjpDU1MpOworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMs
IFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKICAgICBDU1NHcmFkaWVudFZhbHVlOjpyZXBvcnRC
YXNlQ2xhc3NNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAgICBpbmZvLmFkZEluc3Ry
dW1lbnRlZE1lbWJlcihtX2FuZ2xlKTsKIH0KQEAgLTk2MSw3ICs5NjEsNyBAQCBQYXNzUmVmUHRy
PEdyYWRpZW50PiBDU1NSYWRpYWxHcmFkaWVudFZhbHVlOjpjcmVhdGVHcmFkaWVudChSZW5kZXJP
YmplY3QqIHJlbmRlcgogCiB2b2lkIENTU1JhZGlhbEdyYWRpZW50VmFsdWU6OnJlcG9ydERlc2Nl
bmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25z
dAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1l
bW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1v
cnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgQ1NTR3Jh
ZGllbnRWYWx1ZTo6cmVwb3J0QmFzZUNsYXNzTWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7
CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9maXJzdFJhZGl1cyk7CiAgICAgaW5m
by5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9zZWNvbmRSYWRpdXMpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwCmluZGV4IDYzMDQwZjNiZTZlOThkZjJj
OWQ5NTJjNWFkNDY0MTU2MTk0NTQ0YjEuLmM5NjMyYjc1NTI2MmUyYjE4NjllNTg3NTFkNDdjZTBh
MDZjZmYyYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZUdlbmVyYXRv
clZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1
ZS5jcHAKQEAgLTExMSw3ICsxMTEsNyBAQCB2b2lkIENTU0ltYWdlR2VuZXJhdG9yVmFsdWU6OnB1
dEltYWdlKGNvbnN0IEludFNpemUmIHNpemUsIFBhc3NSZWZQdHI8SW1hZ2U+IGltYQogCiB2b2lk
IENTU0ltYWdlR2VuZXJhdG9yVmFsdWU6OnJlcG9ydEJhc2VDbGFzc01lbW9yeVVzYWdlKE1lbW9y
eU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJ
bmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpD
U1MpOworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdl
YkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKICAgICBpbmZvLmFkZEhhc2hDb3VudGVkU2V0KG1fc2l6
ZXMpOwogICAgIGluZm8uYWRkSGFzaE1hcChtX2NsaWVudHMpOwogICAgIGluZm8uYWRkSGFzaE1h
cChtX2ltYWdlcyk7IC8vIEZJWE1FOiBpbnN0cnVtZW50IEltYWdlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VTZXRWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTSW1hZ2VTZXRWYWx1ZS5jcHAKaW5kZXggMjg0NTFhMjU0NDRiMGVlN2Y5ZmZkOGE4NTJiNjdm
NGE0NDZjYTU4NS4uNGEzNzRlYWM3ZGQ1NjAxZjNmNDM4MzNhNDA0MjUzNzVmN2RjMjUzZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlU2V0VmFsdWUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVNldFZhbHVlLmNwcApAQCAtMTY2LDE0ICsxNjYsMTQg
QEAgUGFzc1JlZlB0cjxDU1NJbWFnZVNldFZhbHVlPiBDU1NJbWFnZVNldFZhbHVlOjpjbG9uZUZv
ckNTU09NKCkgY29uc3QKIAogdm9pZCBDU1NJbWFnZVNldFZhbHVlOjpyZXBvcnREZXNjZW5kYW50
TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsK
LSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJ
bnN0cnVtZW50YXRpb246OkNTUyk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2Jq
ZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAgIENTU1ZhbHVlTGlz
dDo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwogICAgIGlu
Zm8uYWRkSW5zdHJ1bWVudGVkVmVjdG9yKG1faW1hZ2VzSW5TZXQpOwogfQogCiB2b2lkIENTU0lt
YWdlU2V0VmFsdWU6OkltYWdlV2l0aFNjYWxlOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmpl
Y3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBp
bmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsK
KyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3Jl
TWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIoaW1hZ2VV
UkwpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5jcHAKaW5kZXggYjdmNGQ3M2Nk
ODcxZmVjNmIwYmE4NTUxNDk3Mjk1OWU0MDQwYTRiYi4uNzRiMjhhN2Y0NTY2N2Q2ZjhkNDlhYjVi
NGY3OWY4YjM3MGMzNjgwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdl
VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmNwcApAQCAt
MTI4LDcgKzEyOCw3IEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU0ltYWdlVmFsdWU6OmNsb25l
Rm9yQ1NTT00oKSBjb25zdAogCiB2b2lkIENTU0ltYWdlVmFsdWU6OnJlcG9ydERlc2NlbmRhbnRN
ZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewot
ICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUlu
c3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmpl
Y3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgaW5mby5hZGRJbnN0
cnVtZW50ZWRNZW1iZXIobV91cmwpOwogICAgIC8vIE5vIG5lZWQgdG8gcmVwb3J0IG1faW1hZ2Ug
YXMgaXQgaXMgY291bnRlZCBhcyBwYXJ0IG9mIFJlbmRlckFyZW5hLgogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0ltcG9ydFJ1bGUuY3BwCmluZGV4IDM1NTY5ZGU3MDQ0ODA2MGU0MGI2MjRlYmZlMjNhZmM3
YTRiOTAxMDEuLjI3Mjc4ZTYxMjA5OTEyNjMzYjExMTBkNWUxMjAyNzE4MGJjMjU0ZWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5jcHAKQEAgLTc5LDcgKzc5LDcgQEAgU3RyaW5nIENT
U0ltcG9ydFJ1bGU6OmNzc1RleHQoKSBjb25zdAogCiB2b2lkIENTU0ltcG9ydFJ1bGU6OnJlcG9y
dERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZv
KSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRo
aXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5m
byhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAg
Q1NTUnVsZTo6cmVwb3J0QmFzZUNsYXNzTWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7CiAg
ICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9pbXBvcnRSdWxlKTsKICAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihtX21lZGlhQ1NTT01XcmFwcGVyKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NJbmhlcml0ZWRWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTSW5oZXJpdGVkVmFsdWUuY3BwCmluZGV4IGY3YTQyNmRlNjZiYzY3Nzk3YmM1MWI2YWQw
NjZkZDUzODdjMTkyMmMuLjA5MWEyZmFkZGMzNjkyZWQ5MTIzMjZiYmE4YmMzY2Q1MGZjMWRkM2Qg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbmhlcml0ZWRWYWx1ZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0luaGVyaXRlZFZhbHVlLmNwcApAQCAtMzMsNyArMzMs
NyBAQCBTdHJpbmcgQ1NTSW5oZXJpdGVkVmFsdWU6OmN1c3RvbUNzc1RleHQoKSBjb25zdAogCiB2
b2lkIENTU0luaGVyaXRlZFZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5
T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0lu
Zm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNT
Uyk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2Vi
Q29yZU1lbW9yeVR5cGVzOjpDU1MpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW5pdGlhbFZhbHVlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NJbml0aWFsVmFsdWUuY3BwCmluZGV4IDc3NWZlMGY4MDhiOWU1NjJiNjkw
M2JmOWM5NGYwMmQ2MWQzOGRhNmYuLmZkOWM4N2I1OGY2YjI2MGQ3YWMwMDA0ZDkzY2U5MTc3YWI3
NGRiZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbml0aWFsVmFsdWUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbml0aWFsVmFsdWUuY3BwCkBAIC0zMyw3ICsz
Myw3IEBAIFN0cmluZyBDU1NJbml0aWFsVmFsdWU6OmN1c3RvbUNzc1RleHQoKSBjb25zdAogCiB2
b2lkIENTU0luaXRpYWxWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9i
amVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZv
IGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1Mp
OworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNv
cmVNZW1vcnlUeXBlczo6Q1NTKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0xpbmVCb3hDb250YWluVmFsdWUuY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0xpbmVCb3hDb250YWluVmFsdWUuY3BwCmluZGV4IGY5ZTNkYjUw
Y2IwYjk5MjdhOWY4ZmJiNDk4ZGU0M2YzZGQyY2VjNTkuLjRmMjc1Mzg1NWE4ZGU4YzM1ZGEwZmU2
NDY3YTk2MjgxNDZlMGZkODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NMaW5l
Qm94Q29udGFpblZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTGluZUJveENv
bnRhaW5WYWx1ZS5jcHAKQEAgLTc2LDcgKzc2LDcgQEAgU3RyaW5nIENTU0xpbmVCb3hDb250YWlu
VmFsdWU6OmN1c3RvbUNzc1RleHQoKSBjb25zdAogCiB2b2lkIENTU0xpbmVCb3hDb250YWluVmFs
dWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlP
YmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVj
dEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBNZW1vcnlDbGFz
c0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNT
Uyk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU01lZGlhUnVsZS5jcHAKaW5kZXggMjc4NjcwZjQx
MDFjMDZhMTRmZTViZmY3NjFhZDY3MmI1N2FhNTkxNi4uNzEyMzE2MTZjNDAzMThmNGI1MzAwMWM0
YzcyZTYxMTg5NzE4N2RiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU01lZGlh
UnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU01lZGlhUnVsZS5jcHAKQEAgLTE3
Nyw3ICsxNzcsNyBAQCB2b2lkIENTU01lZGlhUnVsZTo6cmVhdHRhY2goU3R5bGVSdWxlTWVkaWEq
IHJ1bGUpCiAKIHZvaWQgQ1NTTWVkaWFSdWxlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2Uo
TWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlD
bGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRp
b246OkNTUyk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhp
cywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAgIENTU1J1bGU6OnJlcG9ydEJhc2VDbGFz
c01lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKG1fbWVkaWFDU1NPTVdyYXBwZXIpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkVmVj
dG9yKG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUGFnZVJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhZ2VSdWxlLmNw
cAppbmRleCA2ZjBkYTgwNWEzNTY0MGIwYThlY2YxZmQyNGM2NmU4ZDg4NjVmZjI1Li44MzliYzIw
ZjdlNGMzYWYxMzUxZGUxZWQ3Njc3ODhlZDgxN2I0NGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUGFnZVJ1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYWdl
UnVsZS5jcHAKQEAgLTEwNCw3ICsxMDQsNyBAQCB2b2lkIENTU1BhZ2VSdWxlOjpyZWF0dGFjaChT
dHlsZVJ1bGVQYWdlKiBydWxlKQogCiB2b2lkIENTU1BhZ2VSdWxlOjpyZXBvcnREZXNjZW5kYW50
TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsK
LSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJ
bnN0cnVtZW50YXRpb246OkNTUyk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2Jq
ZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAgIENTU1J1bGU6OnJl
cG9ydEJhc2VDbGFzc01lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwogICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKG1fcGFnZVJ1bGUpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKG1fcHJvcGVydGllc0NTU09NV3JhcHBlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1By
aW1pdGl2ZVZhbHVlLmNwcAppbmRleCBjMzg1MGY3ZDM2MWUwNjJmMGQ2MWMxOTRhYjIzNjU5NjBm
MGQ5MGRiLi41NjlkNGRjNWJjNzUwMGJhNjNiNjU1MWY5YzU2ZjA1MzllMWZiNDI3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAKQEAgLTEyNDksNyArMTI0OSw3IEBA
IFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IENTU1ByaW1pdGl2ZVZhbHVlOjpjbG9uZUZv
ckNTU09NKCkgY29uc3QKIAogdm9pZCBDU1NQcmltaXRpdmVWYWx1ZTo6cmVwb3J0RGVzY2VuZGFu
dE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7
Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5
SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9i
amVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKICAgICBzd2l0Y2ggKG1f
cHJpbWl0aXZlVW5pdFR5cGUpIHsKICAgICBjYXNlIENTU19BVFRSOgogICAgIGNhc2UgQ1NTX0NP
VU5URVJfTkFNRToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCmluZGV4IDQ0NDg4N2MxZDk1
NjE4ZDIzMzg3OTZmYzljMzgzOTM5YzhmZDU3MjUuLjI1ZjY0ZTUwZDg2NzkzNGE0MzgyYzQyZDFm
ODI3YTIyMTkzMzYwNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0
eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcApAQCAtNzE0LDcg
KzcxNCw3IEBAIGJvb2wgQ1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkoQ1NTUHJvcGVy
dHlJRCBwcm9wZXJ0eUlEKQogCiB2b2lkIENTU1Byb3BlcnR5OjpyZXBvcnRNZW1vcnlVc2FnZShN
ZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNs
YXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlv
bjo6Q1NTKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlz
LCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1i
ZXIobV92YWx1ZSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSZWZs
ZWN0VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1JlZmxlY3RWYWx1ZS5jcHAKaW5k
ZXggMTBlYzhjMDQ1NWEwMzMxZmJlZjY3NmIzMDEwNTQ2Mzc2MTVjYjJjZS4uNzgyY2FhMGUxNTVl
MDBhMGEyOTQ0NTNiODFkODViZDk0NmZkZDE1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1JlZmxlY3RWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1JlZmxl
Y3RWYWx1ZS5jcHAKQEAgLTcwLDcgKzcwLDcgQEAgdm9pZCBDU1NSZWZsZWN0VmFsdWU6OmFkZFN1
YnJlc291cmNlU3R5bGVVUkxzKExpc3RIYXNoU2V0PEtVUkw+JiB1cmxzLCBjb25zdCBTdHkKIAog
dm9pZCBDU1NSZWZsZWN0VmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlP
YmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5m
byBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NT
KTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJD
b3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9v
ZmZzZXQpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbWFzayk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUnVsZS5jcHAKaW5kZXggMjkxNWE2ZTRhOGZlODYxYmUwZmYzNzBhMmJjNmU4Yzc0Mjlm
NjFhYi4uZmE3ZWNmMTQ4MTVjMDk3MjFiZWI5YzI0MDM5YmY2MDc0NDZiMTk5YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NSdWxlLmNwcApAQCAtMjEyLDcgKzIxMiw3IEBAIGNvbnN0IENTU1BhcnNlckNvbnRleHQm
IENTU1J1bGU6OnBhcnNlckNvbnRleHQoKSBjb25zdAogCiB2b2lkIENTU1J1bGU6OnJlcG9ydEJh
c2VDbGFzc01lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNv
bnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywg
TWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1l
bW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKICAgICBpZiAo
bV9wYXJlbnRJc1J1bGUpCiAgICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcGFy
ZW50UnVsZSk7CiAgICAgZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1
bGVMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlTGlzdC5jcHAKaW5kZXggYWVk
MWE3Y2Q5NWVmMDY1OGQ3OGVlMzc1MjYwMTJlM2I3MzQ5NjM5ZC4uNDcyYjNkZDYwZDAwOTRmNzUw
NWNhYmExNjM5YTY4YmNiZmI0OGNkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1J1bGVMaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZUxpc3QuY3BwCkBA
IC01Myw3ICs1Myw3IEBAIHZvaWQgU3RhdGljQ1NTUnVsZUxpc3Q6OmRlcmVmKCkKIAogdm9pZCBT
dGF0aWNDU1NSdWxlTGlzdDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVt
b3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlP
YmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CisgICAgTWVtb3J5
Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVz
OjpDU1MpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkVmVjdG9yKG1fcnVsZXMpOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZUxpc3QuaCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NSdWxlTGlzdC5oCmluZGV4IDMxMWVhZDUyOTdkODU2NWFlMGYzNzZiM2VjNGNi
YjkwMWVlYmUyZTkuLmVkM2ZkZGIxMTEwNGY2MjY2YzJkMzRiNjdlZmZmNDk3NTRiMDBhZTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlTGlzdC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NSdWxlTGlzdC5oCkBAIC04OCw3ICs4OCw3IEBAIHB1YmxpYzoKIAogICAg
IHZpcnR1YWwgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlP
YmplY3RJbmZvKSBjb25zdCBPVkVSUklERQogICAgIHsKLSAgICAgICAgTWVtb3J5Q2xhc3NJbmZv
IGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1Mp
OworICAgICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBX
ZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fcnVsZSk7CiAgICAgfQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1NlbGVjdG9yTGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3JMaXN0
LmNwcAppbmRleCAzY2YwMjBhNzIwYTc3MTRmYzM2YmQ4M2U2OTdhZGE5YTUyOGFjMzJkLi41YWRi
YWFmZmZiYjk2NzkwOGVhNGIyNGIxZWExNTBjY2I0NzM0MDZjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3JMaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTU2VsZWN0b3JMaXN0LmNwcApAQCAtMTQ1LDcgKzE0NSw3IEBAIFN0cmluZyBDU1NTZWxlY3Rv
ckxpc3Q6OnNlbGVjdG9yc1RleHQoKSBjb25zdAogCiB2b2lkIENTU1NlbGVjdG9yTGlzdDo6cmVw
b3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QK
IHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1v
cnlJbnN0cnVtZW50YXRpb246OkNTUyk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5
T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAgIGluZm8uYWRk
UmF3QnVmZmVyKG1fc2VsZWN0b3JBcnJheSwgbGVuZ3RoKCkgKiBzaXplb2YoQ1NTU2VsZWN0b3Ip
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVSdWxlLmNwcAppbmRleCAyOTcwM2IxYTgxNmVj
Y2M1NzgyMzhlMDdjYTMzNWFiNjAzMjI4ZjBkLi44Y2M2MTBiNzFjYmYxNGFlZjkxMTI3MjNiNTIx
Mjk1NzdkN2IwMzNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVSdWxl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVSdWxlLmNwcApAQCAtMTMxLDcg
KzEzMSw3IEBAIHZvaWQgQ1NTU3R5bGVSdWxlOjpyZWF0dGFjaChTdHlsZVJ1bGUqIHJ1bGUpCiAK
IHZvaWQgQ1NTU3R5bGVSdWxlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2Jq
ZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8g
aW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7
CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29y
ZU1lbW9yeVR5cGVzOjpDU1MpOwogICAgIENTU1J1bGU6OnJlcG9ydEJhc2VDbGFzc01lbW9yeVVz
YWdlKG1lbW9yeU9iamVjdEluZm8pOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1f
c3R5bGVSdWxlKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3Byb3BlcnRpZXND
U1NPTVdyYXBwZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2hl
ZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2hlZXQuY3BwCmluZGV4IDM4NTEy
MjA4OGY2NTc4NGMzY2E4ZGVhMzgyNGFjODc1Yzk2MDRhYmIuLjQ1MzU0MzFmZjkzM2IyN2M4OTZj
YzJhYTA3ZjUyN2I5ZjE1ZGY5MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NT
dHlsZVNoZWV0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTaGVldC5jcHAK
QEAgLTU4LDcgKzU4LDcgQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwgdm9pZCByZXBvcnRNZW1v
cnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdCBPVkVSUklE
RQogICAgIHsKLSAgICAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywg
dGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAgICAgICBNZW1vcnlDbGFzc0lu
Zm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7
CiAgICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc3R5bGVTaGVldCk7CiAgICAg
fQogICAgIApAQCAtMTg0LDcgKzE4NCw3IEBAIHZvaWQgQ1NTU3R5bGVTaGVldDo6cmVhdHRhY2hD
U1NPTVdyYXBwZXJzKCkKIAogdm9pZCBDU1NTdHlsZVNoZWV0OjpyZXBvcnRNZW1vcnlVc2FnZShN
ZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNs
YXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlv
bjo6Q1NTKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlz
LCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1i
ZXIobV9jb250ZW50cyk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV90aXRsZSk7
CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9tZWRpYVF1ZXJpZXMpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1RpbWluZ0Z1bmN0aW9uVmFsdWUuY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1RpbWluZ0Z1bmN0aW9uVmFsdWUuY3BwCmluZGV4IDFjNzIwOTM3
ZjA2NDZlOTk1ZTg2YmQwYmNjZmFmMjMzNzM4NzA3YTguLjI2NDkyOGQ4YjkxOWZjYjgzYzJjNDc2
Y2Q3NzljOTEzMGY1MjEwMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NUaW1p
bmdGdW5jdGlvblZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVGltaW5nRnVu
Y3Rpb25WYWx1ZS5jcHAKQEAgLTM4LDcgKzM4LDcgQEAgU3RyaW5nIENTU0xpbmVhclRpbWluZ0Z1
bmN0aW9uVmFsdWU6OmN1c3RvbUNzc1RleHQoKSBjb25zdAogCiB2b2lkIENTU0xpbmVhclRpbWlu
Z0Z1bmN0aW9uVmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJ
bmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZv
KG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAg
ICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVt
b3J5VHlwZXM6OkNTUyk7CiB9CiAKIFN0cmluZyBDU1NDdWJpY0JlemllclRpbWluZ0Z1bmN0aW9u
VmFsdWU6OmN1c3RvbUNzc1RleHQoKSBjb25zdApAQCAtNTIsNyArNTIsNyBAQCBTdHJpbmcgQ1NT
Q3ViaWNCZXppZXJUaW1pbmdGdW5jdGlvblZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKIAog
dm9pZCBDU1NDdWJpY0JlemllclRpbWluZ0Z1bmN0aW9uVmFsdWU6OnJlcG9ydERlc2NlbmRhbnRN
ZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewot
ICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUlu
c3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmpl
Y3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiB9CiAKIFN0cmluZyBDU1NT
dGVwc1RpbWluZ0Z1bmN0aW9uVmFsdWU6OmN1c3RvbUNzc1RleHQoKSBjb25zdApAQCAtNjIsNyAr
NjIsNyBAQCBTdHJpbmcgQ1NTU3RlcHNUaW1pbmdGdW5jdGlvblZhbHVlOjpjdXN0b21Dc3NUZXh0
KCkgY29uc3QKIAogdm9pZCBDU1NTdGVwc1RpbWluZ0Z1bmN0aW9uVmFsdWU6OnJlcG9ydERlc2Nl
bmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25z
dAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1l
bW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1v
cnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiB9CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NVbmlj
b2RlUmFuZ2VWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVW5pY29kZVJhbmdlVmFs
dWUuY3BwCmluZGV4IGFiZDgwNmRmNGI2OTM3OWZlOWQzNWJlOGU4ZmY5MjE4NTg4OTM1NmEuLmY0
MjQ4NTNkN2Q0YWI2YWFmNGJkYzVmM2E5NWEzNTE1YzRhZWJkNTUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NVbmljb2RlUmFuZ2VWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1VuaWNvZGVSYW5nZVZhbHVlLmNwcApAQCAtNDAsNyArNDAsNyBAQCBTdHJpbmcg
Q1NTVW5pY29kZVJhbmdlVmFsdWU6OmN1c3RvbUNzc1RleHQoKSBjb25zdAogCiB2b2lkIENTU1Vu
aWNvZGVSYW5nZVZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0
SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5m
byhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7Cisg
ICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1l
bW9yeVR5cGVzOjpDU1MpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTVW5rbm93blJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NVbmtub3duUnVsZS5oCmlu
ZGV4IGFiNjhhZWY5ZWM5YzRmYzc0MWJhMzBlMGUxYmRlMzIxNmViY2E2OWYuLjVhYTc0NjQxNmM5
MWExMzdhYThlNzNmYWExMDQ4ZDhmMzcyYmMzZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NVbmtub3duUnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NVbmtub3du
UnVsZS5oCkBAIC0zMyw3ICszMyw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcmVwb3J0RGVzY2Vu
ZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0
CiAgICAgewotICAgICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0
aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CisgICAgICAgIE1lbW9yeUNsYXNzSW5m
byBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsK
ICAgICAgICAgQ1NTUnVsZTo6cmVwb3J0QmFzZUNsYXNzTWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0
SW5mbyk7CiAgICAgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCmluZGV4IGVlMGExOGNmNTAy
NmZmNzBmNjRlMzg5YjE3OTA0YWRkNmNlMDAwNTEuLjA0MmUxMDJjZjIzZWQzNGNiYTg5NzhmMWNm
NmQ5MjQ0NjdkNWEzODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcApAQCAtODEsNyArODEsNyBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIHJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlP
YmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogICAgIHsKLSAgICAgICAgTWVtb3J5
Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0
aW9uOjpDU1MpOworICAgICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZv
LCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgICAgIGluZm8uYWRkSW5zdHJ1
bWVudGVkTWVtYmVyKG1fY3NzVGV4dCk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTVmFsdWVMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUxp
c3QuY3BwCmluZGV4IGIxMjBmYTI0MmQzZWQ0NjEyMzZmMGJhODE4MjJlN2RiMTNlZmFkNTcuLmU0
YzkwZmNlZTk4NWZhNzAyZjEwZTMwNWU5ODQ4MTkxN2M2YjA4NzIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUxpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NWYWx1ZUxpc3QuY3BwCkBAIC0xODksNyArMTg5LDcgQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZUxp
c3Q+IENTU1ZhbHVlTGlzdDo6Y2xvbmVGb3JDU1NPTSgpIGNvbnN0CiAKIHZvaWQgQ1NTVmFsdWVM
aXN0OjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5
T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmpl
Y3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CisgICAgTWVtb3J5Q2xh
c3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpD
U1MpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkVmVjdG9yKG1fdmFsdWVzKTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhcmlhYmxlVmFsdWUuaCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NWYXJpYWJsZVZhbHVlLmgKaW5kZXggMzAyMGUxZTFiNzhiYTNkYjY2ZTVl
YzU1YjQ0OWNkN2UyYWVhNzIxYi4uZjQ3MGIzOWNlYTdmMjZhYTE4MTA3MzMxZmM4ZjE4NGE4ZWVi
NzMyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhcmlhYmxlVmFsdWUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFyaWFibGVWYWx1ZS5oCkBAIC01MCw3ICs1MCw3
IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9y
eU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAgICAgewotICAgICAgICBNZW1v
cnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50
YXRpb246OkNTUyk7CisgICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdElu
Zm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKICAgICAgICAgaW5mby5hZGRJbnN0
cnVtZW50ZWRNZW1iZXIobV9uYW1lKTsKICAgICAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1i
ZXIobV92YWx1ZSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRG
ZWF0dXJlVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGZWF0dXJlVmFsdWUuY3Bw
CmluZGV4IDQxM2VhYTRhMjYwMDNmMzlkYjdhNTJlYjkyNmZjYjVkYWI4ZDU3ZWIuLjEyMDZkOTRm
N2Q1MWY2MzFkZWEyODY5ZWNlNjczNWY3ZjAwZmZiMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9Gb250RmVhdHVyZVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9u
dEZlYXR1cmVWYWx1ZS5jcHAKQEAgLTUyLDcgKzUyLDcgQEAgU3RyaW5nIEZvbnRGZWF0dXJlVmFs
dWU6OmN1c3RvbUNzc1RleHQoKSBjb25zdAogCiB2b2lkIEZvbnRGZWF0dXJlVmFsdWU6OnJlcG9y
dERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZv
KSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRo
aXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5m
byhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAg
aW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV90YWcpOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvRm9udFZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250VmFs
dWUuY3BwCmluZGV4IDRmODc0MmM3MGY0ODZjNTgwZmYxMDM0OWQ0MzU1MDc0YzgwNGM0MDYuLjZm
MDgzYjEwNjVhY2ZlNzJhNDNmMmM3ZDBjYjk3NTM2YjgxMjdlZTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9Gb250VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250
VmFsdWUuY3BwCkBAIC02OCw3ICs2OCw3IEBAIFN0cmluZyBGb250VmFsdWU6OmN1c3RvbUNzc1Rl
eHQoKSBjb25zdAogCiB2b2lkIEZvbnRWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdl
KE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5
Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0
aW9uOjpDU1MpOworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRo
aXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1l
bWJlcihzdHlsZSk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIodmFyaWFudCk7CiAg
ICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIod2VpZ2h0KTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhTGlz
dC5jcHAKaW5kZXggNjdhNmQ1ZTJmZWQ2NmQ0MjNkY2UyMjI2Yzk1OTUwNmQyNGU0YmRmNS4uOTI2
YjMwOThlYWZjNDczMDhhNjFlNzZmZjY0N2RkMzIwMmI4ZGMyYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL01lZGlhTGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlh
TGlzdC5jcHAKQEAgLTIxNCw3ICsyMTQsNyBAQCBTdHJpbmcgTWVkaWFRdWVyeVNldDo6bWVkaWFU
ZXh0KCkgY29uc3QKIAogdm9pZCBNZWRpYVF1ZXJ5U2V0OjpyZXBvcnRNZW1vcnlVc2FnZShNZW1v
cnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNz
SW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6
Q1NTKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBX
ZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRWZWN0b3Io
bV9xdWVyaWVzKTsKIH0KICAgICAKQEAgLTI5Miw3ICsyOTIsNyBAQCB2b2lkIE1lZGlhTGlzdDo6
cmVhdHRhY2goTWVkaWFRdWVyeVNldCogbWVkaWFRdWVyaWVzKQogCiB2b2lkIE1lZGlhTGlzdDo6
cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29u
c3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBN
ZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVt
b3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAgIGluZm8u
YWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbWVkaWFRdWVyaWVzKTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL01l
ZGlhUXVlcnkuY3BwCmluZGV4IDQ0YzMyYzE0MjYxYjNkNWU0M2JiYjdkYmRmMGY0ZTE5MTJkNTgy
MjQuLmVjNDBlNDMwNWE0ZjMwMTIxZmFiMzAxOWUxMTdhYTk5YWRiNmE0M2MgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvTWVkaWFRdWVyeS5jcHAKQEAgLTEzNiw3ICsxMzYsNyBAQCBTdHJpbmcgTWVkaWFRdWVyeTo6
Y3NzVGV4dCgpIGNvbnN0CiAKIHZvaWQgTWVkaWFRdWVyeTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVt
b3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFz
c0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246
OkNTUyk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywg
V2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVy
KG1fbWVkaWFUeXBlKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZFZlY3RvclB0cihtX2V4cHJl
c3Npb25zKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3NlcmlhbGl6YXRpb25D
YWNoZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5jcHAKaW5kZXggNGI5MTk5N2Q3MDNh
MmU5ODM1NjQ1MzAwZjczNGQyOWY2OTA4MTc3NS4uM2FhNjYyNjliODRlNzAwZTlhYTZhNzRjYjVk
YTZhZWI0ZTdjZThkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlF
eHAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXhwLmNwcApAQCAtMTEx
LDcgKzExMSw3IEBAIFN0cmluZyBNZWRpYVF1ZXJ5RXhwOjpzZXJpYWxpemUoKSBjb25zdAogCiB2
b2lkIE1lZGlhUXVlcnlFeHA6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1l
bW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5
T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAgIE1lbW9y
eUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBl
czo6Q1NTKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX21lZGlhRmVhdHVyZSk7
CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9zZXJpYWxpemF0aW9uQ2FjaGUpOwog
ICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdmFsdWUpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL1Byb3BlcnR5U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCA1
ZmMyZDM4MDM1NWE5MzhlYTBlZWQ3ZDNlNDQwMTg2ZTRiOTE3Yjc4Li4zNDU4MDkxYzRhZThkNDA5
MjE3MTBhNDYzOGIyYTY0MTE4Zjg0MWMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
UHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMTcxLDcgKzE3MSw3IEBA
IHZvaWQgUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uOjpkZXJlZigpCiAKIHZvaWQgUHJv
cGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmpl
Y3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBp
bmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsK
KyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3Jl
TWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9wcm9w
ZXJ0eVNldCk7CiAgICAgaWYgKG1fY3Nzb21DU1NWYWx1ZUNsb25lcykKICAgICAgICAgaW5mby5h
ZGRJbnN0cnVtZW50ZWRNYXBFbnRyaWVzKCptX2Nzc29tQ1NTVmFsdWVDbG9uZXMpOwpAQCAtNDMw
LDE0ICs0MzAsMTQgQEAgdm9pZCBTdHlsZVJ1bGVDU1NTdHlsZURlY2xhcmF0aW9uOjpyZWF0dGFj
aChTdHlsZVByb3BlcnR5U2V0KiBwcm9wZXJ0eVNldCkKIAogdm9pZCBTdHlsZVJ1bGVDU1NTdHls
ZURlY2xhcmF0aW9uOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlP
YmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVj
dEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBNZW1vcnlDbGFz
c0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNT
Uyk7CiAgICAgUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uOjpyZXBvcnRNZW1vcnlVc2Fn
ZShtZW1vcnlPYmplY3RJbmZvKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3Bh
cmVudFJ1bGUpOwogfQogCiB2b2lkIElubGluZUNTU1N0eWxlRGVjbGFyYXRpb246OnJlcG9ydE1l
bW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0g
ICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5z
dHJ1bWVudGF0aW9uOjpDU1MpOworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVj
dEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKICAgICBQcm9wZXJ0eVNldENT
U1N0eWxlRGVjbGFyYXRpb246OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwog
ICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcGFyZW50RWxlbWVudCk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2hhZG93VmFsdWUuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL1NoYWRvd1ZhbHVlLmNwcAppbmRleCAzMTFlOWIxOTEzMGI3MzQwNDk0YTJhNzdkNGUx
MjExZDZhOTdiMmRlLi4zOTE0NTA0ODRiMDcwYWNjYTEzMGYxZTA0ODc3NWEwMTM4NzJkZjJhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2hhZG93VmFsdWUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TaGFkb3dWYWx1ZS5jcHAKQEAgLTgxLDcgKzgxLDcgQEAgU3RyaW5nIFNo
YWRvd1ZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKIAogdm9pZCBTaGFkb3dWYWx1ZTo6cmVw
b3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdElu
Zm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywg
dGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAgIE1lbW9yeUNsYXNzSW5mbyBp
bmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKICAg
ICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcih4KTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRl
ZE1lbWJlcih5KTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihibHVyKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnR5U2V0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnR5U2V0LmNwcAppbmRleCBiOTQ5NTBkZDg0ZDhiMTdkOWIw
M2I2ZTMyY2ZjYTljNWMxZWVjYzIzLi5kNDQ2OTM4NTBhZjE5Y2RmNzdjZmNmMTJmNGNiMTgzY2Rh
OWI0MTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0eVNldC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydHlTZXQuY3BwCkBAIC0xMTE5
LDcgKzExMTksNyBAQCB1bnNpZ25lZCBTdHlsZVByb3BlcnR5U2V0OjphdmVyYWdlU2l6ZUluQnl0
ZXMoKQogdm9pZCBTdHlsZVByb3BlcnR5U2V0OjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmpl
Y3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIHNpemVfdCBhY3R1YWxTaXpl
ID0gbV9pc011dGFibGUgPyBzaXplb2YoU3R5bGVQcm9wZXJ0eVNldCkgOiBpbW11dGFibGVTdHls
ZVByb3BlcnR5U2V0U2l6ZShtX2FycmF5U2l6ZSk7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8o
bWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MsIGFjdHVh
bFNpemUpOworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMs
IFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTLCBhY3R1YWxTaXplKTsKICAgICBpZiAobV9pc011dGFi
bGUpCiAgICAgICAgIGluZm8uYWRkVmVjdG9yUHRyKG1fbXV0YWJsZVByb3BlcnR5VmVjdG9yKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCmluZGV4IDM5NWU0ZDkwMDI4ZWY2MGUz
NzJkZTcxYWNiNzhlMmQ4MWNhZGYzZjYuLjc4Y2NmZmE1ZDE0ZmE5NDcxYzEyNDQzMWUwNTQ5ODU0
NGQ1YTY0MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKQEAgLTc0MSw3ICs3
NDEsNyBAQCB2b2lkIFN0eWxlUmVzb2x2ZXI6OkZlYXR1cmVzOjpjbGVhcigpCiAKIHZvaWQgU3R5
bGVSZXNvbHZlcjo6RmVhdHVyZXM6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8q
IG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVt
b3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAgIE1l
bW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlU
eXBlczo6Q1NTKTsKICAgICBpbmZvLmFkZEhhc2hTZXQoaWRzSW5SdWxlcyk7CiAgICAgaW5mby5h
ZGRIYXNoU2V0KGF0dHJzSW5SdWxlcyk7CiAgICAgaW5mby5hZGRWZWN0b3Ioc2libGluZ1J1bGVz
KTsKQEAgLTI1NDcsNyArMjU0Nyw3IEBAIFJ1bGVEYXRhOjpSdWxlRGF0YShTdHlsZVJ1bGUqIHJ1
bGUsIHVuc2lnbmVkIHNlbGVjdG9ySW5kZXgsIHVuc2lnbmVkIHBvc2l0aW9uLCBiCiAKIHZvaWQg
UnVsZURhdGE6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVj
dEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5m
bywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAgIE1lbW9yeUNsYXNzSW5m
byBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsK
IH0KIAogUnVsZVNldDo6UnVsZVNldCgpCkBAIC0yNTY1LDcgKzI1NjUsNyBAQCBzdGF0aWMgdm9p
ZCByZXBvcnRBdG9tUnVsZU1hcChNZW1vcnlDbGFzc0luZm8qIGluZm8sIGNvbnN0IFJ1bGVTZXQ6
OkF0b21SdWxlTWFwJgogCiB2b2lkIFJ1bGVTZXQ6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9i
amVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZv
IGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1Mp
OworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNv
cmVNZW1vcnlUeXBlczo6Q1NTKTsKICAgICByZXBvcnRBdG9tUnVsZU1hcCgmaW5mbywgbV9pZFJ1
bGVzKTsKICAgICByZXBvcnRBdG9tUnVsZU1hcCgmaW5mbywgbV9jbGFzc1J1bGVzKTsKICAgICBy
ZXBvcnRBdG9tUnVsZU1hcCgmaW5mbywgbV90YWdSdWxlcyk7CkBAIC0yNTc5LDcgKzI1NzksNyBA
QCB2b2lkIFJ1bGVTZXQ6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9y
eU9iamVjdEluZm8pIGNvbnN0CiAKIHZvaWQgUnVsZVNldDo6UnVsZVNldFNlbGVjdG9yUGFpcjo6
cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29u
c3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBN
ZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVt
b3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAgIGluZm8u
YWRkSW5zdHJ1bWVudGVkTWVtYmVyKHJ1bGVTZXQpOwogfQogCkBAIC01NzI3LDI1ICs1NzI3LDI1
IEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6bG9hZFBlbmRpbmdSZXNvdXJjZXMoKQogCiB2b2lkIFN0
eWxlUmVzb2x2ZXI6Ok1hdGNoZWRQcm9wZXJ0aWVzOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlP
YmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5m
byBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NT
KTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJD
b3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIocHJv
cGVydGllcyk7CiB9CiAKIHZvaWQgU3R5bGVSZXNvbHZlcjo6TWF0Y2hlZFByb3BlcnRpZXNDYWNo
ZUl0ZW06OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdElu
Zm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywg
dGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAgIE1lbW9yeUNsYXNzSW5mbyBp
bmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKICAg
ICBpbmZvLmFkZEluc3RydW1lbnRlZFZlY3RvcihtYXRjaGVkUHJvcGVydGllcyk7CiB9CiAKIHZv
aWQgTWVkaWFRdWVyeVJlc3VsdDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyog
bWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1v
cnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CisgICAgTWVt
b3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5
cGVzOjpDU1MpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZXhwcmVzc2lvbik7
CiB9CiAKIHZvaWQgU3R5bGVSZXNvbHZlcjo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0
SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5m
byhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7Cisg
ICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1l
bW9yeVR5cGVzOjpDU1MpOwogICAgIGluZm8uYWRkTWVtYmVyKG1fc3R5bGUpOwogICAgIGluZm8u
YWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fYXV0aG9yU3R5bGUpOwogICAgIGluZm8uYWRkSW5zdHJ1
bWVudGVkTWVtYmVyKG1fdXNlclN0eWxlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAKaW5kZXgg
MDNlZmMzYTM0ZTUxN2VlYjhiODQ1M2RmOGZiMjYyZmMwNDA4YTQ3NC4uZGE0ZjJmNGFlMjllZGNl
MDljMmViM2IzZmIyYTY0NzgxMmE2NTNhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAKQEAg
LTgxLDcgKzgxLDcgQEAgdm9pZCBTdHlsZVJ1bGVCYXNlOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1v
cnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogICAgIGNhc2UgVW5rbm93bjoK
ICAgICBjYXNlIENoYXJzZXQ6CiAgICAgY2FzZSBLZXlmcmFtZToKLSAgICAgICAgTWVtb3J5Q2xh
c3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9u
OjpDU1MpOworICAgICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0
aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC0yMDgsNyArMjA4LDcgQEAgdW5zaWduZWQgU3R5
bGVSdWxlOjphdmVyYWdlU2l6ZUluQnl0ZXMoKQogCiB2b2lkIFN0eWxlUnVsZTo6cmVwb3J0RGVz
Y2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNv
bnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywg
TWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1l
bW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKICAgICBpbmZv
LmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3Byb3BlcnRpZXMpOwogICAgIGluZm8uYWRkSW5zdHJ1
bWVudGVkTWVtYmVyKG1fc2VsZWN0b3JMaXN0KTsKIH0KQEAgLTI3MSw3ICsyNzEsNyBAQCB2b2lk
IFN0eWxlUnVsZVBhZ2U6OnNldFByb3BlcnRpZXMoUGFzc1JlZlB0cjxTdHlsZVByb3BlcnR5U2V0
PiBwcm9wZXJ0aWVzKQogCiB2b2lkIFN0eWxlUnVsZVBhZ2U6OnJlcG9ydERlc2NlbmRhbnRNZW1v
cnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAg
IE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3Ry
dW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJ
bmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgaW5mby5hZGRJbnN0cnVt
ZW50ZWRNZW1iZXIobV9wcm9wZXJ0aWVzKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJl
cihtX3NlbGVjdG9yTGlzdCk7CiB9CkBAIC0zMDUsNyArMzA1LDcgQEAgdm9pZCBTdHlsZVJ1bGVG
b250RmFjZTo6c2V0UHJvcGVydGllcyhQYXNzUmVmUHRyPFN0eWxlUHJvcGVydHlTZXQ+IHByb3Bl
cnRpZXMpCiAKIHZvaWQgU3R5bGVSdWxlRm9udEZhY2U6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlV
c2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1l
bW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1l
bnRhdGlvbjo6Q1NTKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZv
LCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50
ZWRNZW1iZXIobV9wcm9wZXJ0aWVzKTsKIH0KIApAQCAtMzM2LDcgKzMzNiw3IEBAIHZvaWQgU3R5
bGVSdWxlQmxvY2s6OndyYXBwZXJSZW1vdmVSdWxlKHVuc2lnbmVkIGluZGV4KQogCiB2b2lkIFN0
eWxlUnVsZUJsb2NrOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5m
byogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyht
ZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CisgICAg
TWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9y
eVR5cGVzOjpDU1MpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkVmVjdG9yKG1fY2hpbGRSdWxl
cyk7CiB9CiAKQEAgLTM1NSw3ICszNTUsNyBAQCBTdHlsZVJ1bGVNZWRpYTo6U3R5bGVSdWxlTWVk
aWEoY29uc3QgU3R5bGVSdWxlTWVkaWEmIG8pCiAKIHZvaWQgU3R5bGVSdWxlTWVkaWE6OnJlcG9y
dERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZv
KSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRo
aXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5m
byhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAg
aW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9tZWRpYVF1ZXJpZXMpOwogfQogCkBAIC0zNzMs
NyArMzczLDcgQEAgU3R5bGVSdWxlUmVnaW9uOjpTdHlsZVJ1bGVSZWdpb24oY29uc3QgU3R5bGVS
dWxlUmVnaW9uJiBvKQogCiB2b2lkIFN0eWxlUnVsZVJlZ2lvbjo6cmVwb3J0RGVzY2VuZGFudE1l
bW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0g
ICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5z
dHJ1bWVudGF0aW9uOjpDU1MpOworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVj
dEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKICAgICBpbmZvLmFkZEluc3Ry
dW1lbnRlZE1lbWJlcihtX3NlbGVjdG9yTGlzdCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVJ1bGVJbXBvcnQuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
UnVsZUltcG9ydC5jcHAKaW5kZXggYWFkODY0MGI4NGI2NzcyZWFhZTdiNjExZDg2YzFkMjMzYWQ1
NmU1Mi4uNmU0NTAxYjM0ZDZiNjIwN2MwZjUxNGIxNDA1YWQ1MzdlZjEzYjI4YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZUltcG9ydC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUnVsZUltcG9ydC5jcHAKQEAgLTE0Myw3ICsxNDMsNyBAQCB2b2lkIFN0
eWxlUnVsZUltcG9ydDo6cmVhdHRhY2hTdHlsZVNoZWV0Q29udGVudHMoU3R5bGVTaGVldENvbnRl
bnRzKiBjb250ZW50cykKIAogdm9pZCBTdHlsZVJ1bGVJbXBvcnQ6OnJlcG9ydERlc2NlbmRhbnRN
ZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewot
ICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUlu
c3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmpl
Y3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgaW5mby5hZGRJbnN0
cnVtZW50ZWRNZW1iZXIobV9zdHJIcmVmKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJl
cihtX21lZGlhUXVlcmllcyk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9zdHls
ZVNoZWV0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVu
dHMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAKaW5kZXgg
ODZlNGQyYzJjMDdkMGM1ZWZiNmYxNTVhZDllYjMyZmNjZTMxMDg0OS4uMzdmMjc3MGFmYWYxYmM5
NjZkYWFmMTJmM2IxN2NiYWMzMGQ5MmQxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlU2hlZXRDb250ZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hl
ZXRDb250ZW50cy5jcHAKQEAgLTQ5Miw3ICs0OTIsNyBAQCB2b2lkIFN0eWxlU2hlZXRDb250ZW50
czo6cmVtb3ZlZEZyb21NZW1vcnlDYWNoZSgpCiAKIHZvaWQgU3R5bGVTaGVldENvbnRlbnRzOjpy
ZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25z
dAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1l
bW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1v
cnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgaW5mby5h
ZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9vcmlnaW5hbFVSTCk7CiAgICAgaW5mby5hZGRJbnN0cnVt
ZW50ZWRNZW1iZXIobV9lbmNvZGluZ0Zyb21DaGFyc2V0UnVsZSk7CiAgICAgaW5mby5hZGRWZWN0
b3IobV9pbXBvcnRSdWxlcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0
Q1NTRmlsdGVyVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0ZpbHRlclZh
bHVlLmNwcAppbmRleCBmNzBiMjY3M2FlZmY1MDJjYTRjODIwZTZlYzE1OGJiYmNlNGRlYWMyLi5j
MWVjZjMzZDI0MDU0YzZlOWFjODVhMmQ0Njg5NTc3Yjc2YWQwOTBhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTRmlsdGVyVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9XZWJLaXRDU1NGaWx0ZXJWYWx1ZS5jcHAKQEAgLTExMyw3ICsxMTMsNyBAQCBQYXNz
UmVmUHRyPFdlYktpdENTU0ZpbHRlclZhbHVlPiBXZWJLaXRDU1NGaWx0ZXJWYWx1ZTo6Y2xvbmVG
b3JDU1NPTSgpIGNvbnN0CiAKIHZvaWQgV2ViS2l0Q1NTRmlsdGVyVmFsdWU6OnJlcG9ydERlc2Nl
bmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25z
dAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1l
bW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1v
cnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgQ1NTVmFs
dWVMaXN0OjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlmcmFtZVJ1bGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1lUnVsZS5jcHAKaW5kZXgg
OTI1NzA3OTkyYjk0ZmM3Yjk1OWQ2ODliMDE2ZTY1OTEwYTY1ODJkMS4uMWFjYmI3NzlkNTljYjAy
NjdhMjIwYWMyYTBkZmY1YmE2ZTE3ZjU1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L1dlYktpdENTU0tleWZyYW1lUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktp
dENTU0tleWZyYW1lUnVsZS5jcHAKQEAgLTkxLDcgKzkxLDcgQEAgU3RyaW5nIFN0eWxlS2V5ZnJh
bWU6OmNzc1RleHQoKSBjb25zdAogCiB2b2lkIFN0eWxlS2V5ZnJhbWU6OnJlcG9ydE1lbW9yeVVz
YWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVt
b3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVu
dGF0aW9uOjpDU1MpOworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8s
IHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRl
ZE1lbWJlcihtX3Byb3BlcnRpZXMpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1f
a2V5KTsKIH0KQEAgLTExOCw3ICsxMTgsNyBAQCBDU1NTdHlsZURlY2xhcmF0aW9uKiBXZWJLaXRD
U1NLZXlmcmFtZVJ1bGU6OnN0eWxlKCkgY29uc3QKIAogdm9pZCBXZWJLaXRDU1NLZXlmcmFtZVJ1
bGU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlP
YmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVj
dEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBNZW1vcnlDbGFz
c0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNT
Uyk7CiAgICAgQ1NTUnVsZTo6cmVwb3J0QmFzZUNsYXNzTWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0
SW5mbyk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9rZXlmcmFtZSk7CiAgICAg
aW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmNwcAppbmRleCBjYTQ3
Zjc5YmRkOWQ3ZDM4YzE1NDYwMTQ0NjJiNjgyYzg4MGQ2NmM1Li5hMDI2MDIxM2Q3N2VlZWQyOThm
YmJjZDIwNTA3NDkzNDRjNTdhY2IxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2Vi
S2l0Q1NTS2V5ZnJhbWVzUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENT
U0tleWZyYW1lc1J1bGUuY3BwCkBAIC04OSw3ICs4OSw3IEBAIGludCBTdHlsZVJ1bGVLZXlmcmFt
ZXM6OmZpbmRLZXlmcmFtZUluZGV4KGNvbnN0IFN0cmluZyYga2V5KSBjb25zdAogCiB2b2lkIFN0
eWxlUnVsZUtleWZyYW1lczo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVj
dEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGlu
Zm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOwor
ICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVN
ZW1vcnlUeXBlczo6Q1NTKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZFZlY3RvcihtX2tleWZy
YW1lcyk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9uYW1lKTsKIH0KQEAgLTIw
OCw3ICsyMDgsNyBAQCB2b2lkIFdlYktpdENTU0tleWZyYW1lc1J1bGU6OnJlYXR0YWNoKFN0eWxl
UnVsZUtleWZyYW1lcyogcnVsZSkKIAogdm9pZCBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlOjpyZXBv
cnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5m
bykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0
aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGlu
Zm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAg
IENTU1J1bGU6OnJlcG9ydEJhc2VDbGFzc01lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwog
ICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fa2V5ZnJhbWVzUnVsZSk7CiAgICAgaW5m
by5hZGRJbnN0cnVtZW50ZWRWZWN0b3IobV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlLmNwcAppbmRleCA3
ZjhkMjdkODU3ZTAyZmFhN2JlZTE4NjBlNmRjNTgwY2RlMDgwNWFjLi42ZGU3MWRkMDU2NGQ5ZGZk
NDk3NDFmNzE0ZDc1ZDdhYTNmZTcxODg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
V2ViS2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1dl
YktpdENTU01peEZ1bmN0aW9uVmFsdWUuY3BwCkBAIC01OCw3ICs1OCw3IEBAIFBhc3NSZWZQdHI8
V2ViS2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZT4gV2ViS2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZTo6Y2xv
bmVGb3JDU1NPTSgpCiAKIHZvaWQgV2ViS2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZTo6cmVwb3J0RGVz
Y2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNv
bnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywg
TWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1l
bW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKICAgICBDU1NW
YWx1ZUxpc3Q6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1JlZ2lvblJ1bGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1JlZ2lvblJ1bGUuY3BwCmluZGV4IDJk
YjIwNTlmMTg5MGNlYjE2MTU2ZDIyMWI5MTJkZDgyYjU0OWE1NjkuLmU2NDgzMmY2YjJjMjg3OTgz
Y2I1MmY2OWJhNTg3ZDdlNWJjN2NiOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9X
ZWJLaXRDU1NSZWdpb25SdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NT
UmVnaW9uUnVsZS5jcHAKQEAgLTExMCw3ICsxMTAsNyBAQCB2b2lkIFdlYktpdENTU1JlZ2lvblJ1
bGU6OnJlYXR0YWNoKFN0eWxlUnVsZVJlZ2lvbiogcnVsZSkKIAogdm9pZCBXZWJLaXRDU1NSZWdp
b25SdWxlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVt
b3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlP
YmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CisgICAgTWVtb3J5
Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVz
OjpDU1MpOwogICAgIENTU1J1bGU6OnJlcG9ydEJhc2VDbGFzc01lbW9yeVVzYWdlKG1lbW9yeU9i
amVjdEluZm8pOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcmVnaW9uUnVsZSk7
CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRWZWN0b3IobV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJz
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NTVkdEb2N1bWVudFZh
bHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlLmNw
cAppbmRleCBkMmZiZGYxOGNlMWNlNGYxMTg0N2Q1YmJjMzY3ZGVhODIyOTdiY2I0Li45M2RiZWNm
ZjVkMDc1MDAxN2NiMDhiYjFjODk3NWI4NDJhOTlhOTk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL1dlYktpdENTU1NWR0RvY3VtZW50VmFsdWUuY3BwCkBAIC02Niw3ICs2Niw3IEBAIFN0
cmluZyBXZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKIAog
dm9pZCBXZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNh
Z2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1v
cnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50
YXRpb246OkNTUyk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywg
dGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKG1fdXJsKTsKICAgICAvLyBGSVhNRTogYWRkIG1fZG9jdW1lbnQgd2hlbiBjYWNoZWQg
cmVzb3VyY2VzIGFyZSBpbnN0cnVtZW50ZWQuCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvV2ViS2l0Q1NTU2hhZGVyVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktp
dENTU1NoYWRlclZhbHVlLmNwcAppbmRleCBiODliMTgzNGVkYWE0YmI4MTRiNmIzYWU5NjM5Zjk3
OThmNmNmMTA2Li5jMGZmYjMxNTZjNzUxODA5ZDM3YjRlZDQ3ZmNmNWM4MDljN2E4NTZmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTU2hhZGVyVmFsdWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NTaGFkZXJWYWx1ZS5jcHAKQEAgLTgyLDcgKzgy
LDcgQEAgU3RyaW5nIFdlYktpdENTU1NoYWRlclZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QK
IAogdm9pZCBXZWJLaXRDU1NTaGFkZXJWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdl
KE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5
Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0
aW9uOjpDU1MpOworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRo
aXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1l
bWJlcihtX3VybCk7CiB9CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2Vi
S2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1Ry
YW5zZm9ybVZhbHVlLmNwcAppbmRleCA4ZTE5NmU1YWM5NTAxZDgzNTBlYmYwZmYzMGNkM2ZmNzYz
M2JmYzBhLi41YmQ5NGJkY2YzMzIzZjNlNjc2ZmQxYjEzMmI0YWRkNzI1NWU4M2MxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAKQEAgLTEwNyw3
ICsxMDcsNyBAQCBQYXNzUmVmUHRyPFdlYktpdENTU1RyYW5zZm9ybVZhbHVlPiBXZWJLaXRDU1NU
cmFuc2Zvcm1WYWx1ZTo6Y2xvbmVGb3JDU1NPTSgpIGNvbgogCiB2b2lkIFdlYktpdENTU1RyYW5z
Zm9ybVZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyog
bWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1v
cnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CisgICAgTWVt
b3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5
cGVzOjpDU1MpOwogICAgIENTU1ZhbHVlTGlzdDo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdl
KG1lbW9yeU9iamVjdEluZm8pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
QXR0cmlidXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vQXR0cmlidXRlLmgKaW5kZXggODFhMGJi
ZGE3ZmEzOGY0OWMyYzRkM2Y1NjcwYjQwMzc4N2M4ZjI1OS4uZDE4MmZmMjg1MzM3NWMxMDUyYmZl
NzY5M2JmYjk1ZWQzNDJjN2VmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0F0dHJp
YnV0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9BdHRyaWJ1dGUuaApAQCAtNjksNyArNjks
NyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdElu
Zm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAgICAgewotICAgICAgICBNZW1vcnlDbGFzc0lu
Zm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkRP
TSk7CisgICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMs
IFdlYkNvcmVNZW1vcnlUeXBlczo6RE9NKTsKICAgICAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRN
ZW1iZXIobV9uYW1lKTsKICAgICAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV92YWx1
ZSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0NoYXJhY3RlckRhdGEu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0NoYXJhY3RlckRhdGEuY3BwCmluZGV4IDhjOTMwZDhm
MjcxMTJjNmY2YWNhOTE2ZDhkNWU0ZTYyNWNlNTI1YjYuLmJlNDVhNTVjMDc5OGViNDk5MDRmNDQw
YmU1NTYyZTVhNjQwNmYxNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DaGFyYWN0
ZXJEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0YS5jcHAKQEAg
LTk2LDcgKzk2LDcgQEAgdW5zaWduZWQgQ2hhcmFjdGVyRGF0YTo6cGFyc2VyQXBwZW5kRGF0YShj
b25zdCBVQ2hhciogZGF0YSwgdW5zaWduZWQgZGF0YUxlbmd0aCwKIAogdm9pZCBDaGFyYWN0ZXJE
YXRhOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZv
KSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRo
aXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6RE9NKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5m
byhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkRPTSk7CiAgICAg
Tm9kZTo6cmVwb3J0TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7CiAgICAgaW5mby5hZGRJ
bnN0cnVtZW50ZWRNZW1iZXIobV9kYXRhKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Db250YWluZXJOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5o
CmluZGV4IDhiOTI0NzczZTdhMjZkYTU4YTVlZDg1MzgwNTA0YjFjMzNjMjUzMGIuLjYzMTI3MTQ2
NDVmZjJmYzJmYzc0ODc1ZmZhNjI5YzgyOTg2MDVhOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Db250YWluZXJOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5l
ck5vZGUuaApAQCAtMTAzLDcgKzEwMyw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBy
ZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25z
dAogICAgIHsKLSAgICAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywg
dGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpET00pOworICAgICAgICBNZW1vcnlDbGFzc0lu
Zm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkRPTSk7
CiAgICAgICAgIE5vZGU6OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwogICAg
ICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2ZpcnN0Q2hpbGQpOwogICAgICAgICBp
bmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2xhc3RDaGlsZCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcAppbmRleCA0NDY1NzUxMzcxNGQ4MmNiOWEyOWE5MDU5ZjMwNTA2NWY0OTVkNzVmLi4xZGEx
YzgxNjMyMjY1ZDVmMTEyZmVlYWQ3MjUzNGE0ZTc0ZDE5Mzk3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAKQEAgLTYxMjMsNyArNjEyMyw3IEBAIHZvaWQgRG9jdW1lbnQ6OnNldENvbnRleHRGZWF0
dXJlcyhQYXNzUmVmUHRyPENvbnRleHRGZWF0dXJlcz4gZmVhdHVyZXMpCiAKIHZvaWQgRG9jdW1l
bnQ6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8p
IGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhp
cywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpET00pOworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZv
KG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6RE9NKTsKICAgICBp
bmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3N0eWxlUmVzb2x2ZXIpOwogICAgIENvbnRhaW5l
ck5vZGU6OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwogICAgIGluZm8uYWRk
VmVjdG9yKG1fY3VzdG9tRm9udHMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50RXZlbnRRdWV1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRFdmVudFF1
ZXVlLmNwcAppbmRleCBmOWE3MTdlNDBiZGU3ZGI5MjA3YzhhMzg1OTI3ZTI0ODk0YzI1MzQ3Li4y
ZDQyOTk0NWMyODY2YjNjZTJkYTBjNDgwNWZiZWJjMzdkYmFkZDdhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnRFdmVudFF1ZXVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnRFdmVudFF1ZXVlLmNwcApAQCAtMTEwLDcgKzExMCw3IEBAIHZvaWQgRG9j
dW1lbnRFdmVudFF1ZXVlOjplbnF1ZXVlT3JEaXNwYXRjaFNjcm9sbEV2ZW50KFBhc3NSZWZQdHI8
Tm9kZT4gdGFyZ2V0LCBTCiAKIHZvaWQgRG9jdW1lbnRFdmVudFF1ZXVlOjpyZXBvcnRNZW1vcnlV
c2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1l
bW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1l
bnRhdGlvbjo6RE9NKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZv
LCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkRPTSk7CiAgICAgaW5mby5hZGRNZW1iZXIobV9w
ZW5kaW5nRXZlbnRUaW1lcik7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRIYXNoU2V0KG1fcXVl
dWVkRXZlbnRzKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZEhhc2hTZXQobV9ub2Rlc1dpdGhR
dWV1ZWRTY3JvbGxFdmVudHMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXggMTQwYmMwYmEzYTAyNzRi
YzFhMDUzMzRiMDhjOTI2YmEzNDU2ZGQ1OC4uOTAyNWZiNzE4NTllNGZmYzExMDg5MjMxOTE5ZmQ4
ZjZhYTdiMzRlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCkBAIC00MzYsNyArNDM2LDcgQEAgcHVibGlj
OgogCiAgICAgdmlydHVhbCB2b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8q
IG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAgICAgewotICAgICAgICBNZW1vcnlDbGFzc0luZm8g
aW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkRPTSk7
CisgICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdl
YkNvcmVNZW1vcnlUeXBlczo6RE9NKTsKICAgICAgICAgQ29udGFpbmVyTm9kZTo6cmVwb3J0TWVt
b3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7CiAgICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKG1fdGFnTmFtZSk7CiAgICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1f
YXR0cmlidXRlRGF0YSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudEF0
dHJpYnV0ZURhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRBdHRyaWJ1dGVEYXRh
LmNwcAppbmRleCBkMDc4ZmE0MjUwODk0M2I2YTUzODRiMGJiYzQ5OTZhZWE5Y2Y4M2RiLi45NWEw
MjRiODQ3MWFlNzMzOTk3ZjNmZDdhMzkwYjdhZTZjZmIyYmYwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudEF0dHJpYnV0ZURhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50QXR0cmlidXRlRGF0YS5jcHAKQEAgLTI5OCw3ICsyOTgsNyBAQCB2b2lkIEVs
ZW1lbnRBdHRyaWJ1dGVEYXRhOjpkZXRhY2hBdHRyT2JqZWN0c0Zyb21FbGVtZW50KEVsZW1lbnQq
IGVsZW1lbnQpIGNvbnN0CiB2b2lkIEVsZW1lbnRBdHRyaWJ1dGVEYXRhOjpyZXBvcnRNZW1vcnlV
c2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIHNp
emVfdCBhY3R1YWxTaXplID0gbV9pc011dGFibGUgPyBzaXplb2YoRWxlbWVudEF0dHJpYnV0ZURh
dGEpIDogaW1tdXRhYmxlRWxlbWVudEF0dHJpYnV0ZURhdGFTaXplKG1fYXJyYXlTaXplKTsKLSAg
ICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0
cnVtZW50YXRpb246OkRPTSwgYWN0dWFsU2l6ZSk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8o
bWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpET00sIGFjdHVhbFNp
emUpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1faW5saW5lU3R5bGVEZWNsKTsK
ICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2F0dHJpYnV0ZVN0eWxlKTsKICAgICBp
bmZvLmFkZE1lbWJlcihtX2NsYXNzTmFtZXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5jcHAKaW5kZXggZjE5Y2Jk
ZGE3NjVjNjI2ZGU2Mjc1YTk4MTM1MTQyN2JhN2U3ZDI3NC4uMzBkM2NlYTc1ZGJlZjAzNTc4MGUx
NThhNTRiZGU3N2FjMzNhZDg4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuY3BwCkBAIC0xNTcsNyArMTU3LDcg
QEAgdm9pZCBFdmVudDo6c3RvcmVSZXN1bHQoY29uc3QgU3RyaW5nJikKIAogdm9pZCBFdmVudDo6
cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29u
c3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBN
ZW1vcnlJbnN0cnVtZW50YXRpb246OkRPTSk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVt
b3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpET00pOwogICAgIGluZm8u
YWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdHlwZSk7CiAgICAgaW5mby5hZGRNZW1iZXIobV9jdXJy
ZW50VGFyZ2V0KTsKICAgICBpbmZvLmFkZE1lbWJlcihtX3RhcmdldCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9NZW1vcnlJbnN0cnVtZW50YXRpb24uY3BwCmluZGV4IDllYjdkZGZhZmVlZTYyYmZl
ZmY1NzdjYTBjNjdkMjdiYWFiZmY2ZmQuLjg3NDY1ZGQzYzcyOTUzMWQ5YTEyNTIzNzIwZWJhNGJk
MDgxOWRlMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZW1vcnlJbnN0cnVtZW50
YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZW1vcnlJbnN0cnVtZW50YXRpb24u
Y3BwCkBAIC0zNywyMCArMzcsMjEgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1NZW1vcnlP
YmplY3RUeXBlIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6T3RoZXIgPSAiT3RoZXIiOwotTWVtb3J5
T2JqZWN0VHlwZSBNZW1vcnlJbnN0cnVtZW50YXRpb246OkRPTSA9ICJET00iOwotTWVtb3J5T2Jq
ZWN0VHlwZSBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyA9ICJDU1MiOwotTWVtb3J5T2JqZWN0
VHlwZSBNZW1vcnlJbnN0cnVtZW50YXRpb246OkJpbmRpbmcgPSAiQmluZGluZyI7Ci1NZW1vcnlP
YmplY3RUeXBlIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6TG9hZGVyID0gIkxvYWRlciI7Ci1NZW1v
cnlPYmplY3RUeXBlIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6TWVtb3J5Q2FjaGVTdHJ1Y3R1cmVz
ID0gIk1lbW9yeUNhY2hlU3RydWN0dXJlcyI7Ci1NZW1vcnlPYmplY3RUeXBlIE1lbW9yeUluc3Ry
dW1lbnRhdGlvbjo6Q2FjaGVkUmVzb3VyY2UgPSAiQ2FjaGVkUmVzb3VyY2UiOwotTWVtb3J5T2Jq
ZWN0VHlwZSBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNhY2hlZFJlc291cmNlQ1NTID0gIkNhY2hl
ZFJlc291cmNlQ1NTIjsKLU1lbW9yeU9iamVjdFR5cGUgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpD
YWNoZWRSZXNvdXJjZUZvbnQgPSAiQ2FjaGVkUmVzb3VyY2VGb250IjsKLU1lbW9yeU9iamVjdFR5
cGUgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDYWNoZWRSZXNvdXJjZUltYWdlID0gIkNhY2hlZFJl
c291cmNlSW1hZ2UiOwotTWVtb3J5T2JqZWN0VHlwZSBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNh
Y2hlZFJlc291cmNlU2NyaXB0ID0gIkNhY2hlZFJlc291cmNlU2NyaXB0IjsKLU1lbW9yeU9iamVj
dFR5cGUgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDYWNoZWRSZXNvdXJjZVNWRyA9ICJDYWNoZWRS
ZXNvdXJjZVNWRyI7Ci1NZW1vcnlPYmplY3RUeXBlIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q2Fj
aGVkUmVzb3VyY2VTaGFkZXIgPSAiQ2FjaGVkUmVzb3VyY2VTaGFkZXIiOwotTWVtb3J5T2JqZWN0
VHlwZSBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNhY2hlZFJlc291cmNlWFNMVCA9ICJDYWNoZWRS
ZXNvdXJjZVhTTFQiOworTWVtb3J5T2JqZWN0VHlwZSBHZW5lcmljTWVtb3J5VHlwZXM6Ok90aGVy
ID0gIk90aGVyIjsKKworTWVtb3J5T2JqZWN0VHlwZSBXZWJDb3JlTWVtb3J5VHlwZXM6OkRPTSA9
ICJET00iOworTWVtb3J5T2JqZWN0VHlwZSBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyA9ICJDU1Mi
OworTWVtb3J5T2JqZWN0VHlwZSBXZWJDb3JlTWVtb3J5VHlwZXM6OkJpbmRpbmcgPSAiQmluZGlu
ZyI7CitNZW1vcnlPYmplY3RUeXBlIFdlYkNvcmVNZW1vcnlUeXBlczo6TG9hZGVyID0gIkxvYWRl
ciI7CitNZW1vcnlPYmplY3RUeXBlIFdlYkNvcmVNZW1vcnlUeXBlczo6TWVtb3J5Q2FjaGVTdHJ1
Y3R1cmVzID0gIk1lbW9yeUNhY2hlU3RydWN0dXJlcyI7CitNZW1vcnlPYmplY3RUeXBlIFdlYkNv
cmVNZW1vcnlUeXBlczo6Q2FjaGVkUmVzb3VyY2UgPSAiQ2FjaGVkUmVzb3VyY2UiOworTWVtb3J5
T2JqZWN0VHlwZSBXZWJDb3JlTWVtb3J5VHlwZXM6OkNhY2hlZFJlc291cmNlQ1NTID0gIkNhY2hl
ZFJlc291cmNlQ1NTIjsKK01lbW9yeU9iamVjdFR5cGUgV2ViQ29yZU1lbW9yeVR5cGVzOjpDYWNo
ZWRSZXNvdXJjZUZvbnQgPSAiQ2FjaGVkUmVzb3VyY2VGb250IjsKK01lbW9yeU9iamVjdFR5cGUg
V2ViQ29yZU1lbW9yeVR5cGVzOjpDYWNoZWRSZXNvdXJjZUltYWdlID0gIkNhY2hlZFJlc291cmNl
SW1hZ2UiOworTWVtb3J5T2JqZWN0VHlwZSBXZWJDb3JlTWVtb3J5VHlwZXM6OkNhY2hlZFJlc291
cmNlU2NyaXB0ID0gIkNhY2hlZFJlc291cmNlU2NyaXB0IjsKK01lbW9yeU9iamVjdFR5cGUgV2Vi
Q29yZU1lbW9yeVR5cGVzOjpDYWNoZWRSZXNvdXJjZVNWRyA9ICJDYWNoZWRSZXNvdXJjZVNWRyI7
CitNZW1vcnlPYmplY3RUeXBlIFdlYkNvcmVNZW1vcnlUeXBlczo6Q2FjaGVkUmVzb3VyY2VTaGFk
ZXIgPSAiQ2FjaGVkUmVzb3VyY2VTaGFkZXIiOworTWVtb3J5T2JqZWN0VHlwZSBXZWJDb3JlTWVt
b3J5VHlwZXM6OkNhY2hlZFJlc291cmNlWFNMVCA9ICJDYWNoZWRSZXNvdXJjZVhTTFQiOwogCiB0
ZW1wbGF0ZTw+IHZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uVHJhaXRzOjphZGRJbnN0cnVtZW50
ZWRPYmplY3Q8U3RyaW5nPihNZW1vcnlJbnN0cnVtZW50YXRpb24qIGluc3RydW1lbnRhdGlvbiwg
Y29uc3QgU3RyaW5nKiBjb25zdCYgc3RyaW5nLCBNZW1vcnlPYmplY3RUeXBlIG93bmVyT2JqZWN0
VHlwZSwgTWVtb3J5T3duaW5nVHlwZSBvd25pbmdUeXBlKQogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL01lbW9yeUluc3RydW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZG9t
L01lbW9yeUluc3RydW1lbnRhdGlvbi5oCmluZGV4IDNlMDA4MmJjYmNkYTcwY2MyMTE2OTVmYTky
YTI1YTcwMmVhNTA1NDguLjgwMjFhMDkyODI1ZGQxYTZmZGEyOGNiODc2Yzg3ZThmNTY2ODNmMjUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZW1vcnlJbnN0cnVtZW50YXRpb24uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgKQEAgLTQ2LDYg
KzQ2LDEyIEBAIGNsYXNzIE1lbW9yeU9iamVjdEluZm87CiBjbGFzcyBNZW1vcnlJbnN0cnVtZW50
YXRpb247CiAKIHR5cGVkZWYgY29uc3QgY2hhciogTWVtb3J5T2JqZWN0VHlwZTsKKworY2xhc3Mg
R2VuZXJpY01lbW9yeVR5cGVzIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgTWVtb3J5T2JqZWN0VHlw
ZSBPdGhlcjsKK307CisKIGVudW0gTWVtb3J5T3duaW5nVHlwZSB7CiAgICAgYnlQb2ludGVyLAog
ICAgIGJ5UmVmZXJlbmNlCkBAIC02MSwyNCArNjcsOSBAQCBjbGFzcyBNZW1vcnlJbnN0cnVtZW50
YXRpb24gewogcHVibGljOgogICAgIHZpcnR1YWwgfk1lbW9yeUluc3RydW1lbnRhdGlvbigpIHsg
fQogCi0gICAgc3RhdGljIE1lbW9yeU9iamVjdFR5cGUgT3RoZXI7Ci0gICAgc3RhdGljIE1lbW9y
eU9iamVjdFR5cGUgRE9NOwotICAgIHN0YXRpYyBNZW1vcnlPYmplY3RUeXBlIENTUzsKLSAgICBz
dGF0aWMgTWVtb3J5T2JqZWN0VHlwZSBCaW5kaW5nOwotICAgIHN0YXRpYyBNZW1vcnlPYmplY3RU
eXBlIExvYWRlcjsKLSAgICBzdGF0aWMgTWVtb3J5T2JqZWN0VHlwZSBNZW1vcnlDYWNoZVN0cnVj
dHVyZXM7Ci0gICAgc3RhdGljIE1lbW9yeU9iamVjdFR5cGUgQ2FjaGVkUmVzb3VyY2U7Ci0gICAg
c3RhdGljIE1lbW9yeU9iamVjdFR5cGUgQ2FjaGVkUmVzb3VyY2VDU1M7Ci0gICAgc3RhdGljIE1l
bW9yeU9iamVjdFR5cGUgQ2FjaGVkUmVzb3VyY2VGb250OwotICAgIHN0YXRpYyBNZW1vcnlPYmpl
Y3RUeXBlIENhY2hlZFJlc291cmNlSW1hZ2U7Ci0gICAgc3RhdGljIE1lbW9yeU9iamVjdFR5cGUg
Q2FjaGVkUmVzb3VyY2VTY3JpcHQ7Ci0gICAgc3RhdGljIE1lbW9yeU9iamVjdFR5cGUgQ2FjaGVk
UmVzb3VyY2VTVkc7Ci0gICAgc3RhdGljIE1lbW9yeU9iamVjdFR5cGUgQ2FjaGVkUmVzb3VyY2VT
aGFkZXI7Ci0gICAgc3RhdGljIE1lbW9yeU9iamVjdFR5cGUgQ2FjaGVkUmVzb3VyY2VYU0xUOwot
Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gdm9pZCBhZGRSb290T2JqZWN0KGNvbnN0IFQmIHQp
CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHZvaWQgYWRkUm9vdE9iamVjdChjb25zdCBUJiB0
KQogICAgIHsKLSAgICAgICAgYWRkSW5zdHJ1bWVudGVkT2JqZWN0KHQsIE90aGVyKTsKKyAgICAg
ICAgYWRkSW5zdHJ1bWVudGVkT2JqZWN0KHQsIEdlbmVyaWNNZW1vcnlUeXBlczo6T3RoZXIpOwog
ICAgICAgICBwcm9jZXNzRGVmZXJyZWRJbnN0cnVtZW50ZWRQb2ludGVycygpOwogICAgIH0KIApA
QCAtMTk3LDcgKzE4OCw3IEBAIHByaXZhdGU6CiAgICAgewogICAgICAgICBpZiAoIW1fb2JqZWN0
U2l6ZSkgewogICAgICAgICAgICAgbV9vYmplY3RTaXplID0gYWN0dWFsU2l6ZSA/IGFjdHVhbFNp
emUgOiBzaXplb2YoVCk7Ci0gICAgICAgICAgICBpZiAob2JqZWN0VHlwZSAhPSBNZW1vcnlJbnN0
cnVtZW50YXRpb246Ok90aGVyKQorICAgICAgICAgICAgaWYgKG9iamVjdFR5cGUgIT0gR2VuZXJp
Y01lbW9yeVR5cGVzOjpPdGhlcikKICAgICAgICAgICAgICAgICBtX29iamVjdFR5cGUgPSBvYmpl
Y3RUeXBlOwogICAgICAgICB9CiAgICAgfQpAQCAtNDE1LDYgKzQwNiwyMyBAQCB0ZW1wbGF0ZTw+
IHZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uVHJhaXRzOjphZGRPYmplY3Q8Y29uc3QgU3RyaW5n
SW1wbD4oTWVtb3J5SQogdGVtcGxhdGU8PiB2b2lkIE1lbW9yeUluc3RydW1lbnRhdGlvblRyYWl0
czo6YWRkT2JqZWN0PEF0b21pY1N0cmluZz4oTWVtb3J5SW5zdHJ1bWVudGF0aW9uKiwgY29uc3Qg
QXRvbWljU3RyaW5nKiBjb25zdCYsIE1lbW9yeU9iamVjdFR5cGUsIE1lbW9yeU93bmluZ1R5cGUp
OwogdGVtcGxhdGU8PiB2b2lkIE1lbW9yeUluc3RydW1lbnRhdGlvblRyYWl0czo6YWRkT2JqZWN0
PGNvbnN0IEF0b21pY1N0cmluZz4oTWVtb3J5SW5zdHJ1bWVudGF0aW9uKiwgY29uc3QgQXRvbWlj
U3RyaW5nKiBjb25zdCYsIE1lbW9yeU9iamVjdFR5cGUsIE1lbW9yeU93bmluZ1R5cGUpOwogCitj
bGFzcyBXZWJDb3JlTWVtb3J5VHlwZXMgeworcHVibGljOgorICAgIHN0YXRpYyBNZW1vcnlPYmpl
Y3RUeXBlIERPTTsKKyAgICBzdGF0aWMgTWVtb3J5T2JqZWN0VHlwZSBDU1M7CisgICAgc3RhdGlj
IE1lbW9yeU9iamVjdFR5cGUgQmluZGluZzsKKyAgICBzdGF0aWMgTWVtb3J5T2JqZWN0VHlwZSBM
b2FkZXI7CisgICAgc3RhdGljIE1lbW9yeU9iamVjdFR5cGUgTWVtb3J5Q2FjaGVTdHJ1Y3R1cmVz
OworICAgIHN0YXRpYyBNZW1vcnlPYmplY3RUeXBlIENhY2hlZFJlc291cmNlOworICAgIHN0YXRp
YyBNZW1vcnlPYmplY3RUeXBlIENhY2hlZFJlc291cmNlQ1NTOworICAgIHN0YXRpYyBNZW1vcnlP
YmplY3RUeXBlIENhY2hlZFJlc291cmNlRm9udDsKKyAgICBzdGF0aWMgTWVtb3J5T2JqZWN0VHlw
ZSBDYWNoZWRSZXNvdXJjZUltYWdlOworICAgIHN0YXRpYyBNZW1vcnlPYmplY3RUeXBlIENhY2hl
ZFJlc291cmNlU2NyaXB0OworICAgIHN0YXRpYyBNZW1vcnlPYmplY3RUeXBlIENhY2hlZFJlc291
cmNlU1ZHOworICAgIHN0YXRpYyBNZW1vcnlPYmplY3RUeXBlIENhY2hlZFJlc291cmNlU2hhZGVy
OworICAgIHN0YXRpYyBNZW1vcnlPYmplY3RUeXBlIENhY2hlZFJlc291cmNlWFNMVDsKK307CisK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vICFkZWZpbmVkKE1lbW9yeUluc3Ry
dW1lbnRhdGlvbl9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCmluZGV4IDIwNmU2YmU5YTAwOWNjMjYxNDgyMzdm
NzM0YjE5ZjYxOTRkZDQyNTUuLjc2NzViMTczNTRlYzAzZTU1NzU0NTFhOWYzNDNmNTNjY2EzMGJl
MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vTm9kZS5jcHAKQEAgLTI4MzgsNyArMjgzOCw3IEBAIHZvaWQgTm9kZTo6cmVt
b3ZlZExhc3RSZWYoKQogCiB2b2lkIE5vZGU6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVj
dEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGlu
Zm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpET00pOwor
ICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVN
ZW1vcnlUeXBlczo6RE9NKTsKICAgICBUcmVlU2hhcmVkPE5vZGUsIENvbnRhaW5lck5vZGU+Ojpy
ZXBvcnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAgICBTY3JpcHRXcmFwcGFibGU6
OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwogICAgIGluZm8uYWRkSW5zdHJ1
bWVudGVkTWVtYmVyKG1fZG9jdW1lbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L1F1YWxpZmllZE5hbWUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgKaW5k
ZXggZDFmNTI2OTdmNGE0YjdhYWVkNDRiYjdmZDY2OTgzMTczMjczZDBiYy4uNGNkNDdlYTcwMzRk
MTE0NzU0MTNkNzE3ZWVkZmI3OWJiY2IwOWQ1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL1F1YWxpZmllZE5hbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFt
ZS5oCkBAIC01Miw3ICs1Miw3IEBAIHB1YmxpYzoKIAogICAgICAgICB2b2lkIHJlcG9ydE1lbW9y
eVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAgICAgICAg
IHsKLSAgICAgICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRo
aXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6RE9NKTsKKyAgICAgICAgICAgIE1lbW9yeUNsYXNz
SW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6RE9N
KTsKICAgICAgICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcHJlZml4KTsKICAg
ICAgICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbG9jYWxOYW1lKTsKICAgICAg
ICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbmFtZXNwYWNlKTsKQEAgLTEwMyw3
ICsxMDMsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1v
cnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogICAgIHsKLSAgICAgICAgTWVt
b3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVu
dGF0aW9uOjpET00pOworICAgICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJ
bmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkRPTSk7CiAgICAgICAgIGluZm8uYWRkSW5z
dHJ1bWVudGVkTWVtYmVyKG1faW1wbCk7CiAgICAgfQogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCmluZGV4IDVkMWNkMDdhZTExMGYwODg2MWM2YWZhMThi
ZDk0ZDY4Y2M0MDc3MDcuLjJjYTMzYmRjYjcxZjIzZWE5ZmI1MjA1MDA2ODZhNzkzYTljZTg0YTYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcApAQCAtNDIzLDcgKzQy
Myw3IEBAIGlubGluZSBJbWFnZUlubmVyRWxlbWVudCogSFRNTEltYWdlRWxlbWVudDo6aW5uZXJF
bGVtZW50KCkgY29uc3QKIAogdm9pZCBIVE1MSW1hZ2VFbGVtZW50OjpyZXBvcnRNZW1vcnlVc2Fn
ZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9y
eUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRh
dGlvbjo6RE9NKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0
aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkRPTSk7CiAgICAgSFRNTEVsZW1lbnQ6OnJlcG9ydE1l
bW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwogICAgIGluZm8uYWRkTWVtYmVyKG1faW1hZ2VM
b2FkZXIpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZm9ybSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck1lbW9yeUFnZW50LmNwcAppbmRleCA4
NTE4NmM3MTBkNTcwMDdiMDU0MzNhYzY4ODI3N2I1MjVmYTAyZmEzLi44MTBhODBhN2RiMDljNjMz
MDg5OGNiNWI0ZDAzYzFlNDJkM2ViMzQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAKQEAgLTQ4NiwxNSArNDg2LDE1IEBAIHB1Ymxp
YzoKICAgICAgICAgc2l6ZV90IHRvdGFsU2l6ZSA9IDA7CiAKICAgICAgICAgUmVmUHRyPFR5cGVC
dWlsZGVyOjpBcnJheTxJbnNwZWN0b3JNZW1vcnlCbG9jaz4gPiBjaGlsZHJlbiA9IFR5cGVCdWls
ZGVyOjpBcnJheTxJbnNwZWN0b3JNZW1vcnlCbG9jaz46OmNyZWF0ZSgpOwotICAgICAgICB0b3Rh
bFNpemUgKz0gYWRkTWVtb3J5QmxvY2tGb3IoY2hpbGRyZW4uZ2V0KCksIG1fbWVtb3J5SW5zdHJ1
bWVudGF0aW9uLnRvdGFsU2l6ZShNZW1vcnlJbnN0cnVtZW50YXRpb246Ok1lbW9yeUNhY2hlU3Ry
dWN0dXJlcyksIE1lbW9yeUJsb2NrTmFtZTo6bWVtb3J5Q2FjaGVTdHJ1Y3R1cmVzKTsKLSAgICAg
ICAgdG90YWxTaXplICs9IGFkZE1lbW9yeUJsb2NrRm9yKGNoaWxkcmVuLmdldCgpLCBtX21lbW9y
eUluc3RydW1lbnRhdGlvbi50b3RhbFNpemUoTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDYWNoZWRS
ZXNvdXJjZSksIE1lbW9yeUJsb2NrTmFtZTo6Y2FjaGVkUmVzb3VyY2UpOwotICAgICAgICB0b3Rh
bFNpemUgKz0gYWRkTWVtb3J5QmxvY2tGb3IoY2hpbGRyZW4uZ2V0KCksIG1fbWVtb3J5SW5zdHJ1
bWVudGF0aW9uLnRvdGFsU2l6ZShNZW1vcnlJbnN0cnVtZW50YXRpb246OkNhY2hlZFJlc291cmNl
Q1NTKSwgTWVtb3J5QmxvY2tOYW1lOjpjYWNoZWRSZXNvdXJjZUNTUyk7Ci0gICAgICAgIHRvdGFs
U2l6ZSArPSBhZGRNZW1vcnlCbG9ja0ZvcihjaGlsZHJlbi5nZXQoKSwgbV9tZW1vcnlJbnN0cnVt
ZW50YXRpb24udG90YWxTaXplKE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q2FjaGVkUmVzb3VyY2VG
b250KSwgTWVtb3J5QmxvY2tOYW1lOjpjYWNoZWRSZXNvdXJjZUZvbnQpOwotICAgICAgICB0b3Rh
bFNpemUgKz0gYWRkTWVtb3J5QmxvY2tGb3IoY2hpbGRyZW4uZ2V0KCksIG1fbWVtb3J5SW5zdHJ1
bWVudGF0aW9uLnRvdGFsU2l6ZShNZW1vcnlJbnN0cnVtZW50YXRpb246OkNhY2hlZFJlc291cmNl
SW1hZ2UpLCBNZW1vcnlCbG9ja05hbWU6OmNhY2hlZFJlc291cmNlSW1hZ2UpOwotICAgICAgICB0
b3RhbFNpemUgKz0gYWRkTWVtb3J5QmxvY2tGb3IoY2hpbGRyZW4uZ2V0KCksIG1fbWVtb3J5SW5z
dHJ1bWVudGF0aW9uLnRvdGFsU2l6ZShNZW1vcnlJbnN0cnVtZW50YXRpb246OkNhY2hlZFJlc291
cmNlU2NyaXB0KSwgTWVtb3J5QmxvY2tOYW1lOjpjYWNoZWRSZXNvdXJjZVNjcmlwdCk7Ci0gICAg
ICAgIHRvdGFsU2l6ZSArPSBhZGRNZW1vcnlCbG9ja0ZvcihjaGlsZHJlbi5nZXQoKSwgbV9tZW1v
cnlJbnN0cnVtZW50YXRpb24udG90YWxTaXplKE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q2FjaGVk
UmVzb3VyY2VTVkcpLCBNZW1vcnlCbG9ja05hbWU6OmNhY2hlZFJlc291cmNlU1ZHKTsKLSAgICAg
ICAgdG90YWxTaXplICs9IGFkZE1lbW9yeUJsb2NrRm9yKGNoaWxkcmVuLmdldCgpLCBtX21lbW9y
eUluc3RydW1lbnRhdGlvbi50b3RhbFNpemUoTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDYWNoZWRS
ZXNvdXJjZVNoYWRlciksIE1lbW9yeUJsb2NrTmFtZTo6Y2FjaGVkUmVzb3VyY2VTaGFkZXIpOwot
ICAgICAgICB0b3RhbFNpemUgKz0gYWRkTWVtb3J5QmxvY2tGb3IoY2hpbGRyZW4uZ2V0KCksIG1f
bWVtb3J5SW5zdHJ1bWVudGF0aW9uLnRvdGFsU2l6ZShNZW1vcnlJbnN0cnVtZW50YXRpb246OkNh
Y2hlZFJlc291cmNlWFNMVCksIE1lbW9yeUJsb2NrTmFtZTo6Y2FjaGVkUmVzb3VyY2VYU0xUKTsK
KyAgICAgICAgdG90YWxTaXplICs9IGFkZE1lbW9yeUJsb2NrRm9yKGNoaWxkcmVuLmdldCgpLCBt
X21lbW9yeUluc3RydW1lbnRhdGlvbi50b3RhbFNpemUoV2ViQ29yZU1lbW9yeVR5cGVzOjpNZW1v
cnlDYWNoZVN0cnVjdHVyZXMpLCBNZW1vcnlCbG9ja05hbWU6Om1lbW9yeUNhY2hlU3RydWN0dXJl
cyk7CisgICAgICAgIHRvdGFsU2l6ZSArPSBhZGRNZW1vcnlCbG9ja0ZvcihjaGlsZHJlbi5nZXQo
KSwgbV9tZW1vcnlJbnN0cnVtZW50YXRpb24udG90YWxTaXplKFdlYkNvcmVNZW1vcnlUeXBlczo6
Q2FjaGVkUmVzb3VyY2UpLCBNZW1vcnlCbG9ja05hbWU6OmNhY2hlZFJlc291cmNlKTsKKyAgICAg
ICAgdG90YWxTaXplICs9IGFkZE1lbW9yeUJsb2NrRm9yKGNoaWxkcmVuLmdldCgpLCBtX21lbW9y
eUluc3RydW1lbnRhdGlvbi50b3RhbFNpemUoV2ViQ29yZU1lbW9yeVR5cGVzOjpDYWNoZWRSZXNv
dXJjZUNTUyksIE1lbW9yeUJsb2NrTmFtZTo6Y2FjaGVkUmVzb3VyY2VDU1MpOworICAgICAgICB0
b3RhbFNpemUgKz0gYWRkTWVtb3J5QmxvY2tGb3IoY2hpbGRyZW4uZ2V0KCksIG1fbWVtb3J5SW5z
dHJ1bWVudGF0aW9uLnRvdGFsU2l6ZShXZWJDb3JlTWVtb3J5VHlwZXM6OkNhY2hlZFJlc291cmNl
Rm9udCksIE1lbW9yeUJsb2NrTmFtZTo6Y2FjaGVkUmVzb3VyY2VGb250KTsKKyAgICAgICAgdG90
YWxTaXplICs9IGFkZE1lbW9yeUJsb2NrRm9yKGNoaWxkcmVuLmdldCgpLCBtX21lbW9yeUluc3Ry
dW1lbnRhdGlvbi50b3RhbFNpemUoV2ViQ29yZU1lbW9yeVR5cGVzOjpDYWNoZWRSZXNvdXJjZUlt
YWdlKSwgTWVtb3J5QmxvY2tOYW1lOjpjYWNoZWRSZXNvdXJjZUltYWdlKTsKKyAgICAgICAgdG90
YWxTaXplICs9IGFkZE1lbW9yeUJsb2NrRm9yKGNoaWxkcmVuLmdldCgpLCBtX21lbW9yeUluc3Ry
dW1lbnRhdGlvbi50b3RhbFNpemUoV2ViQ29yZU1lbW9yeVR5cGVzOjpDYWNoZWRSZXNvdXJjZVNj
cmlwdCksIE1lbW9yeUJsb2NrTmFtZTo6Y2FjaGVkUmVzb3VyY2VTY3JpcHQpOworICAgICAgICB0
b3RhbFNpemUgKz0gYWRkTWVtb3J5QmxvY2tGb3IoY2hpbGRyZW4uZ2V0KCksIG1fbWVtb3J5SW5z
dHJ1bWVudGF0aW9uLnRvdGFsU2l6ZShXZWJDb3JlTWVtb3J5VHlwZXM6OkNhY2hlZFJlc291cmNl
U1ZHKSwgTWVtb3J5QmxvY2tOYW1lOjpjYWNoZWRSZXNvdXJjZVNWRyk7CisgICAgICAgIHRvdGFs
U2l6ZSArPSBhZGRNZW1vcnlCbG9ja0ZvcihjaGlsZHJlbi5nZXQoKSwgbV9tZW1vcnlJbnN0cnVt
ZW50YXRpb24udG90YWxTaXplKFdlYkNvcmVNZW1vcnlUeXBlczo6Q2FjaGVkUmVzb3VyY2VTaGFk
ZXIpLCBNZW1vcnlCbG9ja05hbWU6OmNhY2hlZFJlc291cmNlU2hhZGVyKTsKKyAgICAgICAgdG90
YWxTaXplICs9IGFkZE1lbW9yeUJsb2NrRm9yKGNoaWxkcmVuLmdldCgpLCBtX21lbW9yeUluc3Ry
dW1lbnRhdGlvbi50b3RhbFNpemUoV2ViQ29yZU1lbW9yeVR5cGVzOjpDYWNoZWRSZXNvdXJjZVhT
TFQpLCBNZW1vcnlCbG9ja05hbWU6OmNhY2hlZFJlc291cmNlWFNMVCk7CiAKICAgICAgICAgUmVm
UHRyPEluc3BlY3Rvck1lbW9yeUJsb2NrPiBibG9jayA9IEluc3BlY3Rvck1lbW9yeUJsb2NrOjpj
cmVhdGUoKS5zZXROYW1lKE1lbW9yeUJsb2NrTmFtZTo6bWVtb3J5Q2FjaGUpOwogICAgICAgICBi
bG9jay0+c2V0U2l6ZSh0b3RhbFNpemUpOwpAQCAtNTA3LDExICs1MDcsMTEgQEAgcHVibGljOgog
ICAgICAgICBzaXplX3QgdG90YWxTaXplID0gMDsKIAogICAgICAgICBSZWZQdHI8VHlwZUJ1aWxk
ZXI6OkFycmF5PEluc3BlY3Rvck1lbW9yeUJsb2NrPiA+IGRvbUNoaWxkcmVuID0gVHlwZUJ1aWxk
ZXI6OkFycmF5PEluc3BlY3Rvck1lbW9yeUJsb2NrPjo6Y3JlYXRlKCk7Ci0gICAgICAgIHRvdGFs
U2l6ZSArPSBhZGRNZW1vcnlCbG9ja0Zvcihkb21DaGlsZHJlbi5nZXQoKSwgbV9tZW1vcnlJbnN0
cnVtZW50YXRpb24udG90YWxTaXplKE1lbW9yeUluc3RydW1lbnRhdGlvbjo6T3RoZXIpLCBNZW1v
cnlCbG9ja05hbWU6OmRvbVRyZWVPdGhlcik7Ci0gICAgICAgIHRvdGFsU2l6ZSArPSBhZGRNZW1v
cnlCbG9ja0Zvcihkb21DaGlsZHJlbi5nZXQoKSwgbV9tZW1vcnlJbnN0cnVtZW50YXRpb24udG90
YWxTaXplKE1lbW9yeUluc3RydW1lbnRhdGlvbjo6RE9NKSwgTWVtb3J5QmxvY2tOYW1lOjpkb21U
cmVlRE9NKTsKLSAgICAgICAgdG90YWxTaXplICs9IGFkZE1lbW9yeUJsb2NrRm9yKGRvbUNoaWxk
cmVuLmdldCgpLCBtX21lbW9yeUluc3RydW1lbnRhdGlvbi50b3RhbFNpemUoTWVtb3J5SW5zdHJ1
bWVudGF0aW9uOjpDU1MpLCBNZW1vcnlCbG9ja05hbWU6OmRvbVRyZWVDU1MpOwotICAgICAgICB0
b3RhbFNpemUgKz0gYWRkTWVtb3J5QmxvY2tGb3IoZG9tQ2hpbGRyZW4uZ2V0KCksIG1fbWVtb3J5
SW5zdHJ1bWVudGF0aW9uLnRvdGFsU2l6ZShNZW1vcnlJbnN0cnVtZW50YXRpb246OkJpbmRpbmcp
LCBNZW1vcnlCbG9ja05hbWU6OmRvbVRyZWVCaW5kaW5nKTsKLSAgICAgICAgdG90YWxTaXplICs9
IGFkZE1lbW9yeUJsb2NrRm9yKGRvbUNoaWxkcmVuLmdldCgpLCBtX21lbW9yeUluc3RydW1lbnRh
dGlvbi50b3RhbFNpemUoTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpMb2FkZXIpLCBNZW1vcnlCbG9j
a05hbWU6OmRvbVRyZWVMb2FkZXIpOworICAgICAgICB0b3RhbFNpemUgKz0gYWRkTWVtb3J5Qmxv
Y2tGb3IoZG9tQ2hpbGRyZW4uZ2V0KCksIG1fbWVtb3J5SW5zdHJ1bWVudGF0aW9uLnRvdGFsU2l6
ZShHZW5lcmljTWVtb3J5VHlwZXM6Ok90aGVyKSwgTWVtb3J5QmxvY2tOYW1lOjpkb21UcmVlT3Ro
ZXIpOworICAgICAgICB0b3RhbFNpemUgKz0gYWRkTWVtb3J5QmxvY2tGb3IoZG9tQ2hpbGRyZW4u
Z2V0KCksIG1fbWVtb3J5SW5zdHJ1bWVudGF0aW9uLnRvdGFsU2l6ZShXZWJDb3JlTWVtb3J5VHlw
ZXM6OkRPTSksIE1lbW9yeUJsb2NrTmFtZTo6ZG9tVHJlZURPTSk7CisgICAgICAgIHRvdGFsU2l6
ZSArPSBhZGRNZW1vcnlCbG9ja0Zvcihkb21DaGlsZHJlbi5nZXQoKSwgbV9tZW1vcnlJbnN0cnVt
ZW50YXRpb24udG90YWxTaXplKFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKSwgTWVtb3J5QmxvY2tO
YW1lOjpkb21UcmVlQ1NTKTsKKyAgICAgICAgdG90YWxTaXplICs9IGFkZE1lbW9yeUJsb2NrRm9y
KGRvbUNoaWxkcmVuLmdldCgpLCBtX21lbW9yeUluc3RydW1lbnRhdGlvbi50b3RhbFNpemUoV2Vi
Q29yZU1lbW9yeVR5cGVzOjpCaW5kaW5nKSwgTWVtb3J5QmxvY2tOYW1lOjpkb21UcmVlQmluZGlu
Zyk7CisgICAgICAgIHRvdGFsU2l6ZSArPSBhZGRNZW1vcnlCbG9ja0Zvcihkb21DaGlsZHJlbi5n
ZXQoKSwgbV9tZW1vcnlJbnN0cnVtZW50YXRpb24udG90YWxTaXplKFdlYkNvcmVNZW1vcnlUeXBl
czo6TG9hZGVyKSwgTWVtb3J5QmxvY2tOYW1lOjpkb21UcmVlTG9hZGVyKTsKIAogICAgICAgICBS
ZWZQdHI8SW5zcGVjdG9yTWVtb3J5QmxvY2s+IGRvbSA9IEluc3BlY3Rvck1lbW9yeUJsb2NrOjpj
cmVhdGUoKS5zZXROYW1lKE1lbW9yeUJsb2NrTmFtZTo6ZG9tKTsKICAgICAgICAgZG9tLT5zZXRT
aXplKHRvdGFsU2l6ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1l
bnRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcApp
bmRleCBlYTY5YmY1MmY4ODMzNzU5ZmI5ODgyY2M2NzhjMjAyOTc0ZDk5MzQ4Li44ODE4NzEwMDM2
NzBkNzNkOTY1YjUyNGJlYTgxNzJiZmRkZjMxYTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudExvYWRlci5jcHAKQEAgLTM1Nyw3ICszNTcsNyBAQCB2b2lkIERvY3VtZW50TG9hZGVy
Ojpjb21taXREYXRhKGNvbnN0IGNoYXIqIGJ5dGVzLCBzaXplX3QgbGVuZ3RoKQogCiB2b2lkIERv
Y3VtZW50TG9hZGVyOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlP
YmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVj
dEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6TG9hZGVyKTsKKyAgICBNZW1vcnlD
bGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6
OkxvYWRlcik7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9mcmFtZSk7CiAgICAg
aW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9tYWluUmVzb3VyY2VMb2FkZXIpOwogICAgIGlu
Zm8uYWRkSW5zdHJ1bWVudGVkSGFzaFNldChtX3N1YnJlc291cmNlTG9hZGVycyk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCBmZmEwMGFkMzNmN2U1NDVlMDlmNTIxZGQ0
OGIyODZiMDc2ZDJmYjg2Li44ZTU3NDJlMjVmM2FjYzA5ZDJkNzRmYjg3YWU1NDEzMjU1NzEyMDc2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTMyNzcsNyArMzI3Nyw3
IEBAIE5ldHdvcmtpbmdDb250ZXh0KiBGcmFtZUxvYWRlcjo6bmV0d29ya2luZ0NvbnRleHQoKSBj
b25zdAogCiB2b2lkIEZyYW1lTG9hZGVyOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJ
bmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZv
KG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6TG9hZGVyKTsK
KyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3Jl
TWVtb3J5VHlwZXM6OkxvYWRlcik7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9k
b2N1bWVudExvYWRlcik7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9wcm92aXNp
b25hbERvY3VtZW50TG9hZGVyKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3Bv
bGljeURvY3VtZW50TG9hZGVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9N
YWluUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL01haW5SZXNvdXJj
ZUxvYWRlci5jcHAKaW5kZXggZDZhNjA3MjQ4MGQ2YjMxZDAwMDIxNjZiOTkzMmJhZjAxYjM4NjY1
MC4uMmQ2ZTQ1YmI4NmE5Mzc0ODAwZmFiZDVhNzhkMmVkMzFlZDE4YjQwZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHAKQEAgLTU1MSw3ICs1NTEsNyBA
QCB2b2lkIE1haW5SZXNvdXJjZUxvYWRlcjo6ZGlkRmFpbChjb25zdCBSZXNvdXJjZUVycm9yJiBl
cnJvcikKIAogdm9pZCBNYWluUmVzb3VyY2VMb2FkZXI6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9y
eU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJ
bmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpM
b2FkZXIpOworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMs
IFdlYkNvcmVNZW1vcnlUeXBlczo6TG9hZGVyKTsKICAgICBSZXNvdXJjZUxvYWRlcjo6cmVwb3J0
TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7CiAgICAgaW5mby5hZGRNZW1iZXIobV9pbml0
aWFsUmVxdWVzdCk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9zdWJzdGl0dXRl
RGF0YSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCAyMzA3
NTE1YTM3YzE5M2M5NWRkYjhhOTQ3ZGQ2MzcwMWUyMDQ0MmU4Li4zMzE1YWQ1NTg5MDZkOTA4YmYz
ZTJhMmJjYzdlYTNiZWJmMzY0ZDM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
UmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxv
YWRlci5jcHAKQEAgLTUzNSw3ICs1MzUsNyBAQCBBc3luY0ZpbGVTdHJlYW0qIFJlc291cmNlTG9h
ZGVyOjpjcmVhdGVBc3luY0ZpbGVTdHJlYW0oRmlsZVN0cmVhbUNsaWVudCogY2xpZW50KQogCiB2
b2lkIFJlc291cmNlTG9hZGVyOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBt
ZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9y
eU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6TG9hZGVyKTsKKyAgICBN
ZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5
VHlwZXM6OkxvYWRlcik7CiAgICAgaW5mby5hZGRNZW1iZXIobV9oYW5kbGUuZ2V0KCkpOwogICAg
IGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZnJhbWUpOwogICAgIGluZm8uYWRkSW5zdHJ1
bWVudGVkTWVtYmVyKG1fZG9jdW1lbnRMb2FkZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9T
dWJyZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggYzYxZmEzMWYwYjBkMWNiZGQ1OWQxMTk5OGYzOGNi
NTQ0MGE5MmY4Ni4uM2Y5YTYxNGNkMTcxMDQxN2I2NjM3OGEwNWUxMWJhZjRmOGFmMzU2YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0xMzcsNyAr
MTM3LDcgQEAgdm9pZCBTdWJyZXNvdXJjZUxvYWRlcjo6Y2FuY2VsSWZOb3RGaW5pc2hpbmcoKQog
CiB2b2lkIFN1YnJlc291cmNlTG9hZGVyOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJ
bmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZv
KG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6TG9hZGVyKTsK
KyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3Jl
TWVtb3J5VHlwZXM6OkxvYWRlcik7CiAgICAgUmVzb3VyY2VMb2FkZXI6OnJlcG9ydE1lbW9yeVVz
YWdlKG1lbW9yeU9iamVjdEluZm8pOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1f
cmVzb3VyY2UpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZG9jdW1lbnQpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnN0aXR1dGVEYXRhLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9TdWJzdGl0dXRlRGF0YS5jcHAKaW5kZXggYTI2OWMzNDk4MWVm
Nzg0OWQzMzE1Y2M3NmU5ZDk2NTM5YWY5ZDA4OC4uMjMxM2JhNWUxYmE4MmQxYWE5YmVlNDk1NjAx
MTNhMzk4ZmQzMGVlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnN0aXR1
dGVEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3Vic3RpdHV0ZURhdGEuY3Bw
CkBAIC0zNyw3ICszNyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdm9pZCBTdWJzdGl0dXRl
RGF0YTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5m
bykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0
aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkxvYWRlcik7CisgICAgTWVtb3J5Q2xhc3NJbmZv
IGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpMb2FkZXIp
OwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fY29udGVudCk7CiAgICAgaW5mby5h
ZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9taW1lVHlwZSk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50
ZWRNZW1iZXIobV90ZXh0RW5jb2RpbmcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZENTU1N0eWxlU2hlZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZENTU1N0eWxlU2hlZXQuY3BwCmluZGV4IDI5ZGE2MjhmZGU4M2U2ZjVjNTM5
ZWI0MWU5M2ExMWZhMDg5Y2ZiODIuLmZiZWUwYmVlMTYwYmE5ZWRhNjIyMzIxOTA1YmJkNzRkYTIz
MTFiZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRDU1NT
dHlsZVNoZWV0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkQ1NT
U3R5bGVTaGVldC5jcHAKQEAgLTIwNSw3ICsyMDUsNyBAQCB2b2lkIENhY2hlZENTU1N0eWxlU2hl
ZXQ6OnNhdmVQYXJzZWRTdHlsZVNoZWV0KFBhc3NSZWZQdHI8U3R5bGVTaGVldENvbnRlbnRzPiBz
aAogCiB2b2lkIENhY2hlZENTU1N0eWxlU2hlZXQ6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9i
amVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZv
IGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDYWNo
ZWRSZXNvdXJjZUNTUyk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5m
bywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDYWNoZWRSZXNvdXJjZUNTUyk7CiAgICAgQ2Fj
aGVkUmVzb3VyY2U6OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwogICAgIGlu
Zm8uYWRkTWVtYmVyKG1fZGVjb2Rlcik7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIo
bV9wYXJzZWRTdHlsZVNoZWV0Q2FjaGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZEZvbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZEZvbnQuY3BwCmluZGV4IDcyYzdjYTc1OTM4OTUyNGNjNjE1OTUxYjVmZTY4ZTI4OTk1M2E2
ZmQuLjQwODBlYjczZjM5YjQ5NjE1ZDJmODAwNmU3OTA1OWVkYmE5MDljMWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRGb250LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkRm9udC5jcHAKQEAgLTIwOSw3ICsyMDksNyBAQCB2
b2lkIENhY2hlZEZvbnQ6OmVycm9yKENhY2hlZFJlc291cmNlOjpTdGF0dXMgc3RhdHVzKQogCiB2
b2lkIENhY2hlZEZvbnQ6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9y
eU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2Jq
ZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDYWNoZWRSZXNvdXJjZUZvbnQp
OworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNv
cmVNZW1vcnlUeXBlczo6Q2FjaGVkUmVzb3VyY2VGb250KTsKICAgICBDYWNoZWRSZXNvdXJjZTo6
cmVwb3J0TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7CiAjaWYgRU5BQkxFKFNWR19GT05U
UykKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2V4dGVybmFsU1ZHRG9jdW1lbnQp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5jcHAKaW5kZXggYmU0
Y2VhNWNmMjIyOGE1ZmQ5NmI0ODNkMzFkNGYyNzliYTMzNmQxNS4uOTVjNTBiYzI0ODAwNDZhMzU5
NzM3NWNiMGIwODBhM2NhMWE0OTVkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZEltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkSW1hZ2UuY3BwCkBAIC00NzYsNyArNDc2LDcgQEAgdm9pZCBDYWNoZWRJbWFnZTo6Y2hh
bmdlZEluUmVjdChjb25zdCBJbWFnZSogaW1hZ2UsIGNvbnN0IEludFJlY3QmIHJlY3QpCiAKIHZv
aWQgQ2FjaGVkSW1hZ2U6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9y
eU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2Jq
ZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDYWNoZWRSZXNvdXJjZUltYWdl
KTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJD
b3JlTWVtb3J5VHlwZXM6OkNhY2hlZFJlc291cmNlSW1hZ2UpOwogICAgIENhY2hlZFJlc291cmNl
OjpyZXBvcnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAgICBpbmZvLmFkZEluc3Ry
dW1lbnRlZE1lbWJlcihtX2ltYWdlKTsKICNpZiBFTkFCTEUoU1ZHKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jlc291cmNlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSYXdSZXNvdXJjZS5jcHAKaW5kZXggNGU0MzEzMWIx
ZDI1NDgzNzFmNzE1NzRmNTE1NjU3ZTNkNDJkMDg1NC4uZjlkMGZkMzYxMGVkMmIwOWM0YTE2MDg2
NDViZDlmMjA4MWMyZmQzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFJhd1Jlc291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmF3UmVzb3VyY2UuY3BwCkBAIC0xNjIsNyArMTYyLDcgQEAgYm9vbCBDYWNoZWRSYXdS
ZXNvdXJjZTo6Y2FuUmV1c2UoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBuZXdSZXF1ZXN0KSBjb25z
dAogCiB2b2lkIENhY2hlZFJhd1Jlc291cmNlOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmpl
Y3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBp
bmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q2FjaGVk
UmVzb3VyY2UpOworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRo
aXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q2FjaGVkUmVzb3VyY2UpOwogICAgIENhY2hlZFJlc291
cmNlOjpyZXBvcnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKaW5kZXggZDdhYmNhZTg0
MGM3OTZkNjFhYjYzNjA0NWZkNWFmNWRkNzJjNzkxNi4uYTFiMmJkYWRhNDUwMTYzZGIxZGMzMmVj
MjUwMzRmZDQ1NDFjNjIxOCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2UuY3BwCkBAIC04MDMsNyArODAzLDcgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZTo6
Q2FjaGVkUmVzb3VyY2VDYWxsYmFjazo6dGltZXJGaXJlZChUaW1lcjxDYWNoZWRSZXNvdXJjZUNh
bGwKIAogdm9pZCBDYWNoZWRSZXNvdXJjZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0
SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5m
byhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNhY2hlZFJl
c291cmNlKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlz
LCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNhY2hlZFJlc291cmNlKTsKICAgICBpbmZvLmFkZE1lbWJl
cihtX3Jlc291cmNlUmVxdWVzdCk7CiAgICAgaW5mby5hZGRIYXNoU2V0KG1fY2xpZW50cyk7CiAg
ICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9hY2NlcHQpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlSGFuZGxlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUhhbmRsZS5jcHAKaW5kZXggZWEx
NjMxODE0MjYxMzgyYmM1NTlmZDk3M2UzNWZlZGZkMzQzYzY2NC4uYWQzN2ZlNDM3Y2E1NjQxM2Y5
MGZlNTQ5NzRkNGVkOWZmYzhhMzg2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlSGFuZGxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VIYW5kbGUuY3BwCkBAIC00Myw3ICs0Myw3IEBAIHZvaWQg
Q2FjaGVkUmVzb3VyY2VIYW5kbGVCYXNlOjpzZXRSZXNvdXJjZShDYWNoZWRSZXNvdXJjZSogcmVz
b3VyY2UpCiAKIHZvaWQgQ2FjaGVkUmVzb3VyY2VIYW5kbGVCYXNlOjpyZXBvcnRNZW1vcnlVc2Fn
ZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9y
eUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRh
dGlvbjo6Q2FjaGVkUmVzb3VyY2UpOworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9i
amVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q2FjaGVkUmVzb3VyY2UpOwogICAg
IGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcmVzb3VyY2UpOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRl
eCBiMjU4YzA1N2ZmM2FmMTExOTU4MGRlMWFmNjA4NDA1MzJmNmEwYTc1Li41ZmQ3YzUwNWExMWVk
NTgxZGM0YWVmOTYxZjYxZjFlMWM2NmQwZjg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTg4MCw3ICs4ODAsNyBA
QCB2b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpwcmludFByZWxvYWRTdGF0cygpCiAKIHZvaWQg
Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8q
IG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVt
b3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpMb2FkZXIpOworICAg
IE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1v
cnlUeXBlczo6TG9hZGVyKTsKICAgICBpbmZvLmFkZEhhc2hNYXAobV9kb2N1bWVudFJlc291cmNl
cyk7CiAgICAgZm9yIChEb2N1bWVudFJlc291cmNlTWFwOjpjb25zdF9pdGVyYXRvciBpID0gbV9k
b2N1bWVudFJlc291cmNlcy5iZWdpbigpOyBpICE9IG1fZG9jdW1lbnRSZXNvdXJjZXMuZW5kKCk7
ICsraSkgewogICAgICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihpLT5maXJzdCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU1ZHRG9jdW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFNWR0RvY3VtZW50LmNwcApp
bmRleCA0MjMwMDhlOGJhOThmZjFkZDExOWMxZGY1MmJjNWQ4YmFkMTMzNWNiLi42OTliNjg4NmE3
OTc4NDBmZTljNDc5MTg2NDVmMmMwMDA0ODE3MTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU1ZHRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRTVkdEb2N1bWVudC5jcHAKQEAgLTczLDcgKzczLDcgQEAgdm9p
ZCBDYWNoZWRTVkdEb2N1bWVudDo6ZGF0YShQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gZGF0YSwg
Ym9vbCBhbGxEYXRhUmVjZWl2ZWQKIAogdm9pZCBDYWNoZWRTVkdEb2N1bWVudDo6cmVwb3J0TWVt
b3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAg
ICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0
cnVtZW50YXRpb246OkNhY2hlZFJlc291cmNlU1ZHKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5m
byhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNhY2hlZFJlc291
cmNlU1ZHKTsKICAgICBDYWNoZWRSZXNvdXJjZTo6cmVwb3J0TWVtb3J5VXNhZ2UobWVtb3J5T2Jq
ZWN0SW5mbyk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9kb2N1bWVudCk7CiAg
ICAgaW5mby5hZGRNZW1iZXIobV9kZWNvZGVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRTY3JpcHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFNjcmlwdC5jcHAKaW5kZXggNzIyNjRmYTRiNGVlNDk3NTgyN2U5ZmMwOTE3OTJl
ZjdjZjA0NmI0MC4uZjBiMWMyZWEwZjM1OTczNjhjNWU5YjExNjk0MGVjZWQzNTY2ZmFmNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFNjcmlwdC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFNjcmlwdC5jcHAKQEAgLTEyOSw3
ICsxMjksNyBAQCB2b2lkIENhY2hlZFNjcmlwdDo6c291cmNlUHJvdmlkZXJDYWNoZVNpemVDaGFu
Z2VkKGludCBkZWx0YSkKIAogdm9pZCBDYWNoZWRTY3JpcHQ6OnJlcG9ydE1lbW9yeVVzYWdlKE1l
bW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xh
c3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9u
OjpDYWNoZWRSZXNvdXJjZVNjcmlwdCk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5
T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDYWNoZWRSZXNvdXJjZVNjcmlw
dCk7CiAgICAgQ2FjaGVkUmVzb3VyY2U6OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdElu
Zm8pOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc2NyaXB0KTsKICAgICBpbmZv
LmFkZE1lbWJlcihtX2RlY29kZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFNoYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkU2hhZGVyLmNwcAppbmRleCBhMzFhYmQwNTAzMmRlMDViMjdkNGM2ZGQ1MzUwOGE1ZGZjYmNm
MmQ2Li42MTI0YzViMjdmODkxMDY1NGRmMDdiNTcwMWQ3NjMyODA5Y2EzNGRiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU2hhZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU2hhZGVyLmNwcApAQCAtNzAsNyArNzAsNyBA
QCB2b2lkIENhY2hlZFNoYWRlcjo6ZGF0YShQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gZGF0YSwg
Ym9vbCBhbGxEYXRhUmVjZWl2ZWQpCiAKIHZvaWQgQ2FjaGVkU2hhZGVyOjpyZXBvcnRNZW1vcnlV
c2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1l
bW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1l
bnRhdGlvbjo6Q2FjaGVkUmVzb3VyY2VTaGFkZXIpOworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZv
KG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q2FjaGVkUmVzb3Vy
Y2VTaGFkZXIpOwogICAgIENhY2hlZFJlc291cmNlOjpyZXBvcnRNZW1vcnlVc2FnZShtZW1vcnlP
YmplY3RJbmZvKTsKICAgICBpbmZvLmFkZE1lbWJlcihtX2RlY29kZXIpOwogICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKG1fc2hhZGVyU3RyaW5nKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRYU0xTdHlsZVNoZWV0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRYU0xTdHlsZVNoZWV0LmNwcAppbmRleCA3N2M1MWU4ZDhm
NDIyZjkwMzllYjc1M2RkY2I3MjcxYWIzYTkzNzhiLi5jM2I1MWNmODMzNmQ0MTliOGI3Mjg2MWE4
NDU1YWNlZmEyOGI5ODIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkWFNMU3R5bGVTaGVldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFhTTFN0eWxlU2hlZXQuY3BwCkBAIC05OSw3ICs5OSw3IEBAIHZvaWQgQ2FjaGVkWFNM
U3R5bGVTaGVldDo6ZXJyb3IoQ2FjaGVkUmVzb3VyY2U6OlN0YXR1cyBzdGF0dXMpCiAKIHZvaWQg
Q2FjaGVkWFNMU3R5bGVTaGVldDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyog
bWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1v
cnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNhY2hlZFJlc291cmNl
WFNMVCk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywg
V2ViQ29yZU1lbW9yeVR5cGVzOjpDYWNoZWRSZXNvdXJjZVhTTFQpOwogICAgIENhY2hlZFJlc291
cmNlOjpyZXBvcnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAgICBpbmZvLmFkZElu
c3RydW1lbnRlZE1lbWJlcihtX3NoZWV0KTsKICAgICBpbmZvLmFkZE1lbWJlcihtX2RlY29kZXIp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKaW5kZXggNjYx
MTFkNzNmN2QxZmIwMTIxOTU2YWVhZmQxMDM3YWRiZDI4YjAxMS4uN2YxNmI1NTQ3Y2VhMWQzYTE2
MzU0Y2EzMGQ5YzczZGQ2N2E0NmY2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL01lbW9yeUNhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
TWVtb3J5Q2FjaGUuY3BwCkBAIC03MTcsNyArNzE3LDcgQEAgTWVtb3J5Q2FjaGU6OlN0YXRpc3Rp
Y3MgTWVtb3J5Q2FjaGU6OmdldFN0YXRpc3RpY3MoKQogCiB2b2lkIE1lbW9yeUNhY2hlOjpyZXBv
cnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAog
ewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9y
eUluc3RydW1lbnRhdGlvbjo6TWVtb3J5Q2FjaGVTdHJ1Y3R1cmVzKTsKKyAgICBNZW1vcnlDbGFz
c0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6Ok1l
bW9yeUNhY2hlU3RydWN0dXJlcyk7CiAgICAgaW5mby5hZGRIYXNoTWFwKG1fcmVzb3VyY2VzKTsK
ICAgICBDYWNoZWRSZXNvdXJjZU1hcDo6Y29uc3RfaXRlcmF0b3IgZSA9IG1fcmVzb3VyY2VzLmVu
ZCgpOwogICAgIGZvciAoQ2FjaGVkUmVzb3VyY2VNYXA6OmNvbnN0X2l0ZXJhdG9yIGkgPSBtX3Jl
c291cmNlcy5iZWdpbigpOyBpICE9IGU7ICsraSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAppbmRleCBi
MzY0OGY1MjQ3MDE5ZGMyOWQzZGY1NTExZDkyODZiYjg4YTExMWFlLi44NWMyYTMzNGEyMjkwYzc3
NDU1ZDhlOGMyYjQ3MmM1OWIxYWE2YTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcApAQCAtNjc0LDcg
KzY3NCw3IEBAIHZvaWQgRnJhbWU6OmRpc3BhdGNoVmlzaWJpbGl0eVN0YXRlQ2hhbmdlRXZlbnQo
KQogCiB2b2lkIEZyYW1lOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1v
cnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9i
amVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6RE9NKTsKKyAgICBNZW1vcnlD
bGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6
OkRPTSk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9kb2MuZ2V0KCkpOwogICAg
IGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbG9hZGVyKTsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZEJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TaGFyZWRCdWZmZXIuY3BwCmluZGV4IDE2YzBiY2RkZDQwMWY1MTY4YjlmYmU3MDY0
NGRlYTQyZTg5MGUzMDAuLmMxZTczMzA0MzAwYmQyZWZhYTUzMmU2NDExNmM0YTM5N2E3MzczMTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZEJ1ZmZlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkQnVmZmVyLmNwcApAQCAtMjUwLDcgKzI1
MCw3IEBAIGNvbnN0IFZlY3RvcjxjaGFyPiYgU2hhcmVkQnVmZmVyOjpidWZmZXIoKSBjb25zdAog
CiB2b2lkIFNoYXJlZEJ1ZmZlcjo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyog
bWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1v
cnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246Ok90aGVyKTsKKyAgICBN
ZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBHZW5lcmljTWVtb3J5
VHlwZXM6Ok90aGVyKTsKICAgICBpbmZvLmFkZFZlY3RvcihtX2J1ZmZlcik7CiAgICAgaW5mby5h
ZGRWZWN0b3IobV9zZWdtZW50cyk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fc2Vn
bWVudHMuc2l6ZSgpOyArK2kpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9U
cmVlU2hhcmVkLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UcmVlU2hhcmVkLmgKaW5kZXgg
ZmJlZmViMTU5MjIzNzE4YmQxMDY3ZWMxOTRiYmY0NDgxYmY2M2NkYy4uNmY2NTJkYjY0OTdkYmY1
ZDlkNDZiYjU4YjM5YjMzMmQ0MzFhNjAyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vVHJlZVNoYXJlZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFy
ZWQuaApAQCAtMTEzLDcgKzExMyw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcmVwb3J0TWVtb3J5
VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKICAgICB7Ci0g
ICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9y
eUluc3RydW1lbnRhdGlvbjo6RE9NKTsKKyAgICAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVt
b3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpET00pOwogICAgICAgICBp
bmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3BhcmVudCk7CiAgICAgfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAKaW5kZXggMDllN2Jl
MTFkMTRkNWYxMDAwNjhmZjU1YTUwOGE4ZjZlZjhhZWVlOC4uZDgyY2NhNDBmNWUyYTgxNjFmNmJk
ODczNjk2YjkwNzk4MWU4MDBkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvQml0bWFwSW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0JpdG1hcEltYWdlLmNwcApAQCAtNTc0LDcgKzU3NCw3IEBAIENvbG9yIEJpdG1hcElt
YWdlOjpzb2xpZENvbG9yKCkgY29uc3QKIAogdm9pZCBCaXRtYXBJbWFnZTo6cmVwb3J0TWVtb3J5
VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBN
ZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVt
ZW50YXRpb246OkNhY2hlZFJlc291cmNlSW1hZ2UpOworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZv
KG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q2FjaGVkUmVzb3Vy
Y2VJbWFnZSk7CiAgICAgSW1hZ2U6OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8p
OwogICAgIGluZm8uYWRkTWVtYmVyKG1fc291cmNlKTsKICAgICBpbmZvLmFkZE1lbWJlcihtX2Zy
YW1lVGltZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Q3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvQ3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2UuY3BwCmluZGV4IGU2NzUwMDE5ZTFiNGQ3YTMz
YzMwNTk4NzNiYmY0YTgxMmYzMDAzZmYuLjZiNTE5NDdiNWRiOWE1MzhkMzQxZWUzZjhmYWExNTcy
NzJhYmIwYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Ny
b3NzZmFkZUdlbmVyYXRlZEltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Dcm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZS5jcHAKQEAgLTExMCw3ICsxMTAsNyBAQCB2
b2lkIENyb3NzZmFkZUdlbmVyYXRlZEltYWdlOjpkcmF3UGF0dGVybihHcmFwaGljc0NvbnRleHQq
IGNvbnRleHQsIGNvbnN0IEZsb2F0UgogCiB2b2lkIENyb3NzZmFkZUdlbmVyYXRlZEltYWdlOjpy
ZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25z
dAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1l
bW9yeUluc3RydW1lbnRhdGlvbjo6RE9NKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1v
cnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkRPTSk7CiAgICAgR2VuZXJh
dGVkSW1hZ2U6OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwogICAgIGluZm8u
YWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZnJvbUltYWdlKTsKICAgICBpbmZvLmFkZEluc3RydW1l
bnRlZE1lbWJlcihtX3RvSW1hZ2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR2VuZXJhdGVkSW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvR2VuZXJhdGVkSW1hZ2UuY3BwCmluZGV4IDE5NDAzOWZmNmMwN2NjMTZmMjUzNDll
NTNmYmNkM2FlYzFlNWQwYjMuLjdkZDRjMTVhMGY3YjAwMTM5YTRlYjc0ZDVmODc3NzI5Y2QwNzBk
YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlbmVyYXRl
ZEltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW5lcmF0
ZWRJbWFnZS5jcHAKQEAgLTQ1LDcgKzQ1LDcgQEAgdm9pZCBHZW5lcmF0ZWRJbWFnZTo6Y29tcHV0
ZUludHJpbnNpY0RpbWVuc2lvbnMoTGVuZ3RoJiBpbnRyaW5zaWNXaWR0aCwgTGVuZ3RoJgogCiB2
b2lkIEdlbmVyYXRlZEltYWdlOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBt
ZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9y
eU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q2FjaGVkUmVzb3VyY2VJ
bWFnZSk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywg
V2ViQ29yZU1lbW9yeVR5cGVzOjpDYWNoZWRSZXNvdXJjZUltYWdlKTsKICAgICBJbWFnZTo6cmVw
b3J0TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlbmVyYXRvckdlbmVyYXRlZEltYWdlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlbmVyYXRvckdlbmVyYXRlZEltYWdl
LmNwcAppbmRleCAyYTlhOTJiYTE4ODZhYzMxMTRmM2RiNWVhMjBiYWVlMjQ0YmIzNWUzLi4wNDMx
Y2I5MTY3MDFlMmI2ODhjOTUxMDBiOTJjMTJmM2E5NmMyNjRiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW5lcmF0b3JHZW5lcmF0ZWRJbWFnZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VuZXJhdG9yR2VuZXJhdGVkSW1h
Z2UuY3BwCkBAIC04Nyw3ICs4Nyw3IEBAIHZvaWQgR2VuZXJhdG9yR2VuZXJhdGVkSW1hZ2U6Omlu
dmFsaWRhdGVDYWNoZVRpbWVyRmlyZWQoRGVmZXJyYWJsZU9uZVNob3RUaW1lcjxHCiAKIHZvaWQg
R2VuZXJhdG9yR2VuZXJhdGVkSW1hZ2U6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdElu
Zm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8o
bWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpET00pOworICAg
IE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1v
cnlUeXBlczo6RE9NKTsKICAgICBHZW5lcmF0ZWRJbWFnZTo6cmVwb3J0TWVtb3J5VXNhZ2UobWVt
b3J5T2JqZWN0SW5mbyk7CiAgICAgaW5mby5hZGRNZW1iZXIobV9nZW5lcmF0b3IpOwogICAgIGlu
Zm8uYWRkTWVtYmVyKG1fY2FjaGVkSW1hZ2VCdWZmZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvSW1hZ2UuY3BwCmluZGV4IDAyNTU2MDNkZWRkZjQ1NTM5MTQxMjE4ZDRmMzJj
YTQ5Mjk3OThmOTIuLmM1OTYyMDhiN2Y4NTcyZjc1YWJhYTYzZjI3YTU2NGJiMmYwZWE5MTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5jcHAKQEAgLTIwMCw3ICsy
MDAsNyBAQCB2b2lkIEltYWdlOjpjb21wdXRlSW50cmluc2ljRGltZW5zaW9ucyhMZW5ndGgmIGlu
dHJpbnNpY1dpZHRoLCBMZW5ndGgmIGludHJpbnNpYwogCiB2b2lkIEltYWdlOjpyZXBvcnRNZW1v
cnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAg
IE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3Ry
dW1lbnRhdGlvbjo6Q2FjaGVkUmVzb3VyY2VJbWFnZSk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGlu
Zm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDYWNoZWRSZXNv
dXJjZUltYWdlKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2RhdGEpOwogICAg
IGluZm8uYWRkTWVtYmVyKG1faW1hZ2VPYnNlcnZlcik7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvRm9ybURhdGEuY3BwCmluZGV4IDljM2M4YzNhY2YwMWNhOWRiMjMxNzJh
NGU1NThlN2YyNGY2NzM4ODUuLmUwNzlhMGZjZTUzMmZlYzRhMDFkZDg4YWEwZDJjMDc0ZjdlZDhl
MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGEu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGEuY3BwCkBA
IC0zNTksNyArMzU5LDcgQEAgdm9pZCBGb3JtRGF0YTo6cmVtb3ZlR2VuZXJhdGVkRmlsZXNJZk5l
ZWRlZCgpCiAKIHZvaWQgRm9ybURhdGE6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdElu
Zm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8o
bWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpMb2FkZXIpOwor
ICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVN
ZW1vcnlUeXBlczo6TG9hZGVyKTsKICAgICBpbmZvLmFkZFZlY3RvcihtX2JvdW5kYXJ5KTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJl
cXVlc3RCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VS
ZXF1ZXN0QmFzZS5jcHAKaW5kZXggMjZjYjgwYzg0NmIzOTNjM2FlYjUyZDgxZTdmZGQzMGU4MWFk
MmIwNy4uM2M3OTFhZGNjYzBiMDEwMWIyZTViM2ZjYTAxOGM0YjA0MTllZWI1ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJh
c2UuY3BwCkBAIC00NDYsNyArNDQ2LDcgQEAgYm9vbCBSZXNvdXJjZVJlcXVlc3RCYXNlOjppc0Nv
bmRpdGlvbmFsKCkgY29uc3QKIAogdm9pZCBSZXNvdXJjZVJlcXVlc3RCYXNlOjpyZXBvcnRNZW1v
cnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAg
IE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3Ry
dW1lbnRhdGlvbjo6TG9hZGVyKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmpl
Y3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkxvYWRlcik7CiAgICAgaW5mby5hZGRJ
bnN0cnVtZW50ZWRNZW1iZXIobV91cmwpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVy
KG1fZmlyc3RQYXJ0eUZvckNvb2tpZXMpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVy
KG1faHR0cE1ldGhvZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuY3BwCmluZGV4IGU4ZDdjYTQzMzY5ZTY5MTk2OTgy
OGQyNGUzNDEzODBlZjMyMDdkZmYuLjkzMjlkZjQzMmQyMDIwY2VjYmNkZmM5OTJkMjk1YTUxOWEw
MzMyY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3Vy
Y2VSZXNwb25zZUJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UmVzb3VyY2VSZXNwb25zZUJhc2UuY3BwCkBAIC01NzAsNyArNTcwLDcgQEAgdm9pZCBSZXNvdXJj
ZVJlc3BvbnNlQmFzZTo6bGF6eUluaXQoSW5pdExldmVsIGluaXRMZXZlbCkgY29uc3QKIAogdm9p
ZCBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5m
byogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyht
ZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkxvYWRlcik7Cisg
ICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1l
bW9yeVR5cGVzOjpMb2FkZXIpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdXJs
KTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX21pbWVUeXBlKTsKICAgICBpbmZv
LmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3RleHRFbmNvZGluZ05hbWUpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKaW5kZXggN2YwMzAyYTE3YTk1
NzI2MzllNWViNzQ2NDU5YmRiYWIxNDk0ZWRiMi4uZWMwZjdiZjJmNjdmMjViMDA5MjlmM2QxY2I1
OGMzMDFhZGUzNzMzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1JlbmRlclN0eWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVu
ZGVyU3R5bGUuY3BwCkBAIC0xNTk3LDcgKzE1OTcsNyBAQCBMYXlvdXRCb3hFeHRlbnQgUmVuZGVy
U3R5bGU6OmltYWdlT3V0c2V0cyhjb25zdCBOaW5lUGllY2VJbWFnZSYgaW1hZ2UpIGNvbnN0CiAK
IHZvaWQgUmVuZGVyU3R5bGU6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1l
bW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5
T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAgIE1lbW9y
eUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBl
czo6Q1NTKTsKICAgICBpbmZvLmFkZE1lbWJlcihtX2JveCk7CiAgICAgaW5mby5hZGRNZW1iZXIo
dmlzdWFsKTsKICAgICAvLyBGSVhNRTogbV9iYWNrZ3JvdW5kIGNvbnRhaW5zIFJlZlB0cjxTdHls
ZUltYWdlPiB0aGF0IG1pZ2h0IG5lZWQgdG8gYmUgaW5zdHJ1bWVudGVkLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEu
Y3BwCmluZGV4IDYyZmU1Yjg5ZjI2ZmNlOTJhNjIzMGFiNmM4NDVlY2JlZGUzMDhjYmUuLjk5YTc5
OTVmMTg3YzE2ZmQxZDc4YTI1M2UyODkzY2RkMzYwN2VkZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHAK
QEAgLTI2NCw3ICsyNjQsNyBAQCBib29sIFN0eWxlUmFyZUluaGVyaXRlZERhdGE6OnNoYWRvd0Rh
dGFFcXVpdmFsZW50KGNvbnN0IFN0eWxlUmFyZUluaGVyaXRlZERhdGEmCiAKIHZvaWQgU3R5bGVS
YXJlSW5oZXJpdGVkRGF0YTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVt
b3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlP
YmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CisgICAgTWVtb3J5
Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVz
OjpDU1MpOwogICAgIGluZm8uYWRkTWVtYmVyKHRleHRTaGFkb3cpOwogICAgIGluZm8uYWRkSW5z
dHJ1bWVudGVkTWVtYmVyKGhpZ2hsaWdodCk7CiAgICAgaW5mby5hZGRNZW1iZXIoY3Vyc29yRGF0
YSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJl
Tm9uSW5oZXJpdGVkRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5
bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAKaW5kZXggZTM4ZDc5NTc4YWJkMWFkZTg3MzZlMGMz
NzVjNzFiOGRmMWM1YzhiMC4uMzM2YzJlYjI5M2EzNWE2N2I1NmU2NWUwNjY3YWU5MGM0ZjhjZjdh
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5v
bkluaGVyaXRlZERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
dHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcApAQCAtMzA0LDcgKzMwNCw3IEBAIGJvb2wgU3R5
bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6dHJhbnNpdGlvbkRhdGFFcXVpdmFsZW50KGNvbnN0IFN0
eWxlUmFyZU5vbkluaGVyCiAKIHZvaWQgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6cmVwb3J0
TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsK
LSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJ
bnN0cnVtZW50YXRpb246OkNTUyk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2Jq
ZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogI2lmIEVOQUJMRShEQVNI
Qk9BUkRfU1VQUE9SVCkKICAgICBpbmZvLmFkZFZlY3RvcihtX2Rhc2hib2FyZFJlZ2lvbnMpOwog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ29sb3IuY3BwIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0NvbG9yLmNwcAppbmRleCAyNTE5MmUxNzA4NDc2OGNjYzk0M2Rm
NjIwZjY3OGU1NGM1MWNlMDZiLi4zY2ZmNDNkYTJmZDk2ZTBmNjBjMTAxODYzYzI4MzUxZWJkOTVk
YWExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ29sb3IuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdDb2xvci5jcHAKQEAgLTEwNyw3ICsxMDcsNyBAQCBQYXNzUmVm
UHRyPFNWR0NvbG9yPiBTVkdDb2xvcjo6Y2xvbmVGb3JDU1NPTSgpIGNvbnN0CiAKIHZvaWQgU1ZH
Q29sb3I6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1v
cnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9i
amVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBNZW1vcnlD
bGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6
OkNTUyk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYWludC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGFpbnQuY3BwCmluZGV4IGJhNzQ0MzU4M2JjMTVk
NDdlOWM0ZjE3YTMwNTRiNzk5ZjI0NjExMTEuLmQ0NTkwZDY3NWI0NjlhOWM2ZWUxNzcwNjk4YjEx
NTNkMTE4NzBmOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYWludC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhaW50LmNwcApAQCAtMTE0LDcgKzExNCw3IEBA
IFBhc3NSZWZQdHI8U1ZHUGFpbnQ+IFNWR1BhaW50OjpjbG9uZUZvckNTU09NKCkgY29uc3QKIAog
dm9pZCBTVkdQYWludDo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdElu
Zm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8o
bWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAg
IE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1v
cnlUeXBlczo6Q1NTKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3VyaSk7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCmluZGV4IGYzNmY5YTg4
ZWU2NDFkODkxYTg2NDI5YzUzYzFlOWZmYTY5NjBmYWYuLjA3ZjY3MjU3ZjAwNTEwYjA5MWY2NmFm
ZjYwMmZjN2U4NGZlZWJjZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGlj
cy9TVkdJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdl
LmNwcApAQCAtMzU3LDcgKzM1Nyw3IEBAIFN0cmluZyBTVkdJbWFnZTo6ZmlsZW5hbWVFeHRlbnNp
b24oKSBjb25zdAogCiB2b2lkIFNWR0ltYWdlOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmpl
Y3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBp
bmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q2FjaGVk
UmVzb3VyY2VJbWFnZSk7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5m
bywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDYWNoZWRSZXNvdXJjZUltYWdlKTsKICAgICBJ
bWFnZTo6cmVwb3J0TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7CiAgICAgaW5mby5hZGRN
ZW1iZXIobV9jaHJvbWVDbGllbnQpOwogICAgIGluZm8uYWRkTWVtYmVyKG1fcGFnZSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL01lbW9yeUluc3RydW1lbnRhdGlv
blRlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9NZW1vcnlJbnN0cnVtZW50
YXRpb25UZXN0LmNwcAppbmRleCAwYWI1NTY3YWRjNzQ3NmVkMjQ5YTQxNmVmZDJlY2MxNjgxZmJk
MDc4Li44ZTZkODE5YThmMGFjMzZmM2RiZDhlZWQzODMxYTA1NjIwZGY2MTJmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL01lbW9yeUluc3RydW1lbnRhdGlvblRlc3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTWVtb3J5SW5zdHJ1bWVudGF0
aW9uVGVzdC5jcHAKQEAgLTU4LDcgKzU4LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lk
IHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNv
bnN0CiAgICAgewotICAgICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZv
LCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkRPTSk7CisgICAgICAgIE1lbW9yeUNsYXNz
SW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6RE9N
KTsKICAgICAgICAgaW5mby5hZGRNZW1iZXIobV9ub3RJbnN0cnVtZW50ZWQpOwogICAgIH0KICAg
ICBOb3RJbnN0cnVtZW50ZWQqIG1fbm90SW5zdHJ1bWVudGVkOwpAQCAtMTIyLDcgKzEyMiw3IEBA
IHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmpl
Y3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogICAgIHsKLSAgICAgICAgTWVtb3J5Q2xh
c3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9u
OjpET00pOworICAgICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0
aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkRPTSk7CiAgICAgICAgIGluZm8uYWRkTWVtYmVyKG1f
bm90SW5zdHJ1bWVudGVkKTsKICAgICB9CiAgICAgTm90SW5zdHJ1bWVudGVkKiBtX25vdEluc3Ry
dW1lbnRlZDsKQEAgLTE1NSw3ICsxNTUsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQg
cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29u
c3QKICAgICB7Ci0gICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8s
IHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICAgICAgTWVtb3J5Q2xhc3NJ
bmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1Mp
OwogICAgICAgICBJbnN0cnVtZW50ZWQ6OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdElu
Zm8pOwogICAgICAgICBpbmZvLmFkZE1lbWJlcihtX25vdEluc3RydW1lbnRlZE93blB0cik7CiAg
ICAgfQpAQCAtMTc4LDcgKzE3OCw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcmVwb3J0TWVtb3J5
VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKICAgICB7Ci0g
ICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9y
eUluc3RydW1lbnRhdGlvbjo6T3RoZXIpOworICAgICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyht
ZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBHZW5lcmljTWVtb3J5VHlwZXM6Ok90aGVyKTsKICAgICB9
CiAgICAgaW50IG1fZGF0YTsKIH07CkBAIC0xODksNyArMTg5LDcgQEAgcHVibGljOgogCiAgICAg
dm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZv
KSBjb25zdAogICAgIHsKLSAgICAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0
SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpET00pOworICAgICAgICBNZW1vcnlD
bGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6
OkRPTSk7CiAgICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1faW5zdHJ1bWVudGVk
T3RoZXIpOwogICAgIH0KICAgICBPd25QdHI8SW5zdHJ1bWVudGVkT3RoZXI+IG1faW5zdHJ1bWVu
dGVkT3RoZXI7CkBAIC0yMDIsNyArMjAyLDcgQEAgVEVTVChNZW1vcnlJbnN0cnVtZW50YXRpb25U
ZXN0LCBvd25lclR5cGVQcm9wYWdhdGlvbikKICAgICBPd25QdHI8SW5zdHJ1bWVudGVkRE9NPiBp
bnN0cnVtZW50ZWRET00oYWRvcHRQdHIobmV3IEluc3RydW1lbnRlZERPTSkpOwogICAgIGltcGwu
YWRkUm9vdE9iamVjdChpbnN0cnVtZW50ZWRET00pOwogICAgIEVYUEVDVF9FUShzaXplb2YoSW5z
dHJ1bWVudGVkRE9NKSArIHNpemVvZihJbnN0cnVtZW50ZWRPdGhlciksIGltcGwucmVwb3J0ZWRT
aXplRm9yQWxsVHlwZXMoKSk7Ci0gICAgRVhQRUNUX0VRKHNpemVvZihJbnN0cnVtZW50ZWRET00p
ICsgc2l6ZW9mKEluc3RydW1lbnRlZE90aGVyKSwgaW1wbC50b3RhbFNpemUoTWVtb3J5SW5zdHJ1
bWVudGF0aW9uOjpET00pKTsKKyAgICBFWFBFQ1RfRVEoc2l6ZW9mKEluc3RydW1lbnRlZERPTSkg
KyBzaXplb2YoSW5zdHJ1bWVudGVkT3RoZXIpLCBpbXBsLnRvdGFsU2l6ZShXZWJDb3JlTWVtb3J5
VHlwZXM6OkRPTSkpOwogICAgIEVYUEVDVF9FUSgyLCB2aXNpdGVkT2JqZWN0cy5zaXplKCkpOwog
fQogCkBAIC0yMTAsNyArMjEwLDcgQEAgY2xhc3MgTm9uVmlydHVhbEluc3RydW1lbnRlZCB7CiBw
dWJsaWM6CiAgICAgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1v
cnlPYmplY3RJbmZvKSBjb25zdAogICAgIHsKLSAgICAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8o
bWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpET00pOworICAg
ICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3Jl
TWVtb3J5VHlwZXM6OkRPTSk7CiAgICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1f
aW5zdHJ1bWVudGVkKTsKICAgICB9CiAK
</data>
<flag name="review"
          id="173295"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>