<?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>140083</bug_id>
          
          <creation_ts>2015-01-05 10:32:56 -0800</creation_ts>
          <short_desc>Change more of the IPC code to take connections by reference</short_desc>
          <delta_ts>2015-01-05 10:38:20 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1058734</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-01-05 10:32:56 -0800</bug_when>
    <thetext>Change more of the IPC code to take connections by reference</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1058735</commentid>
    <comment_count>1</comment_count>
      <attachid>243982</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-01-05 10:33:39 -0800</bug_when>
    <thetext>Created attachment 243982
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1058737</commentid>
    <comment_count>2</comment_count>
      <attachid>243982</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-01-05 10:34:53 -0800</bug_when>
    <thetext>Comment on attachment 243982
Patch

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1058738</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-01-05 10:38:20 -0800</bug_when>
    <thetext>Committed r177917: &lt;http://trac.webkit.org/changeset/177917&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243982</attachid>
            <date>2015-01-05 10:33:39 -0800</date>
            <delta_ts>2015-01-05 10:34:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140083-20150105103343.patch</filename>
            <type>text/plain</type>
            <size>109759</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc3OTE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNTI5Nzg4MDUzMTUwNTg3
OGYwMmI2NDRjZDc0MTZjMDY1ZjhkZjYxOS4uZTU3ZWI1MTI2ZWExM2E1OWE1M2M5YTMwN2Q2YzMw
MzAwYmU2MDE1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE1MyBAQAogMjAxNS0wMS0wNSAgQW5k
ZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCisgICAgICAgIENoYW5nZSBtb3Jl
IG9mIHRoZSBJUEMgY29kZSB0byB0YWtlIGNvbm5lY3Rpb25zIGJ5IHJlZmVyZW5jZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwMDgzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBEYXRhYmFzZVByb2Nl
c3MvRGF0YWJhc2VQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RGF0YWJhc2VQcm9jZXNz
OjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAgICogRGF0YWJhc2VQcm9jZXNzL0RhdGFiYXNl
UHJvY2Vzcy5oOgorICAgICAgICAqIERhdGFiYXNlUHJvY2Vzcy9EYXRhYmFzZVRvV2ViUHJvY2Vz
c0Nvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpEYXRhYmFzZVRvV2ViUHJvY2Vzc0Nv
bm5lY3Rpb246OmRpZFJlY2VpdmVNZXNzYWdlKToKKyAgICAgICAgKFdlYktpdDo6RGF0YWJhc2VU
b1dlYlByb2Nlc3NDb25uZWN0aW9uOjpkaWRSZWNlaXZlU3luY01lc3NhZ2UpOgorICAgICAgICAq
IERhdGFiYXNlUHJvY2Vzcy9EYXRhYmFzZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uaDoKKyAgICAg
ICAgKiBEYXRhYmFzZVByb2Nlc3MvSW5kZXhlZERCL0RhdGFiYXNlUHJvY2Vzc0lEQkNvbm5lY3Rp
b24uaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNz
OjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDb25uZWN0aW9u
VG9XZWJQcm9jZXNzOjpkaWRSZWNlaXZlU3luY01lc3NhZ2UpOgorICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmg6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJv
Y2Vzczo6ZGlkUmVjZWl2ZU1lc3NhZ2UpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vz
czo6ZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUHJvY2Vzcy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxv
YWRlci5oOgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcDoKKyAgICAgICAg
KElQQzo6Q29ubmVjdGlvbjo6ZGlzcGF0Y2hXb3JrUXVldWVNZXNzYWdlUmVjZWl2ZXJNZXNzYWdl
KToKKyAgICAgICAgKElQQzo6Q29ubmVjdGlvbjo6ZGlzcGF0Y2hTeW5jTWVzc2FnZSk6CisgICAg
ICAgIChJUEM6OkNvbm5lY3Rpb246OmRpc3BhdGNoTWVzc2FnZSk6CisgICAgICAgICogUGxhdGZv
cm0vSVBDL0Nvbm5lY3Rpb24uaDoKKyAgICAgICAgKElQQzo6Q29ubmVjdGlvbjo6d2FpdEZvckFu
ZERpc3BhdGNoSW1tZWRpYXRlbHkpOgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9NZXNzYWdlUmVj
ZWl2ZXIuaDoKKyAgICAgICAgKElQQzo6TWVzc2FnZVJlY2VpdmVyOjpkaWRSZWNlaXZlU3luY01l
c3NhZ2UpOgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9NZXNzYWdlUmVjZWl2ZXJNYXAuY3BwOgor
ICAgICAgICAoSVBDOjpNZXNzYWdlUmVjZWl2ZXJNYXA6OmRpc3BhdGNoTWVzc2FnZSk6CisgICAg
ICAgIChJUEM6Ok1lc3NhZ2VSZWNlaXZlck1hcDo6ZGlzcGF0Y2hTeW5jTWVzc2FnZSk6CisgICAg
ICAgICogUGxhdGZvcm0vSVBDL01lc3NhZ2VSZWNlaXZlck1hcC5oOgorICAgICAgICAqIFBsdWdp
blByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5Lmg6CisgICAgICAgICogUGx1Z2luUHJvY2Vz
cy9QbHVnaW5Qcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzczo6ZGlk
UmVjZWl2ZU1lc3NhZ2UpOgorICAgICAgICAqIFBsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5o
OgorICAgICAgICAqIFBsdWdpblByb2Nlc3MvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzQ29ubmVjdGlvbjo6ZGlkUmVjZWl2ZU1lc3NhZ2UpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzQ29ubmVjdGlvbjo6ZGlkUmVjZWl2ZVN5bmNNZXNz
YWdlKToKKyAgICAgICAgKiBQbHVnaW5Qcm9jZXNzL1dlYlByb2Nlc3NDb25uZWN0aW9uLmg6Cisg
ICAgICAgICogU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHk6CisgICAgICAgIChhc3luY19tZXNz
YWdlX3N0YXRlbWVudCk6CisgICAgICAgIChzeW5jX21lc3NhZ2Vfc3RhdGVtZW50KToKKyAgICAg
ICAgKGdlbmVyYXRlX21lc3NhZ2VfaGFuZGxlcik6CisgICAgICAgICogU2hhcmVkL0FQSS9Db2Nv
YS9SZW1vdGVPYmplY3RSZWdpc3RyeS5oOgorICAgICAgICAqIFNoYXJlZC9BdXRoZW50aWNhdGlv
bi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaDoKKyAgICAgICAgKiBTaGFyZWQvQ2hpbGRQcm9jZXNz
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpDaGlsZFByb2Nlc3NQcm94eTo6ZGlzcGF0Y2hN
ZXNzYWdlKToKKyAgICAgICAgKFdlYktpdDo6Q2hpbGRQcm9jZXNzUHJveHk6OmRpc3BhdGNoU3lu
Y01lc3NhZ2UpOgorICAgICAgICAqIFNoYXJlZC9DaGlsZFByb2Nlc3NQcm94eS5oOgorICAgICAg
ICAqIFNoYXJlZC9OZXR3b3JrL0N1c3RvbVByb3RvY29scy9DdXN0b21Qcm90b2NvbE1hbmFnZXIu
aDoKKyAgICAgICAgKiBTaGFyZWQvUGx1Z2lucy9OUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oOgor
ICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL05QUmVtb3RlT2JqZWN0TWFwLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6TlBSZW1vdGVPYmplY3RNYXA6OmRpZFJlY2VpdmVTeW5jTWVzc2FnZSk6CisgICAg
ICAgICogU2hhcmVkL1BsdWdpbnMvTlBSZW1vdGVPYmplY3RNYXAuaDoKKyAgICAgICAgKiBTaGFy
ZWQvV2ViQ29ubmVjdGlvbi5oOgorICAgICAgICAqIFNoYXJlZC9tYWMvU2VjSXRlbVNoaW0uaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvRGF0YWJhc2VzL0RhdGFiYXNlUHJvY2Vzc1Byb3h5LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6RGF0YWJhc2VQcm9jZXNzUHJveHk6OmRpZFJlY2VpdmVNZXNzYWdl
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvRGF0YWJhc2VzL0RhdGFiYXNlUHJvY2Vzc1Byb3h5Lmg6
CisgICAgICAgICogVUlQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZFByb3h5Lmg6CisgICAgICAg
ICogVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvTmV0
d29yay9DdXN0b21Qcm90b2NvbHMvQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6TmV0d29ya1Byb2Nlc3NQcm94eTo6ZGlkUmVjZWl2ZU1lc3NhZ2UpOgorICAgICAg
ICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc1Byb3h5OjpkaWRSZWNlaXZlU3luY01lc3NhZ2UpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlTWFuYWdlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9V
c2VyQ29udGVudC9XZWJVc2VyQ29udGVudENvbnRyb2xsZXJQcm94eS5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9WaXNpdGVkTGlua1Byb3ZpZGVyLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkFw
cGxpY2F0aW9uQ2FjaGVNYW5hZ2VyUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQ29v
a2llTWFuYWdlclByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkRhdGFiYXNlTWFuYWdl
clByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHku
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViR2VvbG9jYXRpb25NYW5hZ2VyUHJveHkuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViSWNvbkRhdGFiYXNlLmg6CisgICAgICAgICogVUlQcm9jZXNz
L1dlYkluc3BlY3RvclByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYk1lZGlhQ2FjaGVN
YW5hZ2VyUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViT3JpZ2luRGF0YU1hbmFnZXJQ
cm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUGFzdGVib2FyZFByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmRpc3BhdGNo
TWVzc2FnZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpkaXNwYXRjaFN5bmNN
ZXNzYWdlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJv
Y2Vzc1Byb3h5OjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nl
c3NQcm94eTo6ZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Byb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlJlc291cmNlQ2FjaGVNYW5h
Z2VyUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1NtYXJ0TWFnbmlmaWNhdGlvbkNv
bnRyb2xsZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dlYlZpZGVvRnVsbHNjcmVlbk1h
bmFnZXJQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJh
d2luZ0FyZWFQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvU2VjSXRlbVNoaW1Qcm94
eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvVmlld0dlc3R1cmVDb250cm9sbGVyLmg6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9BcHBsaWNhdGlvbkNhY2hlL1dlYkFwcGxpY2F0aW9uQ2FjaGVN
YW5hZ2VyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9Db29raWVzL1dlYkNvb2tpZU1hbmFnZXIu
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCU2VydmVy
Q29ubmVjdGlvbi5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvRGF0YWJhc2VzL1dlYlRvRGF0YWJh
c2VQcm9jZXNzQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlRvRGF0YWJhc2VQ
cm9jZXNzQ29ubmVjdGlvbjo6ZGlkUmVjZWl2ZU1lc3NhZ2UpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvRGF0YWJhc2VzL1dlYlRvRGF0YWJhc2VQcm9jZXNzQ29ubmVjdGlvbi5oOgorICAgICAgICAq
IFdlYlByb2Nlc3MvRnVsbFNjcmVlbi9XZWJGdWxsU2NyZWVuTWFuYWdlci5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyOjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9GdWxsU2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyLmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9HZW9sb2NhdGlvbi9XZWJHZW9sb2NhdGlvbk1hbmFnZXIuaDoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0ljb25EYXRhYmFzZS9XZWJJY29uRGF0YWJhc2VQcm94eS5oOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvTWVkaWFDYWNoZS9XZWJNZWRpYUNhY2hlTWFuYWdlci5oOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uY3Bw
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZFJlY2VpdmVN
ZXNzYWdlKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOjpkaWRS
ZWNlaXZlU3luY01lc3NhZ2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9OZXR3b3Jr
UHJvY2Vzc0Nvbm5lY3Rpb24uaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVz
b3VyY2VMb2FkZXIuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90
aWZpY2F0aW9uTWFuYWdlci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvT3JpZ2luRGF0YS9XZWJP
cmlnaW5EYXRhTWFuYWdlci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Q
cm9jZXNzQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblByb2Nlc3NDb25u
ZWN0aW9uOjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblByb2Nl
c3NDb25uZWN0aW9uOjpkaWRSZWNlaXZlU3luY01lc3NhZ2UpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbi5oOgorICAgICAgICAqIFdlYlByb2Nl
c3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1Jl
c291cmNlQ2FjaGUvV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXIuaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1Njcm9sbGluZy9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvci5oOgorICAgICAgICAqIFdl
YlByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlQXJlYU1hcC5oOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
VXNlckNvbnRlbnQvV2ViVXNlckNvbnRlbnRDb250cm9sbGVyLmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEYXRhYmFzZU1hbmFnZXIuaDoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvRXZlbnREaXNwYXRjaGVyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1ZpZXdH
ZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3IuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
Vmlld1VwZGF0ZURpc3BhdGNoZXIuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvVmlz
aXRlZExpbmtUYWJsZUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViSW5zcGVjdG9yLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rv
clVJLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlOjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2U6OmRpZFJlY2VpdmVTeW5jTWVzc2FnZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZUdy
b3VwUHJveHkuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpkaWRSZWNlaXZlU3luY01lc3NhZ2UpOgorICAgICAgICAo
V2ViS2l0OjpXZWJQcm9jZXNzOjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxs
c2NyZWVuTWFuYWdlci5oOgorCisyMDE1LTAxLTA1ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNj
YUBhcHBsZS5jb20+CisKICAgICAgICAgUGFzcyBJUEM6OkNvbm5lY3Rpb24gYnkgcmVmZXJlbmNl
IHRvIElQQyBtZXNzYWdlIGhhbmRsZXJzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNDAwODIKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvRGF0
YWJhc2VQcm9jZXNzL0RhdGFiYXNlUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFz
ZVByb2Nlc3MvRGF0YWJhc2VQcm9jZXNzLmNwcAppbmRleCA2YjE3MzJhNWM4YWU1MzBjMGQxMjIx
NzU2NGQ0OGRlNDcwMGY2NmI0Li4xOTBhNTIzMTgzZDExNzllZDhmMjkxMmIyYmRmNjdmZWM5OGNl
NjQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvRGF0YWJhc2VQ
cm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvRGF0YWJhc2VQ
cm9jZXNzLmNwcApAQCAtODAsNyArODAsNyBAQCB2b2lkIERhdGFiYXNlUHJvY2Vzczo6ZGlkQ2xv
c2UoSVBDOjpDb25uZWN0aW9uJikKICAgICBSdW5Mb29wOjpjdXJyZW50KCkuc3RvcCgpOwogfQog
Ci12b2lkIERhdGFiYXNlUHJvY2Vzczo6ZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9u
KiBjb25uZWN0aW9uLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyKQordm9pZCBEYXRhYmFz
ZVByb2Nlc3M6OmRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwg
SVBDOjpNZXNzYWdlRGVjb2RlciYgZGVjb2RlcikKIHsKICAgICBpZiAobWVzc2FnZVJlY2VpdmVy
TWFwKCkuZGlzcGF0Y2hNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpKQogICAgICAgICByZXR1
cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvRGF0YWJhc2VQ
cm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvRGF0YWJhc2VQcm9jZXNz
LmgKaW5kZXggZTUwOWI3Y2EzY2QxZjM1NDgxMjQwNjg4ZDVhODI1ZjkwODE1Y2RjMi4uYjNhZmYy
ODU5MTU0ZjlmOWRjYjFiMmZhMWI0MDRkYWQ5MTcyNzQ5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvRGF0YWJhc2VQcm9jZXNzL0RhdGFiYXNlUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL0RhdGFiYXNlUHJvY2Vzcy9EYXRhYmFzZVByb2Nlc3MuaApAQCAtNzksMTAgKzc5LDEwIEBA
IHByaXZhdGU6CiAgICAgdmlydHVhbCBib29sIHNob3VsZFRlcm1pbmF0ZSgpIG92ZXJyaWRlOwog
CiAgICAgLy8gSVBDOjpDb25uZWN0aW9uOjpDbGllbnQKLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVj
ZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJy
aWRlOworICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24m
LCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGRpZENs
b3NlKElQQzo6Q29ubmVjdGlvbiYpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNl
aXZlSW52YWxpZE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpTdHJpbmdSZWZlcmVuY2Ug
bWVzc2FnZVJlY2VpdmVyTmFtZSwgSVBDOjpTdHJpbmdSZWZlcmVuY2UgbWVzc2FnZU5hbWUpIG92
ZXJyaWRlOwotICAgIHZvaWQgZGlkUmVjZWl2ZURhdGFiYXNlUHJvY2Vzc01lc3NhZ2UoSVBDOjpD
b25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpOworICAgIHZvaWQgZGlkUmVjZWl2ZURh
dGFiYXNlUHJvY2Vzc01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVjb2Rl
ciYpOwogCiAgICAgLy8gTWVzc2FnZSBIYW5kbGVycwogICAgIHZvaWQgaW5pdGlhbGl6ZURhdGFi
YXNlUHJvY2Vzcyhjb25zdCBEYXRhYmFzZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9EYXRhYmFzZVRvV2ViUHJv
Y2Vzc0Nvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0RhdGFi
YXNlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbi5jcHAKaW5kZXggNjU3ZTcwZDAxMDU2YTZkODA3MjM2
N2I4YmZkM2JjYzNkYWVhMDI1OS4uMjA4MTM0ZjBjMTlhY2Y3MjRlNmIwNWMxMDI2NjU5NDkwOGE2
YWQ4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0RhdGFiYXNl
VG9XZWJQcm9jZXNzQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQ
cm9jZXNzL0RhdGFiYXNlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbi5jcHAKQEAgLTUyLDcgKzUyLDcg
QEAgRGF0YWJhc2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uOjp+RGF0YWJhc2VUb1dlYlByb2Nlc3ND
b25uZWN0aW9uKCkKIAogfQogCi12b2lkIERhdGFiYXNlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbjo6
ZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBJUEM6Ok1lc3Nh
Z2VEZWNvZGVyJiBkZWNvZGVyKQordm9pZCBEYXRhYmFzZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb246
OmRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDOjpNZXNz
YWdlRGVjb2RlciYgZGVjb2RlcikKIHsKICAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJO
YW1lKCkgPT0gTWVzc2FnZXM6OkRhdGFiYXNlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbjo6bWVzc2Fn
ZVJlY2VpdmVyTmFtZSgpKSB7CiAgICAgICAgIGRpZFJlY2VpdmVEYXRhYmFzZVRvV2ViUHJvY2Vz
c0Nvbm5lY3Rpb25NZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOwpAQCAtNjksNyArNjksNyBA
QCB2b2lkIERhdGFiYXNlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbjo6ZGlkUmVjZWl2ZU1lc3NhZ2Uo
SVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQog
Ci12b2lkIERhdGFiYXNlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbjo6ZGlkUmVjZWl2ZVN5bmNNZXNz
YWdlKElQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbiwgSVBDOjpNZXNzYWdlRGVjb2RlciYgZGVj
b2Rlciwgc3RkOjp1bmlxdWVfcHRyPElQQzo6TWVzc2FnZUVuY29kZXI+JiByZXBseSkKK3ZvaWQg
RGF0YWJhc2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uOjpkaWRSZWNlaXZlU3luY01lc3NhZ2UoSVBD
OjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyLCBz
dGQ6OnVuaXF1ZV9wdHI8SVBDOjpNZXNzYWdlRW5jb2Rlcj4mIHJlcGx5KQogewogICAgIGlmIChk
ZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6RGF0YWJhc2VQcm9jZXNz
SURCQ29ubmVjdGlvbjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpKSB7CiAgICAgICAgIElEQkNvbm5l
Y3Rpb25NYXA6Oml0ZXJhdG9yIGJhY2tlbmRJdGVyYXRvciA9IG1faWRiQ29ubmVjdGlvbnMuZmlu
ZChkZWNvZGVyLmRlc3RpbmF0aW9uSUQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9E
YXRhYmFzZVByb2Nlc3MvRGF0YWJhc2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvRGF0YWJhc2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uLmgK
aW5kZXggNDdkYmY0YzU1N2JlYjY5YzIwYzhlYjJkYjRjNWQ5MmFkOGNlN2ZlMi4uMDZmODViZjhk
MDczNWNjNWJlMzhhZjc4MThmMTEwMTRlNjkxYWFiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvRGF0YWJhc2VQcm9jZXNzL0RhdGFiYXNlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbi5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9EYXRhYmFzZVRvV2ViUHJvY2Vzc0Nvbm5l
Y3Rpb24uaApAQCAtNDcsMTEgKzQ3LDExIEBAIHByaXZhdGU6CiAgICAgRGF0YWJhc2VUb1dlYlBy
b2Nlc3NDb25uZWN0aW9uKElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllcik7CiAKICAgICAvLyBJ
UEM6OkNvbm5lY3Rpb246OkNsaWVudAotICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2Fn
ZShJUEM6OkNvbm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgb3ZlcnJpZGU7Ci0gICAg
dmlydHVhbCB2b2lkIGRpZFJlY2VpdmVTeW5jTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qLCBJUEM6
Ok1lc3NhZ2VEZWNvZGVyJiwgc3RkOjp1bmlxdWVfcHRyPElQQzo6TWVzc2FnZUVuY29kZXI+Jikg
b3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVj
dGlvbiYsIElQQzo6TWVzc2FnZURlY29kZXImKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQg
ZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6TWVzc2FnZURlY29k
ZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpNZXNzYWdlRW5jb2Rlcj4mKSBvdmVycmlkZTsKICAg
ICB2aXJ0dWFsIHZvaWQgZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9uJikgb3ZlcnJpZGU7CiAgICAg
dmlydHVhbCB2b2lkIGRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJ
UEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlUmVjZWl2ZXJOYW1lLCBJUEM6OlN0cmluZ1JlZmVy
ZW5jZSBtZXNzYWdlTmFtZSkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBkaWRSZWNlaXZlRGF0YWJhc2VU
b1dlYlByb2Nlc3NDb25uZWN0aW9uTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qLCBJUEM6Ok1lc3Nh
Z2VEZWNvZGVyJik7CisgICAgdm9pZCBkaWRSZWNlaXZlRGF0YWJhc2VUb1dlYlByb2Nlc3NDb25u
ZWN0aW9uTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAK
ICAgICAvLyBJUEM6Ok1lc3NhZ2VTZW5kZXIKICAgICB2aXJ0dWFsIElQQzo6Q29ubmVjdGlvbiog
bWVzc2FnZVNlbmRlckNvbm5lY3Rpb24oKSBvdmVycmlkZSB7IHJldHVybiBtX2Nvbm5lY3Rpb24u
Z2V0KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9JbmRl
eGVkREIvRGF0YWJhc2VQcm9jZXNzSURCQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdDIvRGF0
YWJhc2VQcm9jZXNzL0luZGV4ZWREQi9EYXRhYmFzZVByb2Nlc3NJREJDb25uZWN0aW9uLmgKaW5k
ZXggZWUyZGVlNTA4MDdjNDZkMGZlNGEzMjgwNzdjZjMxMTBmZjI0M2JiMi4uYjgwMTQwYjA2NzY0
MzhhN2QxNmIyNTFmNWEwZTI5ZGNjMjg1M2NmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
RGF0YWJhc2VQcm9jZXNzL0luZGV4ZWREQi9EYXRhYmFzZVByb2Nlc3NJREJDb25uZWN0aW9uLmgK
KysrIGIvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0luZGV4ZWREQi9EYXRhYmFzZVBy
b2Nlc3NJREJDb25uZWN0aW9uLmgKQEAgLTU1LDggKzU1LDggQEAgcHVibGljOgogICAgIHZpcnR1
YWwgfkRhdGFiYXNlUHJvY2Vzc0lEQkNvbm5lY3Rpb24oKTsKIAogICAgIC8vIE1lc3NhZ2UgaGFu
ZGxlcnMuCi0gICAgdm9pZCBkaWRSZWNlaXZlRGF0YWJhc2VQcm9jZXNzSURCQ29ubmVjdGlvbk1l
c3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpOwotICAgIHZvaWQg
ZGlkUmVjZWl2ZVN5bmNEYXRhYmFzZVByb2Nlc3NJREJDb25uZWN0aW9uTWVzc2FnZShJUEM6OkNv
bm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJiwgc3RkOjp1bmlxdWVfcHRyPElQQzo6TWVz
c2FnZUVuY29kZXI+Jik7CisgICAgdm9pZCBkaWRSZWNlaXZlRGF0YWJhc2VQcm9jZXNzSURCQ29u
bmVjdGlvbk1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpOwor
ICAgIHZvaWQgZGlkUmVjZWl2ZVN5bmNEYXRhYmFzZVByb2Nlc3NJREJDb25uZWN0aW9uTWVzc2Fn
ZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJiwgc3RkOjp1bmlxdWVfcHRy
PElQQzo6TWVzc2FnZUVuY29kZXI+Jik7CiAKICAgICB2b2lkIGRpc2Nvbm5lY3RlZEZyb21XZWJQ
cm9jZXNzKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAppbmRleCA0OGEzMjlhMGE5
YzFkYTc1ZTczYWY2YWE4YTZlZjdiYWFmNjY5NWRlLi5iYjBhOGYxNjY5Y2UzOGI2MGVkZDNkOTFl
YWNjOTY3NGZiM2M5ZDkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCkBAIC02OSw3
ICs2OSw3IEBAIHZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZENsZWFudXBS
ZXNvdXJjZUxvYWRlcihOZXR3b3JrUmVzb3VyY2VMb2FkCiAgICAgQVNTRVJUKHJlbW92ZWRMb2Fk
ZXIgPT0gJmxvYWRlcik7CiB9CiAgICAgCi12b2lkIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzOjpkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIElQQzo6
TWVzc2FnZURlY29kZXImIGRlY29kZXIpCit2b2lkIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzOjpkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIElQQzo6
TWVzc2FnZURlY29kZXImIGRlY29kZXIpCiB7CiAgICAgaWYgKGRlY29kZXIubWVzc2FnZVJlY2Vp
dmVyTmFtZSgpID09IE1lc3NhZ2VzOjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6bWVz
c2FnZVJlY2VpdmVyTmFtZSgpKSB7CiAgICAgICAgIGRpZFJlY2VpdmVOZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2Vzc01lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7CkBAIC04Niw3ICs4Niw3
IEBAIHZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZFJlY2VpdmVNZXNzYWdl
KElQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9
CiAKLXZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZFJlY2VpdmVTeW5jTWVz
c2FnZShJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIElQQzo6TWVzc2FnZURlY29kZXImIGRl
Y29kZXIsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6Ok1lc3NhZ2VFbmNvZGVyPiYgcmVwbHkpCit2b2lk
IE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpkaWRSZWNlaXZlU3luY01lc3NhZ2UoSVBD
OjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyLCBz
dGQ6OnVuaXF1ZV9wdHI8SVBDOjpNZXNzYWdlRW5jb2Rlcj4mIHJlcGx5KQogewogICAgIGlmIChk
ZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rp
b25Ub1dlYlByb2Nlc3M6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkgewogICAgICAgICBkaWRSZWNl
aXZlU3luY05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZShjb25uZWN0aW9uLCBk
ZWNvZGVyLCByZXBseSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaAppbmRleCAxZmRhNGZhYzIw
YTM4ZTU5MzcxZDg0OGM4NGQ1MTE5ZDY1ZmJkNTU4Li4wNmNjODhlMTRiMjc3MWUyNmE1NDVmOTA3
YWZkODU5Y2QzOTczZmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKQEAgLTYxLDE0ICs2
MSwxNCBAQCBwcml2YXRlOgogICAgIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzKElQQzo6
Q29ubmVjdGlvbjo6SWRlbnRpZmllcik7CiAKICAgICAvLyBJUEM6OkNvbm5lY3Rpb246OkNsaWVu
dAotICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qLCBJ
UEM6Ok1lc3NhZ2VEZWNvZGVyJik7Ci0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVTeW5jTWVz
c2FnZShJUEM6OkNvbm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJiwgc3RkOjp1bmlxdWVf
cHRyPElQQzo6TWVzc2FnZUVuY29kZXI+Jik7CisgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVN
ZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6TWVzc2FnZURlY29kZXImKTsKKyAgICB2aXJ0
dWFsIHZvaWQgZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6TWVz
c2FnZURlY29kZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpNZXNzYWdlRW5jb2Rlcj4mKTsKICAg
ICB2aXJ0dWFsIHZvaWQgZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9uJik7CiAgICAgdmlydHVhbCB2
b2lkIGRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OlN0cmlu
Z1JlZmVyZW5jZSBtZXNzYWdlUmVjZWl2ZXJOYW1lLCBJUEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNz
YWdlTmFtZSk7CiAKICAgICAvLyBNZXNzYWdlIGhhbmRsZXJzLgotICAgIHZvaWQgZGlkUmVjZWl2
ZU5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qLCBJ
UEM6Ok1lc3NhZ2VEZWNvZGVyJik7Ci0gICAgdm9pZCBkaWRSZWNlaXZlU3luY05ldHdvcmtDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VE
ZWNvZGVyJiwgc3RkOjp1bmlxdWVfcHRyPElQQzo6TWVzc2FnZUVuY29kZXI+Jik7CisgICAgdm9p
ZCBkaWRSZWNlaXZlTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3NNZXNzYWdlKElQQzo6Q29u
bmVjdGlvbiYsIElQQzo6TWVzc2FnZURlY29kZXImKTsKKyAgICB2b2lkIGRpZFJlY2VpdmVTeW5j
TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3NNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQ
Qzo6TWVzc2FnZURlY29kZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpNZXNzYWdlRW5jb2Rlcj4m
KTsKICAgICAKICAgICB2b2lkIHNjaGVkdWxlUmVzb3VyY2VMb2FkKGNvbnN0IE5ldHdvcmtSZXNv
dXJjZUxvYWRQYXJhbWV0ZXJzJik7CiAgICAgdm9pZCBwZXJmb3JtU3luY2hyb25vdXNMb2FkKGNv
bnN0IE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJiwgUGFzc1JlZlB0cjxNZXNzYWdlczo6
TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OlBlcmZvcm1TeW5jaHJvbm91c0xvYWQ6OkRl
bGF5ZWRSZXBseT4pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Byb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Byb2Nlc3MuY3BwCmluZGV4IGQ2YmJjYjIyM2E3ZWZhY2E5ZDdmYmYxMzljNDkyYzY2OWNjZTY1
ZDMuLjkwOWFmMGU2MDc2Y2EyNWRlZGNhOTRiZDlhZTg0NTRiNTVjZTk0OWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKQEAgLTExMSw3
ICsxMTEsNyBAQCBib29sIE5ldHdvcmtQcm9jZXNzOjpzaG91bGRUZXJtaW5hdGUoKQogICAgIHJl
dHVybiBmYWxzZTsKIH0KIAotdm9pZCBOZXR3b3JrUHJvY2Vzczo6ZGlkUmVjZWl2ZU1lc3NhZ2Uo
SVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVy
KQordm9pZCBOZXR3b3JrUHJvY2Vzczo6ZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9u
JiBjb25uZWN0aW9uLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyKQogewogICAgIGlmICht
ZXNzYWdlUmVjZWl2ZXJNYXAoKS5kaXNwYXRjaE1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcikp
CiAgICAgICAgIHJldHVybjsKQEAgLTExOSw3ICsxMTksNyBAQCB2b2lkIE5ldHdvcmtQcm9jZXNz
OjpkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIElQQzo6TWVz
c2FnZQogICAgIGRpZFJlY2VpdmVOZXR3b3JrUHJvY2Vzc01lc3NhZ2UoY29ubmVjdGlvbiwgZGVj
b2Rlcik7CiB9CiAKLXZvaWQgTmV0d29ya1Byb2Nlc3M6OmRpZFJlY2VpdmVTeW5jTWVzc2FnZShJ
UEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIElQQzo6TWVzc2FnZURlY29kZXImIGRlY29kZXIs
IHN0ZDo6dW5pcXVlX3B0cjxJUEM6Ok1lc3NhZ2VFbmNvZGVyPiYgcmVwbHlFbmNvZGVyKQordm9p
ZCBOZXR3b3JrUHJvY2Vzczo6ZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYg
Y29ubmVjdGlvbiwgSVBDOjpNZXNzYWdlRGVjb2RlciYgZGVjb2Rlciwgc3RkOjp1bmlxdWVfcHRy
PElQQzo6TWVzc2FnZUVuY29kZXI+JiByZXBseUVuY29kZXIpCiB7CiAgICAgbWVzc2FnZVJlY2Vp
dmVyTWFwKCkuZGlzcGF0Y2hTeW5jTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyLCByZXBseUVu
Y29kZXIpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Byb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9j
ZXNzLmgKaW5kZXggNWI0OWFkNDVhMjQzY2YzMTI1ZWJmMWU1OWE0ZGQ4ZjU0NjBkNjY0MS4uYjlk
Y2M2YmY4N2RjN2I1ODVlZmY2NDljOGEwOTg2NmM3Y2QyYWYwYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCkBAIC05NSw4ICs5NSw4IEBAIHBy
aXZhdGU6CiAgICAgdmlydHVhbCBib29sIHNob3VsZFRlcm1pbmF0ZSgpIG92ZXJyaWRlOwogCiAg
ICAgLy8gSVBDOjpDb25uZWN0aW9uOjpDbGllbnQKLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2
ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRl
OwotICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlU3luY01lc3NhZ2UoSVBDOjpDb25uZWN0aW9u
KiwgSVBDOjpNZXNzYWdlRGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6Ok1lc3NhZ2VFbmNv
ZGVyPiYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6
OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgb3ZlcnJpZGU7CisgICAgdmlydHVh
bCB2b2lkIGRpZFJlY2VpdmVTeW5jTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3Nh
Z2VEZWNvZGVyJiwgc3RkOjp1bmlxdWVfcHRyPElQQzo6TWVzc2FnZUVuY29kZXI+Jikgb3ZlcnJp
ZGU7CiAgICAgdmlydHVhbCB2b2lkIGRpZENsb3NlKElQQzo6Q29ubmVjdGlvbiYpIG92ZXJyaWRl
OwogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UoSVBDOjpDb25uZWN0
aW9uJiwgSVBDOjpTdHJpbmdSZWZlcmVuY2UgbWVzc2FnZVJlY2VpdmVyTmFtZSwgSVBDOjpTdHJp
bmdSZWZlcmVuY2UgbWVzc2FnZU5hbWUpIG92ZXJyaWRlOwogCkBAIC0xMDcsNyArMTA3LDcgQEAg
cHJpdmF0ZToKICAgICB2aXJ0dWFsIEF1dGhlbnRpY2F0aW9uTWFuYWdlciYgZG93bmxvYWRzQXV0
aGVudGljYXRpb25NYW5hZ2VyKCkgb3ZlcnJpZGU7CiAKICAgICAvLyBNZXNzYWdlIEhhbmRsZXJz
Ci0gICAgdm9pZCBkaWRSZWNlaXZlTmV0d29ya1Byb2Nlc3NNZXNzYWdlKElQQzo6Q29ubmVjdGlv
biosIElQQzo6TWVzc2FnZURlY29kZXImKTsKKyAgICB2b2lkIGRpZFJlY2VpdmVOZXR3b3JrUHJv
Y2Vzc01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAg
IHZvaWQgaW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNzKGNvbnN0IE5ldHdvcmtQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzJik7CiAgICAgdm9pZCBjcmVhdGVOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2VzcygpOwogICAgIHZvaWQgZW5zdXJlUHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbihXZWJDb3JlOjpT
ZXNzaW9uSUQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Jlc291cmNlTG9hZGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUmVzb3VyY2VMb2FkZXIuaAppbmRleCA5Yzk5N2MzYjQ5MjFmMTdmMTMzYTJlMzFiNDQwNDk5
ZDliM2M4MTBhLi4xZWNlYjI0MzlhMmY4YThmZmI0Mzc2MWRjYjkwN2JhNjMxZjU1NjIyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2Fk
ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VM
b2FkZXIuaApAQCAtODksNyArODksNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHNpemVfdCBmaWxl
QmFja2VkUmVzb3VyY2VNaW5pbXVtU2l6ZSgpOwogI2VuZGlmCiAgICAgLy8gTWVzc2FnZSBoYW5k
bGVycy4KLSAgICB2b2lkIGRpZFJlY2VpdmVOZXR3b3JrUmVzb3VyY2VMb2FkZXJNZXNzYWdlKElQ
Qzo6Q29ubmVjdGlvbiosIElQQzo6TWVzc2FnZURlY29kZXImKTsKKyAgICB2b2lkIGRpZFJlY2Vp
dmVOZXR3b3JrUmVzb3VyY2VMb2FkZXJNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6TWVz
c2FnZURlY29kZXImKTsKIAogI2lmIFBMQVRGT1JNKElPUykgfHwgKFBMQVRGT1JNKE1BQykgJiYg
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDkwKQogICAgIHN0YXRpYyB2b2lk
IHRyeUdldFNoYXJlYWJsZUhhbmRsZUZyb21DRlVSTENhY2hlZFJlc3BvbnNlKFNoYXJlYWJsZVJl
c291cmNlOjpIYW5kbGUmLCBDRkNhY2hlZFVSTFJlc3BvbnNlUmVmKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcAppbmRleCBlNjM1Yzg2ZDA3NzgxNGZjZjVlOGQx
NzQ5NGMwNzY4NzNjYTg0MTI1Li42NjA5NzQ5ZDkwM2VhMGE3NzkwNWJhMWY1MzkxZGQ4N2UyNjI5
MTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3BwCkBAIC0z
MDEsNyArMzAxLDcgQEAgdm9pZCBDb25uZWN0aW9uOjpkaXNwYXRjaFdvcmtRdWV1ZU1lc3NhZ2VS
ZWNlaXZlck1lc3NhZ2UoV29ya1F1ZXVlTWVzc2FnZVJlY2VpdmUKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8TWVzc2FnZURlY29kZXI+IGRlY29kZXIoaW5jb21pbmdNZXNzYWdlRGVjb2Rlcik7CiAKICAg
ICBpZiAoIWRlY29kZXItPmlzU3luY01lc3NhZ2UoKSkgewotICAgICAgICB3b3JrUXVldWVNZXNz
YWdlUmVjZWl2ZXItPmRpZFJlY2VpdmVNZXNzYWdlKHRoaXMsICpkZWNvZGVyKTsKKyAgICAgICAg
d29ya1F1ZXVlTWVzc2FnZVJlY2VpdmVyLT5kaWRSZWNlaXZlTWVzc2FnZSgqdGhpcywgKmRlY29k
ZXIpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0zMTYsNyArMzE2LDcgQEAgdm9pZCBD
b25uZWN0aW9uOjpkaXNwYXRjaFdvcmtRdWV1ZU1lc3NhZ2VSZWNlaXZlck1lc3NhZ2UoV29ya1F1
ZXVlTWVzc2FnZVJlY2VpdmUKICAgICBhdXRvIHJlcGx5RW5jb2RlciA9IHN0ZDo6bWFrZV91bmlx
dWU8TWVzc2FnZUVuY29kZXI+KCJJUEMiLCAiU3luY01lc3NhZ2VSZXBseSIsIHN5bmNSZXF1ZXN0
SUQpOwogCiAgICAgLy8gSGFuZCBvZmYgYm90aCB0aGUgZGVjb2RlciBhbmQgZW5jb2RlciB0byB0
aGUgd29yayBxdWV1ZSBtZXNzYWdlIHJlY2VpdmVyLgotICAgIHdvcmtRdWV1ZU1lc3NhZ2VSZWNl
aXZlci0+ZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKHRoaXMsICpkZWNvZGVyLCByZXBseUVuY29kZXIp
OworICAgIHdvcmtRdWV1ZU1lc3NhZ2VSZWNlaXZlci0+ZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKCp0
aGlzLCAqZGVjb2RlciwgcmVwbHlFbmNvZGVyKTsKIAogICAgIC8vIEZJWE1FOiBJZiB0aGUgbWVz
c2FnZSB3YXMgaW52YWxpZCwgd2Ugc2hvdWxkIHNlbmQgYmFjayBhIFN5bmNNZXNzYWdlRXJyb3Iu
CiAgICAgQVNTRVJUKCFkZWNvZGVyLT5pc0ludmFsaWQoKSk7CkBAIC03NjcsNyArNzY3LDcgQEAg
dm9pZCBDb25uZWN0aW9uOjpkaXNwYXRjaFN5bmNNZXNzYWdlKE1lc3NhZ2VEZWNvZGVyJiBkZWNv
ZGVyKQogICAgIGF1dG8gcmVwbHlFbmNvZGVyID0gc3RkOjptYWtlX3VuaXF1ZTxNZXNzYWdlRW5j
b2Rlcj4oIklQQyIsICJTeW5jTWVzc2FnZVJlcGx5Iiwgc3luY1JlcXVlc3RJRCk7CiAKICAgICAv
LyBIYW5kIG9mZiBib3RoIHRoZSBkZWNvZGVyIGFuZCBlbmNvZGVyIHRvIHRoZSBjbGllbnQuCi0g
ICAgbV9jbGllbnQtPmRpZFJlY2VpdmVTeW5jTWVzc2FnZSh0aGlzLCBkZWNvZGVyLCByZXBseUVu
Y29kZXIpOworICAgIG1fY2xpZW50LT5kaWRSZWNlaXZlU3luY01lc3NhZ2UoKnRoaXMsIGRlY29k
ZXIsIHJlcGx5RW5jb2Rlcik7CiAKICAgICAvLyBGSVhNRTogSWYgdGhlIG1lc3NhZ2Ugd2FzIGlu
dmFsaWQsIHdlIHNob3VsZCBzZW5kIGJhY2sgYSBTeW5jTWVzc2FnZUVycm9yLgogICAgIEFTU0VS
VCghZGVjb2Rlci5pc0ludmFsaWQoKSk7CkBAIC04MDYsNyArODA2LDcgQEAgdm9pZCBDb25uZWN0
aW9uOjplbnF1ZXVlSW5jb21pbmdNZXNzYWdlKHN0ZDo6dW5pcXVlX3B0cjxNZXNzYWdlRGVjb2Rl
cj4gaW5jb21pbmcKIAogdm9pZCBDb25uZWN0aW9uOjpkaXNwYXRjaE1lc3NhZ2UoTWVzc2FnZURl
Y29kZXImIGRlY29kZXIpCiB7Ci0gICAgbV9jbGllbnQtPmRpZFJlY2VpdmVNZXNzYWdlKHRoaXMs
IGRlY29kZXIpOworICAgIG1fY2xpZW50LT5kaWRSZWNlaXZlTWVzc2FnZSgqdGhpcywgZGVjb2Rl
cik7CiB9CiAKIHZvaWQgQ29ubmVjdGlvbjo6ZGlzcGF0Y2hNZXNzYWdlKHN0ZDo6dW5pcXVlX3B0
cjxNZXNzYWdlRGVjb2Rlcj4gbWVzc2FnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtL0lQQy9Db25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQ29u
bmVjdGlvbi5oCmluZGV4IGUxNDZlYzY2NmQ3ODhlOWUyM2I4NGRmY2Q5OTBlMWM2YzM4NjBkMjku
LjQ0OGE3ZTZkYzc0Y2M0YWNkNGJjNjA2Zjg2OTY4NjY1NWRiMWZiMjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktp
dDIvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaApAQCAtMzcxLDcgKzM3MSw3IEBAIHRlbXBsYXRl
PHR5cGVuYW1lIFQ+IGJvb2wgQ29ubmVjdGlvbjo6d2FpdEZvckFuZERpc3BhdGNoSW1tZWRpYXRl
bHkodWludDY0X3QgZGVzCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIEFTU0VSVChkZWNv
ZGVyLT5kZXN0aW5hdGlvbklEKCkgPT0gZGVzdGluYXRpb25JRCk7Ci0gICAgbV9jbGllbnQtPmRp
ZFJlY2VpdmVNZXNzYWdlKHRoaXMsICpkZWNvZGVyKTsKKyAgICBtX2NsaWVudC0+ZGlkUmVjZWl2
ZU1lc3NhZ2UoKnRoaXMsICpkZWNvZGVyKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL01lc3NhZ2VSZWNlaXZlci5oIGIvU291
cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL01lc3NhZ2VSZWNlaXZlci5oCmluZGV4IDUxNGFiNGVl
Mzc4NWJiZDA2MmVmZTQ3MDdiNWQyNmY2ZTQ3OWI0ZWMuLmQxOGI5MjIxZDM4ZTg0Y2QxOWNjZjRk
NDJkNDhmNmFhMmM2ZTEwNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQ
Qy9NZXNzYWdlUmVjZWl2ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvTWVz
c2FnZVJlY2VpdmVyLmgKQEAgLTM4LDggKzM4LDggQEAgY2xhc3MgTWVzc2FnZVJlY2VpdmVyIHsK
IHB1YmxpYzoKICAgICB2aXJ0dWFsIH5NZXNzYWdlUmVjZWl2ZXIoKSB7IH0KIAotICAgIHZpcnR1
YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShDb25uZWN0aW9uKiwgTWVzc2FnZURlY29kZXImKSA9
IDA7Ci0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVTeW5jTWVzc2FnZShDb25uZWN0aW9uKiwg
TWVzc2FnZURlY29kZXImLCBzdGQ6OnVuaXF1ZV9wdHI8TWVzc2FnZUVuY29kZXI+JikKKyAgICB2
aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29ubmVjdGlvbiYsIE1lc3NhZ2VEZWNvZGVy
JikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlU3luY01lc3NhZ2UoQ29ubmVjdGlv
biYsIE1lc3NhZ2VEZWNvZGVyJiwgc3RkOjp1bmlxdWVfcHRyPE1lc3NhZ2VFbmNvZGVyPiYpCiAg
ICAgewogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvTWVzc2FnZVJlY2VpdmVyTWFwLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9NZXNzYWdlUmVjZWl2ZXJNYXAuY3BwCmluZGV4IGRhNmQ3
YzViM2ViZGI1N2ZiMWQ1OGIxY2NiNWZhNTBjYWU4MDY1ZGUuLmNhZTY1ODJlNjIzYWNhNmE4YzFi
YzgzYjY4MTJjNzMzNzI4ODU5ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
L0lQQy9NZXNzYWdlUmVjZWl2ZXJNYXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
L0lQQy9NZXNzYWdlUmVjZWl2ZXJNYXAuY3BwCkBAIC03NCw3ICs3NCw3IEBAIHZvaWQgTWVzc2Fn
ZVJlY2VpdmVyTWFwOjppbnZhbGlkYXRlKCkKICAgICBtX21lc3NhZ2VSZWNlaXZlcnMuY2xlYXIo
KTsKIH0KIAotYm9vbCBNZXNzYWdlUmVjZWl2ZXJNYXA6OmRpc3BhdGNoTWVzc2FnZShDb25uZWN0
aW9uKiBjb25uZWN0aW9uLCBNZXNzYWdlRGVjb2RlciYgZGVjb2RlcikKK2Jvb2wgTWVzc2FnZVJl
Y2VpdmVyTWFwOjpkaXNwYXRjaE1lc3NhZ2UoQ29ubmVjdGlvbiYgY29ubmVjdGlvbiwgTWVzc2Fn
ZURlY29kZXImIGRlY29kZXIpCiB7CiAgICAgaWYgKE1lc3NhZ2VSZWNlaXZlciogbWVzc2FnZVJl
Y2VpdmVyID0gbV9nbG9iYWxNZXNzYWdlUmVjZWl2ZXJzLmdldChkZWNvZGVyLm1lc3NhZ2VSZWNl
aXZlck5hbWUoKSkpIHsKICAgICAgICAgQVNTRVJUKCFkZWNvZGVyLmRlc3RpbmF0aW9uSUQoKSk7
CkBAIC05MSw3ICs5MSw3IEBAIGJvb2wgTWVzc2FnZVJlY2VpdmVyTWFwOjpkaXNwYXRjaE1lc3Nh
Z2UoQ29ubmVjdGlvbiogY29ubmVjdGlvbiwgTWVzc2FnZURlY29kZXImCiAgICAgcmV0dXJuIGZh
bHNlOwogfQogCi1ib29sIE1lc3NhZ2VSZWNlaXZlck1hcDo6ZGlzcGF0Y2hTeW5jTWVzc2FnZShD
b25uZWN0aW9uKiBjb25uZWN0aW9uLCBNZXNzYWdlRGVjb2RlciYgZGVjb2Rlciwgc3RkOjp1bmlx
dWVfcHRyPE1lc3NhZ2VFbmNvZGVyPiYgcmVwbHlFbmNvZGVyKQorYm9vbCBNZXNzYWdlUmVjZWl2
ZXJNYXA6OmRpc3BhdGNoU3luY01lc3NhZ2UoQ29ubmVjdGlvbiYgY29ubmVjdGlvbiwgTWVzc2Fn
ZURlY29kZXImIGRlY29kZXIsIHN0ZDo6dW5pcXVlX3B0cjxNZXNzYWdlRW5jb2Rlcj4mIHJlcGx5
RW5jb2RlcikKIHsKICAgICBpZiAoTWVzc2FnZVJlY2VpdmVyKiBtZXNzYWdlUmVjZWl2ZXIgPSBt
X2dsb2JhbE1lc3NhZ2VSZWNlaXZlcnMuZ2V0KGRlY29kZXIubWVzc2FnZVJlY2VpdmVyTmFtZSgp
KSkgewogICAgICAgICBBU1NFUlQoIWRlY29kZXIuZGVzdGluYXRpb25JRCgpKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9NZXNzYWdlUmVjZWl2ZXJNYXAuaCBiL1Nv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9NZXNzYWdlUmVjZWl2ZXJNYXAuaAppbmRleCBiMDBk
MzY0NmRlMzZjMzdkNjU3ZGFmNTM1MzM4ZjQ1OWFmNGY5MjEyLi5hYjY2MDNmZDFhOTgzYmUwM2Jm
MTU5NWJkZDViMmVlMmY0ZTcyNTBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bS9JUEMvTWVzc2FnZVJlY2VpdmVyTWFwLmgKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0v
SVBDL01lc3NhZ2VSZWNlaXZlck1hcC5oCkBAIC01MCw4ICs1MCw4IEBAIHB1YmxpYzoKIAogICAg
IHZvaWQgaW52YWxpZGF0ZSgpOwogCi0gICAgYm9vbCBkaXNwYXRjaE1lc3NhZ2UoQ29ubmVjdGlv
biosIE1lc3NhZ2VEZWNvZGVyJik7Ci0gICAgYm9vbCBkaXNwYXRjaFN5bmNNZXNzYWdlKENvbm5l
Y3Rpb24qLCBNZXNzYWdlRGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxNZXNzYWdlRW5jb2Rlcj4m
KTsKKyAgICBib29sIGRpc3BhdGNoTWVzc2FnZShDb25uZWN0aW9uJiwgTWVzc2FnZURlY29kZXIm
KTsKKyAgICBib29sIGRpc3BhdGNoU3luY01lc3NhZ2UoQ29ubmVjdGlvbiYsIE1lc3NhZ2VEZWNv
ZGVyJiwgc3RkOjp1bmlxdWVfcHRyPE1lc3NhZ2VFbmNvZGVyPiYpOwogCiBwcml2YXRlOgogICAg
IC8vIE1lc3NhZ2UgcmVjZWl2ZXJzIHRoYXQgZG9uJ3QgcmVxdWlyZSBhIGRlc3RpbmF0aW9uIElE
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9s
bGVyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxl
clByb3h5LmgKaW5kZXggMjNmMTQ3NTBhMzkxMzc4N2Y5MDBkNzk4MWRmYzc5NmE4MmJlZWIyNy4u
MDIzZmYwNzJhODJjMWI4MmFkMTJkODg4MGVkMmRhODJiM2YzNGJlNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5oCkBAIC02
Miw4ICs2Miw4IEBAIHB1YmxpYzoKICAgICBib29sIGluaXRpYWxpemUoY29uc3QgUGx1Z2luQ3Jl
YXRpb25QYXJhbWV0ZXJzJik7CiAgICAgdm9pZCBkZXN0cm95KCk7CiAKLSAgICB2b2lkIGRpZFJl
Y2VpdmVQbHVnaW5Db250cm9sbGVyUHJveHlNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6
TWVzc2FnZURlY29kZXImKTsKLSAgICB2b2lkIGRpZFJlY2VpdmVTeW5jUGx1Z2luQ29udHJvbGxl
clByb3h5TWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJiwgc3Rk
Ojp1bmlxdWVfcHRyPElQQzo6TWVzc2FnZUVuY29kZXI+Jik7CisgICAgdm9pZCBkaWRSZWNlaXZl
UGx1Z2luQ29udHJvbGxlclByb3h5TWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3Nh
Z2VEZWNvZGVyJik7CisgICAgdm9pZCBkaWRSZWNlaXZlU3luY1BsdWdpbkNvbnRyb2xsZXJQcm94
eU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVjb2RlciYsIHN0ZDo6dW5p
cXVlX3B0cjxJUEM6Ok1lc3NhZ2VFbmNvZGVyPiYpOwogCiAgICAgYm9vbCB3YW50c1doZWVsRXZl
bnRzKCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3Mv
UGx1Z2luUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblBy
b2Nlc3MuY3BwCmluZGV4IGY2NDRlOGI0YTNkOGIyMzRkMWFhOTRmMDE3ZTU0MjQ0OWI0ZjQ5M2Yu
LjU3YTY2YTA3NWIyN2Q5NjEzNDlkZGVhZWZiYjRjNzIyMmNhZTM2MmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcApAQCAtMTIwLDcgKzEyMCw3
IEBAIGJvb2wgUGx1Z2luUHJvY2Vzczo6c2hvdWxkVGVybWluYXRlKCkKICAgICByZXR1cm4gbV93
ZWJQcm9jZXNzQ29ubmVjdGlvbnMuaXNFbXB0eSgpOwogfQogCi12b2lkIFBsdWdpblByb2Nlc3M6
OmRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbiwgSVBDOjpNZXNz
YWdlRGVjb2RlciYgZGVjb2RlcikKK3ZvaWQgUGx1Z2luUHJvY2Vzczo6ZGlkUmVjZWl2ZU1lc3Nh
Z2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNv
ZGVyKQogewogICAgIGRpZFJlY2VpdmVQbHVnaW5Qcm9jZXNzTWVzc2FnZShjb25uZWN0aW9uLCBk
ZWNvZGVyKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1
Z2luUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNz
LmgKaW5kZXggODg5YmIzZmYzNGMyOTk2NTRmYTJmOTRlMzEyNTc0YzExNmE3NWNkMS4uM2RmMmQ4
MjUzNjlkMGU4NGYxYTdjMDEzYzBiYWQxYTJhYjE4MDdkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIv
UGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKQEAgLTg4LDEyICs4OCwxMiBAQCBwcml2YXRl
OgogI2VuZGlmCiAKICAgICAvLyBJUEM6OkNvbm5lY3Rpb246OkNsaWVudAotICAgIHZpcnR1YWwg
dm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNv
ZGVyJikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6
Q29ubmVjdGlvbiYsIElQQzo6TWVzc2FnZURlY29kZXImKSBvdmVycmlkZTsKICAgICB2aXJ0dWFs
IHZvaWQgZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9uJikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2
b2lkIGRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OlN0cmlu
Z1JlZmVyZW5jZSBtZXNzYWdlUmVjZWl2ZXJOYW1lLCBJUEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNz
YWdlTmFtZSkgb3ZlcnJpZGU7CiAKICAgICAvLyBNZXNzYWdlIGhhbmRsZXJzLgotICAgIHZvaWQg
ZGlkUmVjZWl2ZVBsdWdpblByb2Nlc3NNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6TWVz
c2FnZURlY29kZXImKTsKKyAgICB2b2lkIGRpZFJlY2VpdmVQbHVnaW5Qcm9jZXNzTWVzc2FnZShJ
UEM6OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAgdm9pZCBpbml0aWFs
aXplUGx1Z2luUHJvY2VzcyhQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiYpOwogICAg
IHZvaWQgY3JlYXRlV2ViUHJvY2Vzc0Nvbm5lY3Rpb24oKTsKICAgICB2b2lkIGdldFNpdGVzV2l0
aERhdGEodWludDY0X3QgY2FsbGJhY2tJRCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9Q
bHVnaW5Qcm9jZXNzL1dlYlByb2Nlc3NDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1Bs
dWdpblByb2Nlc3MvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCmluZGV4IGE0MTE4NDc5YzBiMTRh
Y2JmODJjZmZhZmU4ZjZkMTBiN2ZlZjNmMWYuLmU3YmMwMmY5M2E0MDhjYjM4MGUxZDNlNjM4YzNj
ODI1NmViYTBkYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvV2Vi
UHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3Mv
V2ViUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCkBAIC0xMTgsOSArMTE4LDkgQEAgdm9pZCBXZWJQcm9j
ZXNzQ29ubmVjdGlvbjo6c2V0R2xvYmFsRXhjZXB0aW9uKGNvbnN0IFN0cmluZyYgZXhjZXB0aW9u
U3RyaW5nKQogICAgIGNvbm5lY3Rpb24tPnNlbmRTeW5jKE1lc3NhZ2VzOjpQbHVnaW5Qcm9jZXNz
Q29ubmVjdGlvbjo6U2V0RXhjZXB0aW9uKGV4Y2VwdGlvblN0cmluZyksIE1lc3NhZ2VzOjpQbHVn
aW5Qcm9jZXNzQ29ubmVjdGlvbjo6U2V0RXhjZXB0aW9uOjpSZXBseSgpLCAwKTsKIH0KIAotdm9p
ZCBXZWJQcm9jZXNzQ29ubmVjdGlvbjo6ZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9u
KiBjb25uZWN0aW9uLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyKQordm9pZCBXZWJQcm9j
ZXNzQ29ubmVjdGlvbjo6ZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0
aW9uLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyKQogewotICAgIENvbm5lY3Rpb25TdGFj
azo6Q3VycmVudENvbm5lY3Rpb25QdXNoZXIgY3VycmVudENvbm5lY3Rpb24oQ29ubmVjdGlvblN0
YWNrOjpzaGFyZWQoKSwgY29ubmVjdGlvbik7CisgICAgQ29ubmVjdGlvblN0YWNrOjpDdXJyZW50
Q29ubmVjdGlvblB1c2hlciBjdXJyZW50Q29ubmVjdGlvbihDb25uZWN0aW9uU3RhY2s6OnNoYXJl
ZCgpLCAmY29ubmVjdGlvbik7CiAKICAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1l
KCkgPT0gTWVzc2FnZXM6OldlYlByb2Nlc3NDb25uZWN0aW9uOjptZXNzYWdlUmVjZWl2ZXJOYW1l
KCkpIHsKICAgICAgICAgZGlkUmVjZWl2ZVdlYlByb2Nlc3NDb25uZWN0aW9uTWVzc2FnZShjb25u
ZWN0aW9uLCBkZWNvZGVyKTsKQEAgLTE0MCw5ICsxNDAsOSBAQCB2b2lkIFdlYlByb2Nlc3NDb25u
ZWN0aW9uOjpkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIElQ
Qzo6TQogICAgIHBsdWdpbkNvbnRyb2xsZXJQcm94eS0+ZGlkUmVjZWl2ZVBsdWdpbkNvbnRyb2xs
ZXJQcm94eU1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7CiB9CiAKLXZvaWQgV2ViUHJvY2Vz
c0Nvbm5lY3Rpb246OmRpZFJlY2VpdmVTeW5jTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qIGNvbm5l
Y3Rpb24sIElQQzo6TWVzc2FnZURlY29kZXImIGRlY29kZXIsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6
Ok1lc3NhZ2VFbmNvZGVyPiYgcmVwbHlFbmNvZGVyKQordm9pZCBXZWJQcm9jZXNzQ29ubmVjdGlv
bjo6ZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVBD
OjpNZXNzYWdlRGVjb2RlciYgZGVjb2Rlciwgc3RkOjp1bmlxdWVfcHRyPElQQzo6TWVzc2FnZUVu
Y29kZXI+JiByZXBseUVuY29kZXIpCiB7Ci0gICAgQ29ubmVjdGlvblN0YWNrOjpDdXJyZW50Q29u
bmVjdGlvblB1c2hlciBjdXJyZW50Q29ubmVjdGlvbihDb25uZWN0aW9uU3RhY2s6OnNoYXJlZCgp
LCBjb25uZWN0aW9uKTsKKyAgICBDb25uZWN0aW9uU3RhY2s6OkN1cnJlbnRDb25uZWN0aW9uUHVz
aGVyIGN1cnJlbnRDb25uZWN0aW9uKENvbm5lY3Rpb25TdGFjazo6c2hhcmVkKCksICZjb25uZWN0
aW9uKTsKIAogICAgIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQgPSBkZWNvZGVyLmRlc3RpbmF0aW9u
SUQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9XZWJQcm9j
ZXNzQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9XZWJQcm9jZXNz
Q29ubmVjdGlvbi5oCmluZGV4IGQyM2QxNzE5Y2E3MDgzZGMxMzYxNGU1YjQxNGJjYWRiNzk1YmVi
YzQuLjg5ZGNlOGJhNmJkMDg5ZWE0ZGUzNzkxNGU3ZWExNGM5ZWE5OTJkNWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1dlYlByb2Nlc3NDb25uZWN0aW9uLmgKQEAg
LTY1LDE0ICs2NSwxNCBAQCBwcml2YXRlOgogICAgIHZvaWQgZGVzdHJveVBsdWdpbkNvbnRyb2xs
ZXJQcm94eShQbHVnaW5Db250cm9sbGVyUHJveHkqKTsKIAogICAgIC8vIElQQzo6Q29ubmVjdGlv
bjo6Q2xpZW50Ci0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVj
dGlvbiosIElQQzo6TWVzc2FnZURlY29kZXImKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQg
ZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6TWVzc2FnZURlY29k
ZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpNZXNzYWdlRW5jb2Rlcj4mKSBvdmVycmlkZTsKKyAg
ICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpN
ZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlU3lu
Y01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVjb2RlciYsIHN0ZDo6dW5p
cXVlX3B0cjxJUEM6Ok1lc3NhZ2VFbmNvZGVyPiYpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9p
ZCBkaWRDbG9zZShJUEM6OkNvbm5lY3Rpb24mKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2
ZUludmFsaWRNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6U3RyaW5nUmVmZXJlbmNlIG1l
c3NhZ2VSZWNlaXZlck5hbWUsIElQQzo6U3RyaW5nUmVmZXJlbmNlIG1lc3NhZ2VOYW1lKTsKIAog
ICAgIC8vIE1lc3NhZ2UgaGFuZGxlcnMuCi0gICAgdm9pZCBkaWRSZWNlaXZlV2ViUHJvY2Vzc0Nv
bm5lY3Rpb25NZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6TWVzc2FnZURlY29kZXImKTsK
LSAgICB2b2lkIGRpZFJlY2VpdmVTeW5jV2ViUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlKElQQzo6
Q29ubmVjdGlvbiosIElQQzo6TWVzc2FnZURlY29kZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpN
ZXNzYWdlRW5jb2Rlcj4mKTsKKyAgICB2b2lkIGRpZFJlY2VpdmVXZWJQcm9jZXNzQ29ubmVjdGlv
bk1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpOworICAgIHZv
aWQgZGlkUmVjZWl2ZVN5bmNXZWJQcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2UoSVBDOjpDb25uZWN0
aW9uJiwgSVBDOjpNZXNzYWdlRGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6Ok1lc3NhZ2VF
bmNvZGVyPiYpOwogICAgIHZvaWQgY3JlYXRlUGx1Z2luKGNvbnN0IFBsdWdpbkNyZWF0aW9uUGFy
YW1ldGVycyYsIFBhc3NSZWZQdHI8TWVzc2FnZXM6OldlYlByb2Nlc3NDb25uZWN0aW9uOjpDcmVh
dGVQbHVnaW46OkRlbGF5ZWRSZXBseT4pOwogICAgIHZvaWQgY3JlYXRlUGx1Z2luQXN5bmNocm9u
b3VzbHkoY29uc3QgUGx1Z2luQ3JlYXRpb25QYXJhbWV0ZXJzJik7CiAgICAgdm9pZCBkZXN0cm95
UGx1Z2luKHVpbnQ2NF90IHBsdWdpbkluc3RhbmNlSUQsIGJvb2wgYXN5bmNocm9ub3VzQ3JlYXRp
b25JbmNvbXBsZXRlLCBQYXNzUmVmUHRyPE1lc3NhZ2VzOjpXZWJQcm9jZXNzQ29ubmVjdGlvbjo6
RGVzdHJveVBsdWdpbjo6RGVsYXllZFJlcGx5Pik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weSBiL1NvdXJjZS9XZWJLaXQyL1NjcmlwdHMvd2Vi
a2l0L21lc3NhZ2VzLnB5CmluZGV4IDY4OTI2YzlmNDZlMjcwYWM0OTAwOTAyYzdlNDBlY2Q1NzNj
YzE0ZmEuLjUwMGE5YmQ3MDQ3ZmI5OTMyOWIyMTc5ZjM3MWE1MDgzODkzMWQ2M2EgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CkBAIC0yNjUsNyArMjY1LDcgQEAg
ZGVmIGFzeW5jX21lc3NhZ2Vfc3RhdGVtZW50KHJlY2VpdmVyLCBtZXNzYWdlKToKICAgICBkaXNw
YXRjaF9mdW5jdGlvbiA9ICdoYW5kbGVNZXNzYWdlJwogCiAgICAgaWYgbWVzc2FnZS5oYXNfYXR0
cmlidXRlKFdBTlRTX0NPTk5FQ1RJT05fQVRUUklCVVRFKToKLSAgICAgICAgZGlzcGF0Y2hfZnVu
Y3Rpb25fYXJncy5pbnNlcnQoMCwgJypjb25uZWN0aW9uJykKKyAgICAgICAgZGlzcGF0Y2hfZnVu
Y3Rpb25fYXJncy5pbnNlcnQoMCwgJ2Nvbm5lY3Rpb24nKQogCiAgICAgcmVzdWx0ID0gW10KICAg
ICByZXN1bHQuYXBwZW5kKCcgICAgaWYgKGRlY29kZXIubWVzc2FnZU5hbWUoKSA9PSBNZXNzYWdl
czo6JXM6OiVzOjpuYW1lKCkpIHtcbicgJSAocmVjZWl2ZXIubmFtZSwgbWVzc2FnZS5uYW1lKSkK
QEAgLTI4NCw3ICsyODQsNyBAQCBkZWYgc3luY19tZXNzYWdlX3N0YXRlbWVudChyZWNlaXZlciwg
bWVzc2FnZSk6CiAKICAgICByZXN1bHQgPSBbXQogICAgIHJlc3VsdC5hcHBlbmQoJyAgICBpZiAo
ZGVjb2Rlci5tZXNzYWdlTmFtZSgpID09IE1lc3NhZ2VzOjolczo6JXM6Om5hbWUoKSkge1xuJyAl
IChyZWNlaXZlci5uYW1lLCBtZXNzYWdlLm5hbWUpKQotICAgIHJlc3VsdC5hcHBlbmQoJyAgICAg
ICAgSVBDOjolczxNZXNzYWdlczo6JXM6OiVzPiglc2RlY29kZXIsICVzcmVwbHlFbmNvZGVyLCB0
aGlzLCAmJXMpO1xuJyAlIChkaXNwYXRjaF9mdW5jdGlvbiwgcmVjZWl2ZXIubmFtZSwgbWVzc2Fn
ZS5uYW1lLCAnKmNvbm5lY3Rpb24sICcgaWYgd2FudHNfY29ubmVjdGlvbiBlbHNlICcnLCAnJyBp
ZiBtZXNzYWdlLmhhc19hdHRyaWJ1dGUoREVMQVlFRF9BVFRSSUJVVEUpIGVsc2UgJyonLCBoYW5k
bGVyX2Z1bmN0aW9uKHJlY2VpdmVyLCBtZXNzYWdlKSkpCisgICAgcmVzdWx0LmFwcGVuZCgnICAg
ICAgICBJUEM6OiVzPE1lc3NhZ2VzOjolczo6JXM+KCVzZGVjb2RlciwgJXNyZXBseUVuY29kZXIs
IHRoaXMsICYlcyk7XG4nICUgKGRpc3BhdGNoX2Z1bmN0aW9uLCByZWNlaXZlci5uYW1lLCBtZXNz
YWdlLm5hbWUsICdjb25uZWN0aW9uLCAnIGlmIHdhbnRzX2Nvbm5lY3Rpb24gZWxzZSAnJywgJycg
aWYgbWVzc2FnZS5oYXNfYXR0cmlidXRlKERFTEFZRURfQVRUUklCVVRFKSBlbHNlICcqJywgaGFu
ZGxlcl9mdW5jdGlvbihyZWNlaXZlciwgbWVzc2FnZSkpKQogICAgIHJlc3VsdC5hcHBlbmQoJyAg
ICAgICAgcmV0dXJuO1xuJykKICAgICByZXN1bHQuYXBwZW5kKCcgICAgfVxuJykKICAgICByZXR1
cm4gc3Vycm91bmRfaW5fY29uZGl0aW9uKCcnLmpvaW4ocmVzdWx0KSwgbWVzc2FnZS5jb25kaXRp
b24pCkBAIC01MjAsNyArNTIwLDcgQEAgZGVmIGdlbmVyYXRlX21lc3NhZ2VfaGFuZGxlcihmaWxl
KToKICAgICAgICAgICAgIGFzeW5jX21lc3NhZ2VzLmFwcGVuZChtZXNzYWdlKQogCiAgICAgaWYg
YXN5bmNfbWVzc2FnZXM6Ci0gICAgICAgIHJlc3VsdC5hcHBlbmQoJ3ZvaWQgJXM6OmRpZFJlY2Vp
dmUlc01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBJUEM6Ok1lc3NhZ2VEZWNv
ZGVyJiBkZWNvZGVyKVxuJyAlIChyZWNlaXZlci5uYW1lLCByZWNlaXZlci5uYW1lIGlmIHJlY2Vp
dmVyLmhhc19hdHRyaWJ1dGUoTEVHQUNZX1JFQ0VJVkVSX0FUVFJJQlVURSkgZWxzZSAnJykpCisg
ICAgICAgIHJlc3VsdC5hcHBlbmQoJ3ZvaWQgJXM6OmRpZFJlY2VpdmUlc01lc3NhZ2UoSVBDOjpD
b25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyKVxuJyAl
IChyZWNlaXZlci5uYW1lLCByZWNlaXZlci5uYW1lIGlmIHJlY2VpdmVyLmhhc19hdHRyaWJ1dGUo
TEVHQUNZX1JFQ0VJVkVSX0FUVFJJQlVURSkgZWxzZSAnJykpCiAgICAgICAgIHJlc3VsdC5hcHBl
bmQoJ3tcbicpCiAgICAgICAgIHJlc3VsdCArPSBbYXN5bmNfbWVzc2FnZV9zdGF0ZW1lbnQocmVj
ZWl2ZXIsIG1lc3NhZ2UpIGZvciBtZXNzYWdlIGluIGFzeW5jX21lc3NhZ2VzXQogICAgICAgICBp
ZiAocmVjZWl2ZXIuc3VwZXJjbGFzcyk6CkBAIC01MzMsNyArNTMzLDcgQEAgZGVmIGdlbmVyYXRl
X21lc3NhZ2VfaGFuZGxlcihmaWxlKToKIAogICAgIGlmIHN5bmNfbWVzc2FnZXM6CiAgICAgICAg
IHJlc3VsdC5hcHBlbmQoJ1xuJykKLSAgICAgICAgcmVzdWx0LmFwcGVuZCgndm9pZCAlczo6ZGlk
UmVjZWl2ZVN5bmMlc01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBJUEM6Ok1l
c3NhZ2VEZWNvZGVyJiBkZWNvZGVyLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpNZXNzYWdlRW5jb2Rl
cj4mIHJlcGx5RW5jb2RlcilcbicgJSAocmVjZWl2ZXIubmFtZSwgcmVjZWl2ZXIubmFtZSBpZiBy
ZWNlaXZlci5oYXNfYXR0cmlidXRlKExFR0FDWV9SRUNFSVZFUl9BVFRSSUJVVEUpIGVsc2UgJycp
KQorICAgICAgICByZXN1bHQuYXBwZW5kKCd2b2lkICVzOjpkaWRSZWNlaXZlU3luYyVzTWVzc2Fn
ZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIElQQzo6TWVzc2FnZURlY29kZXImIGRlY29k
ZXIsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6Ok1lc3NhZ2VFbmNvZGVyPiYgcmVwbHlFbmNvZGVyKVxu
JyAlIChyZWNlaXZlci5uYW1lLCByZWNlaXZlci5uYW1lIGlmIHJlY2VpdmVyLmhhc19hdHRyaWJ1
dGUoTEVHQUNZX1JFQ0VJVkVSX0FUVFJJQlVURSkgZWxzZSAnJykpCiAgICAgICAgIHJlc3VsdC5h
cHBlbmQoJ3tcbicpCiAgICAgICAgIHJlc3VsdCArPSBbc3luY19tZXNzYWdlX3N0YXRlbWVudChy
ZWNlaXZlciwgbWVzc2FnZSkgZm9yIG1lc3NhZ2UgaW4gc3luY19tZXNzYWdlc10KICAgICAgICAg
cmVzdWx0LmFwcGVuZCgnICAgIFVOVVNFRF9QQVJBTShjb25uZWN0aW9uKTtcbicpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0NvY29hL1JlbW90ZU9iamVjdFJlZ2lzdHJ5
LmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0NvY29hL1JlbW90ZU9iamVjdFJlZ2lzdHJ5
LmgKaW5kZXggMTM4OTM1NzFjMzJkYTEwMjgyZTVjMDA5ZjZjNzg2MTJhMmVlZjdjMy4uMTBjN2M2
NTRkOGQxZDMyNDQ4MWUxM2EzZDgzZDYwNGE3YjExZWFiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL0FQSS9Db2NvYS9SZW1vdGVPYmplY3RSZWdpc3RyeS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9BUEkvQ29jb2EvUmVtb3RlT2JqZWN0UmVnaXN0cnkuaApAQCAtNDcs
NyArNDcsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgLy8gSVBDOjpNZXNzYWdlUmVjZWl2
ZXIKLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwg
SVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNl
aXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgb3ZlcnJp
ZGU7CiAKICAgICAvLyBNZXNzYWdlIGhhbmRsZXJzCiAgICAgdm9pZCBpbnZva2VNZXRob2QoY29u
c3QgVXNlckRhdGEmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50
aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9B
dXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaAppbmRleCA0OWMzZTkxMmYwYWJl
MmJiN2ZlZGQ5Y2RmMWVmYmE5NzlmZmM0MWY4Li5mOWVlODE3NTY2ZTMzMTNmOGYxYTU3NzI5NTJh
ODI1NDVlNGRmZDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGlj
YXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVk
L0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oCkBAIC02OSw3ICs2OSw3IEBA
IHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICAvLyBJUEM6Ok1lc3NhZ2VSZWNlaXZlcgotICAgIHZp
cnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qLCBJUEM6Ok1lc3Nh
Z2VEZWNvZGVyJikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdl
KElQQzo6Q29ubmVjdGlvbiYsIElQQzo6TWVzc2FnZURlY29kZXImKSBvdmVycmlkZTsKIAogICAg
IGJvb2wgdHJ5VXNlQ2VydGlmaWNhdGVJbmZvRm9yQ2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OkF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3NQcm94eS5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzUHJveHkuY3BwCmluZGV4IGE1
YmMyZmIwYWI2MmE1YTEyNWI2OTgzOGMzY2YzMzYwNjRjYmYwODcuLjhlNGIyMGFjMGNiZTQyNWY2
ZDFlNzA2NGIwYzIwODIwMzViNGMyZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9DaGlsZFByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxk
UHJvY2Vzc1Byb3h5LmNwcApAQCAtMTE5LDEyICsxMTksMTIgQEAgdm9pZCBDaGlsZFByb2Nlc3NQ
cm94eTo6cmVtb3ZlTWVzc2FnZVJlY2VpdmVyKElQQzo6U3RyaW5nUmVmZXJlbmNlIG1lc3NhZ2VS
ZWNlaXYKICAgICBtX21lc3NhZ2VSZWNlaXZlck1hcC5yZW1vdmVNZXNzYWdlUmVjZWl2ZXIobWVz
c2FnZVJlY2VpdmVyTmFtZSwgZGVzdGluYXRpb25JRCk7CiB9CiAKLWJvb2wgQ2hpbGRQcm9jZXNz
UHJveHk6OmRpc3BhdGNoTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIElQQzo6
TWVzc2FnZURlY29kZXImIGRlY29kZXIpCitib29sIENoaWxkUHJvY2Vzc1Byb3h5OjpkaXNwYXRj
aE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6Ok1lc3NhZ2VEZWNvZGVy
JiBkZWNvZGVyKQogewogICAgIHJldHVybiBtX21lc3NhZ2VSZWNlaXZlck1hcC5kaXNwYXRjaE1l
c3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7CiB9CiAKLWJvb2wgQ2hpbGRQcm9jZXNzUHJveHk6
OmRpc3BhdGNoU3luY01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBJUEM6Ok1l
c3NhZ2VEZWNvZGVyJiBkZWNvZGVyLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpNZXNzYWdlRW5jb2Rl
cj4mIHJlcGx5RW5jb2RlcikKK2Jvb2wgQ2hpbGRQcm9jZXNzUHJveHk6OmRpc3BhdGNoU3luY01l
c3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBk
ZWNvZGVyLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpNZXNzYWdlRW5jb2Rlcj4mIHJlcGx5RW5jb2Rl
cikKIHsKICAgICByZXR1cm4gbV9tZXNzYWdlUmVjZWl2ZXJNYXAuZGlzcGF0Y2hTeW5jTWVzc2Fn
ZShjb25uZWN0aW9uLCBkZWNvZGVyLCByZXBseUVuY29kZXIpOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzc1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQ2hpbGRQcm9jZXNzUHJveHkuaAppbmRleCA2M2ZjNTVhMjAxNzQ2MGIxMDU4MjllNDc0
YmU2ODljYTk0MGQ2N2Y2Li4xNTAxYTY5NGIwMmNmM2ViNmM3OGQwYTlmZmQ2YWEzMWM1MWEyYzJm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzUHJveHkuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzUHJveHkuaApAQCAtNzksOCAr
NzksOCBAQCBwcm90ZWN0ZWQ6CiAgICAgLy8gUHJvY2Vzc0xhdW5jaGVyOjpDbGllbnQKICAgICB2
aXJ0dWFsIHZvaWQgZGlkRmluaXNoTGF1bmNoaW5nKFByb2Nlc3NMYXVuY2hlciosIElQQzo6Q29u
bmVjdGlvbjo6SWRlbnRpZmllcikgb3ZlcnJpZGU7CiAKLSAgICBib29sIGRpc3BhdGNoTWVzc2Fn
ZShJUEM6OkNvbm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7Ci0gICAgYm9vbCBkaXNw
YXRjaFN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6TWVzc2FnZURlY29kZXImLCBz
dGQ6OnVuaXF1ZV9wdHI8SVBDOjpNZXNzYWdlRW5jb2Rlcj4mKTsKKyAgICBib29sIGRpc3BhdGNo
TWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CisgICAgYm9v
bCBkaXNwYXRjaFN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6TWVzc2FnZURlY29k
ZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpNZXNzYWdlRW5jb2Rlcj4mKTsKICAgICAKIHByaXZh
dGU6CiAgICAgdmlydHVhbCB2b2lkIGdldExhdW5jaE9wdGlvbnMoUHJvY2Vzc0xhdW5jaGVyOjpM
YXVuY2hPcHRpb25zJikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL05l
dHdvcmsvQ3VzdG9tUHJvdG9jb2xzL0N1c3RvbVByb3RvY29sTWFuYWdlci5oIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL05ldHdvcmsvQ3VzdG9tUHJvdG9jb2xzL0N1c3RvbVByb3RvY29sTWFuYWdl
ci5oCmluZGV4IDgwMjM3MmIxMmQxNDVjNGFiMGFiNTE5MmYyODQ0NmE1ZjViZWI5OWQuLjViYzdj
MDY1NmQ1YmYyNzY0ZWQ4NjAxYjA1NGM1YTc2Zjc5YTk1MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9OZXR3b3JrL0N1c3RvbVByb3RvY29scy9DdXN0b21Qcm90b2NvbE1hbmFn
ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvTmV0d29yay9DdXN0b21Qcm90b2NvbHMv
Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyLmgKQEAgLTg4LDcgKzg4LDcgQEAgcHJpdmF0ZToKICNlbmRp
ZgogCiAgICAgLy8gSVBDOjpNZXNzYWdlUmVjZWl2ZXIKLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVj
ZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJy
aWRlOworICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24m
LCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgb3ZlcnJpZGU7CiAKICAgICB2b2lkIGRpZEZhaWxXaXRo
RXJyb3IodWludDY0X3QgY3VzdG9tUHJvdG9jb2xJRCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VF
cnJvciYpOwogICAgIHZvaWQgZGlkTG9hZERhdGEodWludDY0X3QgY3VzdG9tUHJvdG9jb2xJRCwg
Y29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvUGx1Z2lucy9OUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL1BsdWdpbnMvTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIuaAppbmRleCBlZTE0ZDZkYTc2
NTdiOWU4MzY3MjJiOTM5OGIyOTExYzE0OWQzOGExLi40ZTNmZGVkNmEyY2I1MjM5ZmM3ZGQzOTI2
MGY0ZTljOTVmODE2Mjc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lu
cy9OUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Q
bHVnaW5zL05QT2JqZWN0TWVzc2FnZVJlY2VpdmVyLmgKQEAgLTQ2LDcgKzQ2LDcgQEAgcHVibGlj
OgogICAgIE5QT2JqZWN0TWVzc2FnZVJlY2VpdmVyKE5QUmVtb3RlT2JqZWN0TWFwKiwgUGx1Z2lu
KiwgdWludDY0X3QgbnBPYmplY3RJRCwgTlBPYmplY3QqKTsKICAgICB+TlBPYmplY3RNZXNzYWdl
UmVjZWl2ZXIoKTsKIAotICAgIHZvaWQgZGlkUmVjZWl2ZVN5bmNOUE9iamVjdE1lc3NhZ2VSZWNl
aXZlck1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYsIHN0ZDo6
dW5pcXVlX3B0cjxJUEM6Ok1lc3NhZ2VFbmNvZGVyPiYpOworICAgIHZvaWQgZGlkUmVjZWl2ZVN5
bmNOUE9iamVjdE1lc3NhZ2VSZWNlaXZlck1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpN
ZXNzYWdlRGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6Ok1lc3NhZ2VFbmNvZGVyPiYpOwog
CiAgICAgUGx1Z2luKiBwbHVnaW4oKSBjb25zdCB7IHJldHVybiBtX3BsdWdpbjsgfQogICAgIE5Q
T2JqZWN0KiBucE9iamVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fbnBPYmplY3Q7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QUmVtb3RlT2JqZWN0TWFwLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QUmVtb3RlT2JqZWN0TWFwLmNwcAppbmRl
eCA1NjExMTlkMDMxZGU4NThhYzhlYmNkZjI2ZmU5NWMxM2MyOGFmY2NlLi4wYmRlMDMyOWJkMmI1
MjAzNDVhNWFlMTUwZjg5ZDk3N2YxY2MyNGRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvUGx1Z2lucy9OUFJlbW90ZU9iamVjdE1hcC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL1BsdWdpbnMvTlBSZW1vdGVPYmplY3RNYXAuY3BwCkBAIC0yMTcsNyArMjE3LDcgQEAg
dm9pZCBOUFJlbW90ZU9iamVjdE1hcDo6cGx1Z2luRGVzdHJveWVkKFBsdWdpbiogcGx1Z2luKQog
ICAgIH0KIH0KIAotdm9pZCBOUFJlbW90ZU9iamVjdE1hcDo6ZGlkUmVjZWl2ZVN5bmNNZXNzYWdl
KElQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbiwgSVBDOjpNZXNzYWdlRGVjb2RlciYgZGVjb2Rl
ciwgc3RkOjp1bmlxdWVfcHRyPElQQzo6TWVzc2FnZUVuY29kZXI+JiByZXBseUVuY29kZXIpCit2
b2lkIE5QUmVtb3RlT2JqZWN0TWFwOjpkaWRSZWNlaXZlU3luY01lc3NhZ2UoSVBDOjpDb25uZWN0
aW9uJiBjb25uZWN0aW9uLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyLCBzdGQ6OnVuaXF1
ZV9wdHI8SVBDOjpNZXNzYWdlRW5jb2Rlcj4mIHJlcGx5RW5jb2RlcikKIHsKICAgICBOUE9iamVj
dE1lc3NhZ2VSZWNlaXZlciogbWVzc2FnZVJlY2VpdmVyID0gbV9yZWdpc3RlcmVkTlBPYmplY3Rz
LmdldChkZWNvZGVyLmRlc3RpbmF0aW9uSUQoKSk7CiAgICAgaWYgKCFtZXNzYWdlUmVjZWl2ZXIp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUFJlbW90ZU9iamVj
dE1hcC5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBSZW1vdGVPYmplY3RNYXAu
aAppbmRleCBjZDA3NWY4MTAwMjQ5OWUyOTk4OGJjNWY1YmViNWE2OTlhNjA1NDk3Li40ZjhkMTQ4
NTJjNjExYzJmMWQ1ZTRhOTk0M2I2MGNlMGJiNmE1ZmMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvUGx1Z2lucy9OUFJlbW90ZU9iamVjdE1hcC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9QbHVnaW5zL05QUmVtb3RlT2JqZWN0TWFwLmgKQEAgLTYxLDcgKzYxLDcgQEAg
cHVibGljOgogCiAgICAgdm9pZCBwbHVnaW5EZXN0cm95ZWQoUGx1Z2luKik7CiAKLSAgICB2b2lk
IGRpZFJlY2VpdmVTeW5jTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNv
ZGVyJiwgc3RkOjp1bmlxdWVfcHRyPElQQzo6TWVzc2FnZUVuY29kZXI+Jik7CisgICAgdm9pZCBk
aWRSZWNlaXZlU3luY01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVjb2Rl
ciYsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6Ok1lc3NhZ2VFbmNvZGVyPiYpOwogCiBwcml2YXRlOgog
ICAgIGV4cGxpY2l0IE5QUmVtb3RlT2JqZWN0TWFwKElQQzo6Q29ubmVjdGlvbiopOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9XZWJDb25uZWN0aW9uLmgKaW5kZXggY2Y1Y2FhZDg1ODFlNGZiNjY5ZDFhOGNk
ZWQxMTFiNzhjODFiOGViOC4uNzkwOTc1Y2ZjYTFkNmE4ZDhlN2I5YmY4NmI0NmJlZTE3OGE3ZGVj
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvbm5lY3Rpb24uaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29ubmVjdGlvbi5oCkBAIC01Miw3ICs1Miw3IEBA
IHByb3RlY3RlZDoKIAogICAgIC8vIElQQzo6TWVzc2FnZVJlY2VpdmVyCiAgICAgLy8gSW1wbGVt
ZW50ZWQgaW4gZ2VuZXJhdGVkIFdlYkNvbm5lY3Rpb25NZXNzYWdlUmVjZWl2ZXIuY3BwCi0gICAg
dm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNv
ZGVyJikgb3ZlcnJpZGU7CisgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rp
b24mLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgb3ZlcnJpZGU7CiAKICAgICAvLyBNZXNhZ2UgaGFu
ZGxpbmcgaW1wbGVtZW50YXRpb24gZnVuY3Rpb25zLgogICAgIHZvaWQgaGFuZGxlTWVzc2FnZShj
b25zdCBTdHJpbmcmIG1lc3NhZ2VOYW1lLCBjb25zdCBVc2VyRGF0YSYgbWVzc2FnZUJvZHkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9TZWNJdGVtU2hpbS5oIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL21hYy9TZWNJdGVtU2hpbS5oCmluZGV4IDQyZWU1NDg3NDYwYzc0
MjRjMWMyNDcxOGE3MGI0Mjc1MTJiODkwYTQuLjk3YzQ3ODhiNTI2ZDRhYmEyODg2MWFkNDEyYzVi
MzUzODczYzc3OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvU2VjSXRl
bVNoaW0uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1NlY0l0ZW1TaGltLmgKQEAg
LTQ3LDcgKzQ3LDcgQEAgcHJpdmF0ZToKICAgICBTZWNJdGVtU2hpbSgpOwogCiAgICAgLy8gSVBD
OjpDb25uZWN0aW9uOjpXb3JrUXVldWVNZXNzYWdlUmVjZWl2ZXIuCi0gICAgdmlydHVhbCB2b2lk
IGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6TWVzc2FnZURlY29kZXIm
KSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25u
ZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRlOwogCiAgICAgdm9pZCBzZWNJ
dGVtUmVzcG9uc2UodWludDY0X3QgcmVxdWVzdElELCBjb25zdCBTZWNJdGVtUmVzcG9uc2VEYXRh
Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EYXRhYmFzZXMvRGF0
YWJhc2VQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RhdGFiYXNl
cy9EYXRhYmFzZVByb2Nlc3NQcm94eS5jcHAKaW5kZXggZDA1ZDA2YzcyZTE5MTQwZTMyNzQ3MDE1
YmZlOGM5ZTE2NWEzMGEzZi4uNTA5Y2FlMWY4OWJhZjMxM2IyZDI4ZjE2OTY5YWI1ZmU5MDI0NmQ2
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RhdGFiYXNlcy9EYXRhYmFz
ZVByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RhdGFiYXNl
cy9EYXRhYmFzZVByb2Nlc3NQcm94eS5jcHAKQEAgLTY5LDcgKzY5LDcgQEAgdm9pZCBEYXRhYmFz
ZVByb2Nlc3NQcm94eTo6Y29ubmVjdGlvbldpbGxDbG9zZShJUEM6OkNvbm5lY3Rpb24qKQogewog
fQogCi12b2lkIERhdGFiYXNlUHJvY2Vzc1Byb3h5OjpkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNv
bm5lY3Rpb24qIGNvbm5lY3Rpb24sIElQQzo6TWVzc2FnZURlY29kZXImIGRlY29kZXIpCit2b2lk
IERhdGFiYXNlUHJvY2Vzc1Byb3h5OjpkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24m
IGNvbm5lY3Rpb24sIElQQzo6TWVzc2FnZURlY29kZXImIGRlY29kZXIpCiB7CiAgICAgaWYgKGRl
Y29kZXIubWVzc2FnZVJlY2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpEYXRhYmFzZVByb2Nlc3NQ
cm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpKSB7CiAgICAgICAgIGRpZFJlY2VpdmVEYXRhYmFz
ZVByb2Nlc3NQcm94eU1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRGF0YWJhc2VzL0RhdGFiYXNlUHJvY2Vzc1Byb3h5Lmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRGF0YWJhc2VzL0RhdGFiYXNlUHJvY2Vzc1Byb3h5
LmgKaW5kZXggNGIzMmZmMTk4NWZkNTY3ZGZiNDk5OWMzYTFlNDMyMzIzZjI2MDM5Yy4uOWQ0YTY3
MzRlYWYzYTNlZTEwZTY2YzhiYjk5NWExNzEwMmJmYmFlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0RhdGFiYXNlcy9EYXRhYmFzZVByb2Nlc3NQcm94eS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EYXRhYmFzZXMvRGF0YWJhc2VQcm9jZXNzUHJveHkuaApA
QCAtNTMsMTEgKzUzLDExIEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGNvbm5lY3Rpb25X
aWxsQ2xvc2UoSVBDOjpDb25uZWN0aW9uKikgb3ZlcnJpZGU7CiAKICAgICAvLyBJUEM6OkNvbm5l
Y3Rpb246OkNsaWVudAotICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNv
bm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2
b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6TWVzc2FnZURlY29k
ZXImKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9u
Jikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZShJ
UEM6OkNvbm5lY3Rpb24mLCBJUEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlUmVjZWl2ZXJOYW1l
LCBJUEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlTmFtZSkgb3ZlcnJpZGU7CiAKLSAgICB2b2lk
IGRpZFJlY2VpdmVEYXRhYmFzZVByb2Nlc3NQcm94eU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwg
SVBDOjpNZXNzYWdlRGVjb2RlciYpOworICAgIHZvaWQgZGlkUmVjZWl2ZURhdGFiYXNlUHJvY2Vz
c1Byb3h5TWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAK
ICAgICAvLyBNZXNzYWdlIGhhbmRsZXJzCiAgICAgdm9pZCBkaWRDcmVhdGVEYXRhYmFzZVRvV2Vi
UHJvY2Vzc0Nvbm5lY3Rpb24oY29uc3QgSVBDOjpBdHRhY2htZW50Jik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkUHJveHkuaCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eS5oCmluZGV4IDA3Njg5
ZmY2YjAyN2ZjOTVmYjllYTIyMmJlZGViOWFjNWQ5ZGQxNmMuLjg0ZGMwZGY1OTcyODM3MWY5ZTMw
NGVlZDBmMmM3NDk3MzVmMzE1YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eS5oCkBAIC02MywxNSArNjMsMTUgQEAgcHVibGljOgog
ICAgIHZvaWQgaW52YWxpZGF0ZSgpOwogICAgIHZvaWQgcHJvY2Vzc0RpZENsb3NlKCk7CiAKLSAg
ICB2b2lkIGRpZFJlY2VpdmVEb3dubG9hZFByb3h5TWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qLCBJ
UEM6Ok1lc3NhZ2VEZWNvZGVyJik7Ci0gICAgdm9pZCBkaWRSZWNlaXZlU3luY0Rvd25sb2FkUHJv
eHlNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6TWVzc2FnZURlY29kZXImLCBzdGQ6OnVu
aXF1ZV9wdHI8SVBDOjpNZXNzYWdlRW5jb2Rlcj4mKTsKKyAgICB2b2lkIGRpZFJlY2VpdmVEb3du
bG9hZFByb3h5TWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7
CisgICAgdm9pZCBkaWRSZWNlaXZlU3luY0Rvd25sb2FkUHJveHlNZXNzYWdlKElQQzo6Q29ubmVj
dGlvbiYsIElQQzo6TWVzc2FnZURlY29kZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpNZXNzYWdl
RW5jb2Rlcj4mKTsKIAogcHJpdmF0ZToKICAgICBleHBsaWNpdCBEb3dubG9hZFByb3h5KERvd25s
b2FkUHJveHlNYXAmLCBXZWJQcm9jZXNzUG9vbCYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVx
dWVzdCYpOwogCiAgICAgLy8gSVBDOjpNZXNzYWdlUmVjZWl2ZXIKLSAgICB2aXJ0dWFsIHZvaWQg
ZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYp
IG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlU3luY01lc3NhZ2UoSVBDOjpD
b25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6Ok1l
c3NhZ2VFbmNvZGVyPiYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVz
c2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgb3ZlcnJpZGU7Cisg
ICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVTeW5jTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJ
UEM6Ok1lc3NhZ2VEZWNvZGVyJiwgc3RkOjp1bmlxdWVfcHRyPElQQzo6TWVzc2FnZUVuY29kZXI+
Jikgb3ZlcnJpZGU7CiAKICAgICAvLyBNZXNzYWdlIGhhbmRsZXJzLgogICAgIHZvaWQgZGlkU3Rh
cnQoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaAppbmRleCBiYWI4MjY0MTljNTdlY2RiNWM0NzU5OTA3
MmM5ZDA2MjNlMDJkYmY0Li4xOGIzNjgyM2M3Y2U1MTA5MGJjODY1ZGM3ODZiYmE4ZTk0NWY5N2Rk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmgKQEAgLTEw
Miw3ICsxMDIsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgV2ViQ29yZTo6SW50U2l6ZSBtX3Njcm9sbE9m
ZnNldDsKIAogICAgIC8vIElQQzo6TWVzc2FnZVJlY2VpdmVyCi0gICAgdmlydHVhbCB2b2lkIGRp
ZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6TWVzc2FnZURlY29kZXImKSBv
dmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0
aW9uJiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRlOwogCiBwcml2YXRlOgogICAgIHZp
cnR1YWwgdm9pZCBzaXplRGlkQ2hhbmdlKCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL05ldHdvcmsvQ3VzdG9tUHJvdG9jb2xzL0N1c3RvbVByb3RvY29sTWFuYWdl
clByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTmV0d29yay9DdXN0b21Qcm90b2Nv
bHMvQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkuaAppbmRleCBjYWE3YmQ3YWI0ODIwODM0NTYz
Y2UwM2Y3NjBjZWM3ZWQ3YWViMmY5Li42MTkwMWQ5ZmQ1OTYyOTUwZDgyMDIzZTgyMzMzMjg5MWFk
MTM2ZDk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTmV0d29yay9DdXN0
b21Qcm90b2NvbHMvQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvTmV0d29yay9DdXN0b21Qcm90b2NvbHMvQ3VzdG9tUHJvdG9jb2xNYW5h
Z2VyUHJveHkuaApAQCAtNTIsNyArNTIsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgLy8g
SVBDOjpNZXNzYWdlUmVjZWl2ZXIKLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2Uo
SVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRlOworICAgIHZp
cnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3Nh
Z2VEZWNvZGVyJikgb3ZlcnJpZGU7CiAKICAgICBDaGlsZFByb2Nlc3NQcm94eSogbV9jaGlsZFBy
b2Nlc3NQcm94eTsKICAgICBXZWJQcm9jZXNzUG9vbCYgbV9wcm9jZXNzUG9vbDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHku
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94
eS5jcHAKaW5kZXggOTQwZmU1MDI1YTNlNTU2NGE4ODA3ZTAxOWYxOWNmOWJkMzNmMWFmNi4uZWJk
NWJlYWY5NWExMDRhY2Y2YzY0MjYxNDRkNTFlYjgzZGUxZWYyNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAK
QEAgLTE0Niw3ICsxNDYsNyBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6Om5ldHdvcmtQcm9j
ZXNzQ3Jhc2hlZE9yRmFpbGVkVG9MYXVuY2goKQogICAgIG1fcHJvY2Vzc1Bvb2wubmV0d29ya1By
b2Nlc3NDcmFzaGVkKHRoaXMpOwogfQogCi12b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6OmRpZFJl
Y2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbiwgSVBDOjpNZXNzYWdlRGVj
b2RlciYgZGVjb2RlcikKK3ZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6ZGlkUmVjZWl2ZU1lc3Nh
Z2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNv
ZGVyKQogewogICAgIGlmIChkaXNwYXRjaE1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2RlcikpCiAg
ICAgICAgIHJldHVybjsKQEAgLTE1Nyw3ICsxNTcsNyBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzUHJv
eHk6OmRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbiwgSVBDOjpN
ZQogICAgIGRpZFJlY2VpdmVOZXR3b3JrUHJvY2Vzc1Byb3h5TWVzc2FnZShjb25uZWN0aW9uLCBk
ZWNvZGVyKTsKIH0KIAotdm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpkaWRSZWNlaXZlU3luY01l
c3NhZ2UoSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBk
ZWNvZGVyLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpNZXNzYWdlRW5jb2Rlcj4mIHJlcGx5RW5jb2Rl
cikKK3ZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6ZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQQzo6
Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDOjpNZXNzYWdlRGVjb2RlciYgZGVjb2Rlciwgc3Rk
Ojp1bmlxdWVfcHRyPElQQzo6TWVzc2FnZUVuY29kZXI+JiByZXBseUVuY29kZXIpCiB7CiAgICAg
aWYgKGRpc3BhdGNoU3luY01lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2RlciwgcmVwbHlFbmNvZGVy
KSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oCmluZGV4IDAzZDY2OWU1NTI5N2ZkOWE2NDhl
Y2QzNTkzMjY2Y2I5MmE2YmM2ZDEuLjViNzE5YjJjN2JiZWFhN2E3YjQzZWY0ZjMwYjM2NjQwZDI4
MGU3ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdv
cmtQcm9jZXNzUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTmV0d29yay9O
ZXR3b3JrUHJvY2Vzc1Byb3h5LmgKQEAgLTgwLDEzICs4MCwxMyBAQCBwcml2YXRlOgogICAgIHZv
aWQgbmV0d29ya1Byb2Nlc3NDcmFzaGVkT3JGYWlsZWRUb0xhdW5jaCgpOwogCiAgICAgLy8gSVBD
OjpDb25uZWN0aW9uOjpDbGllbnQKLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2Uo
SVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRlOwotICAgIHZp
cnR1YWwgdm9pZCBkaWRSZWNlaXZlU3luY01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpN
ZXNzYWdlRGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6Ok1lc3NhZ2VFbmNvZGVyPiYpIG92
ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rp
b24mLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRp
ZFJlY2VpdmVTeW5jTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3NhZ2VEZWNvZGVy
Jiwgc3RkOjp1bmlxdWVfcHRyPElQQzo6TWVzc2FnZUVuY29kZXI+Jikgb3ZlcnJpZGU7CiAgICAg
dmlydHVhbCB2b2lkIGRpZENsb3NlKElQQzo6Q29ubmVjdGlvbiYpIG92ZXJyaWRlOwogICAgIHZp
cnR1YWwgdm9pZCBkaWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBD
OjpTdHJpbmdSZWZlcmVuY2UgbWVzc2FnZVJlY2VpdmVyTmFtZSwgSVBDOjpTdHJpbmdSZWZlcmVu
Y2UgbWVzc2FnZU5hbWUpIG92ZXJyaWRlOwogCiAgICAgLy8gTWVzc2FnZSBoYW5kbGVycwotICAg
IHZvaWQgZGlkUmVjZWl2ZU5ldHdvcmtQcm9jZXNzUHJveHlNZXNzYWdlKElQQzo6Q29ubmVjdGlv
biosIElQQzo6TWVzc2FnZURlY29kZXImKTsKKyAgICB2b2lkIGRpZFJlY2VpdmVOZXR3b3JrUHJv
Y2Vzc1Byb3h5TWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7
CiAgICAgdm9pZCBkaWRDcmVhdGVOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcyhjb25zdCBJ
UEM6OkF0dGFjaG1lbnQmKTsKICAgICB2b2lkIGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZSh1aW50NjRfdCBwYWdlSUQsIHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFdlYkNvcmU6OkF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiwgdWludDY0X3QgY2hhbGxlbmdlSUQpOwogICAgIHZvaWQg
ZGlkRGVsZXRlV2Vic2l0ZURhdGEodWludDY0X3QgY2FsbGJhY2tJRCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuaCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5oCmluZGV4
IDdiNjI0YTUxNjdiNDM5YzlmZjQ0NTZhYWMwYzkyMDdiNDc5ZjdhZjcuLjJhMzc1ZTMwZDYyYzE2
YTE5MTliMjQ3ODJkZjQ4MzMyZDY3YjM2YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5oCkBAIC0xMTUsOCArMTE1LDgg
QEAgcHJpdmF0ZToKICAgICB2b2lkIHBsdWdpblByb2Nlc3NDcmFzaGVkT3JGYWlsZWRUb0xhdW5j
aCgpOwogCiAgICAgLy8gSVBDOjpDb25uZWN0aW9uOjpDbGllbnQKLSAgICB2aXJ0dWFsIHZvaWQg
ZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYp
IG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlU3luY01lc3NhZ2UoSVBDOjpD
b25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6Ok1l
c3NhZ2VFbmNvZGVyPiYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVz
c2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgb3ZlcnJpZGU7Cisg
ICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVTeW5jTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJ
UEM6Ok1lc3NhZ2VEZWNvZGVyJiwgc3RkOjp1bmlxdWVfcHRyPElQQzo6TWVzc2FnZUVuY29kZXI+
Jikgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9u
Jikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZShJ
UEM6OkNvbm5lY3Rpb24mLCBJUEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlUmVjZWl2ZXJOYW1l
LCBJUEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlTmFtZSkgb3ZlcnJpZGU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlTWFuYWdlci5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZU1hbmFnZXIuaAppbmRleCA1NmMz
ZmNkZDI4YzFmMjVkOGE5YjM0YzYyY2VmYmE3ODFiOGRlOTNhLi5kYjIxZGQyNTJkMGE1ZDNiY2Uw
NmU0MzI4ZTlhZDRhMzY3NjUwOTExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvU3RvcmFnZS9TdG9yYWdlTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9TdG9yYWdlL1N0b3JhZ2VNYW5hZ2VyLmgKQEAgLTcwLDggKzcwLDggQEAgcHJpdmF0ZToKICAg
ICBleHBsaWNpdCBTdG9yYWdlTWFuYWdlcihjb25zdCBTdHJpbmcmIGxvY2FsU3RvcmFnZURpcmVj
dG9yeSk7CiAKICAgICAvLyBJUEM6OkNvbm5lY3Rpb246OldvcmtRdWV1ZU1lc3NhZ2VSZWNlaXZl
ci4KLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwg
SVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNl
aXZlU3luY01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYsIHN0
ZDo6dW5pcXVlX3B0cjxJUEM6Ok1lc3NhZ2VFbmNvZGVyPiYgcmVwbHlFbmNvZGVyKSBvdmVycmlk
ZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwg
SVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNl
aXZlU3luY01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVjb2RlciYsIHN0
ZDo6dW5pcXVlX3B0cjxJUEM6Ok1lc3NhZ2VFbmNvZGVyPiYgcmVwbHlFbmNvZGVyKSBvdmVycmlk
ZTsKIAogICAgIC8vIE1lc3NhZ2UgaGFuZGxlcnMuCiAgICAgdm9pZCBjcmVhdGVMb2NhbFN0b3Jh
Z2VNYXAoSVBDOjpDb25uZWN0aW9uJiwgdWludDY0X3Qgc3RvcmFnZU1hcElELCB1aW50NjRfdCBz
dG9yYWdlTmFtZXNwYWNlSUQsIGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1VzZXJDb250ZW50L1dlYlVzZXJDb250ZW50Q29u
dHJvbGxlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVXNlckNvbnRlbnQvV2Vi
VXNlckNvbnRlbnRDb250cm9sbGVyUHJveHkuaAppbmRleCAwMjZiYmUyZmQ1YWUzZTBjYjU0Y2Ew
M2ZmZDdiNTlkOTdkY2U3NjBlLi4yYjVhMmZmNzkyNDMyZDM0MzkxMmVlNGFjODI1YWU5NGUwMTBj
YmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVXNlckNvbnRlbnQvV2Vi
VXNlckNvbnRlbnRDb250cm9sbGVyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvVXNlckNvbnRlbnQvV2ViVXNlckNvbnRlbnRDb250cm9sbGVyUHJveHkuaApAQCAtNzIsNyAr
NzIsNyBAQCBwcml2YXRlOgogICAgIGV4cGxpY2l0IFdlYlVzZXJDb250ZW50Q29udHJvbGxlclBy
b3h5KCk7CiAKICAgICAvLyBJUEM6Ok1lc3NhZ2VSZWNlaXZlci4KLSAgICB2aXJ0dWFsIHZvaWQg
ZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYp
IG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5l
Y3Rpb24mLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgb3ZlcnJpZGU7CiAKICAgICB2b2lkIGRpZFBv
c3RNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIHVpbnQ2NF90IHBhZ2VJRCwgdWludDY0X3QgZnJh
bWVJRCwgdWludDY0X3QgbWVzc2FnZUhhbmRsZXJJRCwgY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNl
Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1By
b3ZpZGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtQcm92aWRlci5o
CmluZGV4IDEzNmIyMDA5YzlmMTNjMjNiOTc3M2E0MzQyYjdiODA0NzE5YTQ1MTEuLjgzZmE5MzM0
MGZmNjlkYmE2MDJkNDcwMTg5YjE0ZDVhYmZlZjcyNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1Byb3ZpZGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaApAQCAtNTYsNyArNTYsNyBAQCBwcml2YXRl
OgogICAgIFZpc2l0ZWRMaW5rUHJvdmlkZXIoKTsKIAogICAgIC8vIElQQzo6TWVzc2FnZVJlY2Vp
dmVyCi0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbios
IElQQzo6TWVzc2FnZURlY29kZXImKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVj
ZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJy
aWRlOwogCiAgICAgdm9pZCBhZGRWaXNpdGVkTGlua0hhc2hGcm9tUGFnZSh1aW50NjRfdCBwYWdl
SUQsIFdlYkNvcmU6OkxpbmtIYXNoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlclByb3h5LmgKaW5kZXggNWFlZWRm
NjRhYjI2YjcwZDQxMDhlOTUyZTQ3MDVkZGMzNTQ3YzQ4Mi4uNmQyOTU1YWY2MzczNWRkYjA4ZDE5
ZTc2N2MzMzdjODk4MmM0Y2VlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXJQcm94eS5oCkBAIC03Miw3ICs3Miw3
IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGRlcmVmV2ViQ29udGV4dFN1cHBsZW1lbnQo
KSBvdmVycmlkZTsKIAogICAgIC8vIElQQzo6TWVzc2FnZVJlY2VpdmVyCi0gICAgdmlydHVhbCB2
b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6TWVzc2FnZURlY29k
ZXImKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpD
b25uZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRlOwogCiAgICAgSGFzaE1h
cDx1aW50NjRfdCwgUmVmUHRyPEFycmF5Q2FsbGJhY2s+PiBtX2FycmF5Q2FsbGJhY2tzOwogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJv
eHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkuaApp
bmRleCBiODZjYmNiZDE4M2Q3MjE4ODk0MjBlMTkwODJjNDY2NzdiMzAzODIxLi44NTFhYWEyMzc0
NzFhNzlmMzc5ZjlhY2MyYTk2YWRhNmE2ZjQxZDJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViQ29va2llTWFuYWdlclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5oCkBAIC05Nyw3ICs5Nyw3IEBAIHByaXZh
dGU6CiAgICAgdmlydHVhbCB2b2lkIGRlcmVmV2ViQ29udGV4dFN1cHBsZW1lbnQoKSBvdmVycmlk
ZTsKIAogICAgIC8vIElQQzo6TWVzc2FnZVJlY2VpdmVyCi0gICAgdmlydHVhbCB2b2lkIGRpZFJl
Y2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6TWVzc2FnZURlY29kZXImKSBvdmVy
cmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9u
JiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRlOwogCiAjaWYgUExBVEZPUk0oQ09DT0Ep
CiAgICAgdm9pZCBwZXJzaXN0SFRUUENvb2tpZUFjY2VwdFBvbGljeShIVFRQQ29va2llQWNjZXB0
UG9saWN5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJEYXRhYmFz
ZU1hbmFnZXJQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkRhdGFiYXNlTWFu
YWdlclByb3h5LmgKaW5kZXggZGMwZTZmMzcxOGU3MTk4MmU5NDBlZDFhNmIwZTNmNTk3NjM0YzRk
ZS4uNjllNDQ2N2FiMjQ0NDVhODg2NDZhZmQwMmFhNDkzYjNlNTM3MDRiMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkRhdGFiYXNlTWFuYWdlclByb3h5LmgKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkRhdGFiYXNlTWFuYWdlclByb3h5LmgKQEAgLTg2
LDcgKzg2LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZXZWJDb250ZXh0U3Vw
cGxlbWVudCgpIG92ZXJyaWRlOwogCiAgICAgLy8gSVBDOjpNZXNzYWdlUmVjZWl2ZXIKLSAgICB2
aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNz
YWdlRGVjb2RlciYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2Fn
ZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgb3ZlcnJpZGU7CiAKICAg
ICAvLyBNZXNzYWdlIGhhbmRsZXJzLgogICAgIHZvaWQgZGlkR2V0RGF0YWJhc2VzQnlPcmlnaW4o
Y29uc3QgVmVjdG9yPE9yaWdpbkFuZERhdGFiYXNlcz4mIG9yaWdpbkFuZERhdGFiYXNlcywgdWlu
dDY0X3QgY2FsbGJhY2tJRCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkuaAppbmRleCA3NDM0MmVhYzRhMDE0MmE4YTUzZjkyNGQ0
ZmM0NGI4YjgzZTk0MjMxLi44NjQ1MzE3ODAyNThmODY3NDhiNzg4ODY5ODllM2Q4NDFjMDQwOTEw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnVsbFNjcmVlbk1hbmFn
ZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFu
YWdlclByb3h5LmgKQEAgLTgxLDggKzgxLDggQEAgcHJpdmF0ZToKICAgICB2b2lkIGJlZ2FuRW50
ZXJGdWxsU2NyZWVuKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGluaXRpYWxGcmFtZSwgY29uc3Qg
V2ViQ29yZTo6SW50UmVjdCYgZmluYWxGcmFtZSk7CiAgICAgdm9pZCBiZWdhbkV4aXRGdWxsU2Ny
ZWVuKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGluaXRpYWxGcmFtZSwgY29uc3QgV2ViQ29yZTo6
SW50UmVjdCYgZmluYWxGcmFtZSk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3Nh
Z2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRlOwotICAg
IHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlU3luY01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBD
OjpNZXNzYWdlRGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6Ok1lc3NhZ2VFbmNvZGVyPiYp
IG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5l
Y3Rpb24mLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lk
IGRpZFJlY2VpdmVTeW5jTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3NhZ2VEZWNv
ZGVyJiwgc3RkOjp1bmlxdWVfcHRyPElQQzo6TWVzc2FnZUVuY29kZXI+Jikgb3ZlcnJpZGU7CiAK
ICAgICBXZWJQYWdlUHJveHkqIG1fcGFnZTsKICAgICBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5
Q2xpZW50KiBtX2NsaWVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJHZW9sb2NhdGlvbk1hbmFnZXJQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
Ykdlb2xvY2F0aW9uTWFuYWdlclByb3h5LmgKaW5kZXggYjA3ZmI0MjA1YzZmM2FhOTA5YzZhNTEx
YjI0ZTY2NjQ1MTNlZDA3Mi4uZmE1MDg0NmE1YjNkMzVhMmRlZjZhNmU2ZDI4NDU5ZDcyZDQwYzZh
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkdlb2xvY2F0aW9uTWFu
YWdlclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkdlb2xvY2F0aW9u
TWFuYWdlclByb3h5LmgKQEAgLTY2LDcgKzY2LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZv
aWQgZGVyZWZXZWJDb250ZXh0U3VwcGxlbWVudCgpIG92ZXJyaWRlOwogCiAgICAgLy8gSVBDOjpN
ZXNzYWdlUmVjZWl2ZXIKLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpD
b25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwg
dm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3NhZ2VEZWNv
ZGVyJikgb3ZlcnJpZGU7CiAKICAgICBib29sIGlzVXBkYXRpbmcoKSBjb25zdCB7IHJldHVybiAh
bV91cGRhdGVSZXF1ZXN0ZXJzLmlzRW1wdHkoKTsgfQogICAgIGJvb2wgaXNIaWdoQWNjdXJhY3lF
bmFibGVkKCkgY29uc3QgeyByZXR1cm4gIW1faGlnaEFjY3VyYWN5UmVxdWVzdGVycy5pc0VtcHR5
KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJY29uRGF0YWJh
c2UuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJY29uRGF0YWJhc2UuaAppbmRleCBl
NWU5ODJmMzM2NWQ3ZTQxYjVjZTRjZWUwM2MwN2Y3YzBiY2UzY2U5Li43ZDhiNjAyNWYzYTk0ZGY1
NWJkMTVkMzFlMWU0NDM4MjJlOWRlZDUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViSWNvbkRhdGFiYXNlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
Ykljb25EYXRhYmFzZS5oCkBAIC0xMDEsOCArMTAxLDggQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFs
IHZvaWQgZGlkQ2xvc2UoKSBvdmVycmlkZTsKIAogICAgIC8vIElQQzo6TWVzc2FnZVJlY2VpdmVy
Ci0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQ
Qzo6TWVzc2FnZURlY29kZXImKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2
ZVN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6TWVzc2FnZURlY29kZXImLCBzdGQ6
OnVuaXF1ZV9wdHI8SVBDOjpNZXNzYWdlRW5jb2Rlcj4mKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFs
IHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVj
b2RlciYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlU3luY01lc3NhZ2Uo
SVBDOjpDb25uZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJ
UEM6Ok1lc3NhZ2VFbmNvZGVyPiYpIG92ZXJyaWRlOwogCiAgICAgdm9pZCBub3RpZnlJY29uRGF0
YVJlYWR5Rm9yUGFnZVVSTChjb25zdCBTdHJpbmcmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaAppbmRleCBmNTBhNDU2ZDg4Y2I4ZjRhZTM4MDBlMzc5
ZDgxYmEwNGMwOWYwOWE3Li5lMzBlNjFiOGJiZTE4MTQ1MzkzNDIwYjRlY2U3MDZlMGFkMDYwOTYw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHku
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaApAQCAt
MTU0LDcgKzE1NCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBlYWdlcmx5Q3JlYXRlSW5zcGVjdG9y
UGFnZSgpOwogCiAgICAgLy8gSVBDOjpNZXNzYWdlUmVjZWl2ZXIKLSAgICB2aXJ0dWFsIHZvaWQg
ZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYp
IG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5l
Y3Rpb24mLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgb3ZlcnJpZGU7CiAKICAgICBXZWJQYWdlUHJv
eHkqIHBsYXRmb3JtQ3JlYXRlSW5zcGVjdG9yUGFnZSgpOwogICAgIHZvaWQgcGxhdGZvcm1PcGVu
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTWVkaWFDYWNoZU1h
bmFnZXJQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYk1lZGlhQ2FjaGVNYW5h
Z2VyUHJveHkuaAppbmRleCAwY2VlMTU2Nzc4MmZmODgzNmE3NmFhNDI3MzlkYjYxYjJkMjljNjhh
Li4yOTIzNTgwNjMyZjA0MzAwMWY4ZmFiOTkzZjkyODA1OTc5MjY2MWM2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5LmgKQEAg
LTY4LDcgKzY4LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZXZWJDb250ZXh0
U3VwcGxlbWVudCgpIG92ZXJyaWRlOwogCiAgICAgLy8gSVBDOjpNZXNzYWdlUmVjZWl2ZXIKLSAg
ICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpN
ZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVz
c2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgb3ZlcnJpZGU7CiAK
ICAgICBIYXNoTWFwPHVpbnQ2NF90LCBSZWZQdHI8QXJyYXlDYWxsYmFjaz4+IG1fYXJyYXlDYWxs
YmFja3M7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYk9yaWdp
bkRhdGFNYW5hZ2VyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJPcmlnaW5E
YXRhTWFuYWdlclByb3h5LmgKaW5kZXggMjQyZGNmOGJmNWRlNjY4YzlhZjRlNGVkMzJjMTY0ZmFj
MmY2NTZlNy4uMTU0Y2U3OWEwNjA5MGM1NTlmMDc2MzFiNzc1ZGZjNmU0YTJlZGJiYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYk9yaWdpbkRhdGFNYW5hZ2VyUHJveHku
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViT3JpZ2luRGF0YU1hbmFnZXJQcm94
eS5oCkBAIC02Miw3ICs2Miw3IEBAIHB1YmxpYzoKICAgICB1c2luZyBBUEk6Ok9iamVjdDo6ZGVy
ZWY7CiAKICAgICAvLyBJUEM6Ok1lc3NhZ2VSZWNlaXZlcgotICAgIHZpcnR1YWwgdm9pZCBkaWRS
ZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgb3Zl
cnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlv
biYsIElQQzo6TWVzc2FnZURlY29kZXImKSBvdmVycmlkZTsKIAogcHJpdmF0ZToKICAgICBleHBs
aWNpdCBXZWJPcmlnaW5EYXRhTWFuYWdlclByb3h5KFdlYlByb2Nlc3NQb29sKik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggN2YzYjA3ZDc3YTAyN2E5ZjY4YTM1
ZGQ4ZmEzODQyMWIyM2M5YzU4Yi4uZWRlMzMyMjQyNzZmMDQ5YjVmNWQxODBiYjc3OTE1NzBlZDBl
YjNhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtOTgwLDgg
Kzk4MCw4IEBAIHByaXZhdGU6CiAKICAgICAvLyBJUEM6Ok1lc3NhZ2VSZWNlaXZlcgogICAgIC8v
IEltcGxlbWVudGVkIGluIGdlbmVyYXRlZCBXZWJQYWdlUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3Bw
Ci0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQ
Qzo6TWVzc2FnZURlY29kZXImKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2
ZVN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6TWVzc2FnZURlY29kZXImLCBzdGQ6
OnVuaXF1ZV9wdHI8SVBDOjpNZXNzYWdlRW5jb2Rlcj4mKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFs
IHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVj
b2RlciYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlU3luY01lc3NhZ2Uo
SVBDOjpDb25uZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJ
UEM6Ok1lc3NhZ2VFbmNvZGVyPiYpIG92ZXJyaWRlOwogCiAgICAgLy8gSVBDOjpNZXNzYWdlU2Vu
ZGVyCiAgICAgdmlydHVhbCBib29sIHNlbmRNZXNzYWdlKHN0ZDo6dW5pcXVlX3B0cjxJUEM6Ok1l
c3NhZ2VFbmNvZGVyPiwgdW5zaWduZWQgbWVzc2FnZVNlbmRGbGFncykgb3ZlcnJpZGU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFzdGVib2FyZFByb3h5LmggYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFzdGVib2FyZFByb3h5LmgKaW5kZXggN2FkODE2
MzRhNDQ2N2RmZTNjMDk1NzE3YTIyYmY2NjMwODllMmQ3Yi4uMmU0NjczODgwMDMxZDZlZDZjYTkz
YzNlZjZkNjcwMGRiNTg5MTRkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhc3RlYm9hcmRQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YXN0ZWJvYXJkUHJveHkuaApAQCAtNTMsOCArNTMsOCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAg
IFdlYlBhc3RlYm9hcmRQcm94eSgpOwogCi0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNz
YWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6TWVzc2FnZURlY29kZXImKSBvdmVycmlkZTsKLSAg
ICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQ
Qzo6TWVzc2FnZURlY29kZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpNZXNzYWdlRW5jb2Rlcj4m
KSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25u
ZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9p
ZCBkaWRSZWNlaXZlU3luY01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVj
b2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6Ok1lc3NhZ2VFbmNvZGVyPiYpIG92ZXJyaWRlOwog
CiAjaWYgUExBVEZPUk0oSU9TKQogICAgIHZvaWQgd3JpdGVXZWJDb250ZW50VG9QYXN0ZWJvYXJk
KGNvbnN0IFdlYkNvcmU6OlBhc3RlYm9hcmRXZWJDb250ZW50Jik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAppbmRleCBjMTE5YTAzZTMzZjc1ZTNjZDc2ZTJm
OGJjODJmNGMwZDI1M2FiMTUxLi5lOTcyZGYwNzcwZTc0ZjA2YjY3MGFiYjQ0ZmNkY2UwNGQyZmYw
NmViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAg
LTExMDcsMTIgKzExMDcsMTIgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cmVtb3ZlTWVzc2FnZVJl
Y2VpdmVyKElQQzo6U3RyaW5nUmVmZXJlbmNlIG1lc3NhZ2VSZWNlaXZlck4KICAgICBtX21lc3Nh
Z2VSZWNlaXZlck1hcC5yZW1vdmVNZXNzYWdlUmVjZWl2ZXIobWVzc2FnZVJlY2VpdmVyTmFtZSwg
ZGVzdGluYXRpb25JRCk7CiB9CiAKLWJvb2wgV2ViUHJvY2Vzc1Bvb2w6OmRpc3BhdGNoTWVzc2Fn
ZShJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIElQQzo6TWVzc2FnZURlY29kZXImIGRlY29k
ZXIpCitib29sIFdlYlByb2Nlc3NQb29sOjpkaXNwYXRjaE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9u
JiBjb25uZWN0aW9uLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyKQogewogICAgIHJldHVy
biBtX21lc3NhZ2VSZWNlaXZlck1hcC5kaXNwYXRjaE1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rl
cik7CiB9CiAKLWJvb2wgV2ViUHJvY2Vzc1Bvb2w6OmRpc3BhdGNoU3luY01lc3NhZ2UoSVBDOjpD
b25uZWN0aW9uKiBjb25uZWN0aW9uLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyLCBzdGQ6
OnVuaXF1ZV9wdHI8SVBDOjpNZXNzYWdlRW5jb2Rlcj4mIHJlcGx5RW5jb2RlcikKK2Jvb2wgV2Vi
UHJvY2Vzc1Bvb2w6OmRpc3BhdGNoU3luY01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0
aW9uLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpN
ZXNzYWdlRW5jb2Rlcj4mIHJlcGx5RW5jb2RlcikKIHsKICAgICByZXR1cm4gbV9tZXNzYWdlUmVj
ZWl2ZXJNYXAuZGlzcGF0Y2hTeW5jTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyLCByZXBseUVu
Y29kZXIpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQb29sLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAppbmRl
eCAwZjNiYzdjZDZhZTE3NmJkOTgxMGY0MTRmZTNlMjc0OTM4NDU1NTZjLi5kZGM0ZmI2Yzk5YWUz
OWRmMDJjMTY0NzdlMWMwYjAzZDUyZjQ1ZGE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Bvb2wuaApAQCAtMTM2LDggKzEzNiw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGFk
ZE1lc3NhZ2VSZWNlaXZlcihJUEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlUmVjZWl2ZXJOYW1l
LCB1aW50NjRfdCBkZXN0aW5hdGlvbklELCBJUEM6Ok1lc3NhZ2VSZWNlaXZlciYpOwogICAgIHZv
aWQgcmVtb3ZlTWVzc2FnZVJlY2VpdmVyKElQQzo6U3RyaW5nUmVmZXJlbmNlIG1lc3NhZ2VSZWNl
aXZlck5hbWUsIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQpOwogCi0gICAgYm9vbCBkaXNwYXRjaE1l
c3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpOwotICAgIGJvb2wg
ZGlzcGF0Y2hTeW5jTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNvZGVy
Jiwgc3RkOjp1bmlxdWVfcHRyPElQQzo6TWVzc2FnZUVuY29kZXI+Jik7CisgICAgYm9vbCBkaXNw
YXRjaE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpOworICAg
IGJvb2wgZGlzcGF0Y2hTeW5jTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3NhZ2VE
ZWNvZGVyJiwgc3RkOjp1bmlxdWVfcHRyPElQQzo6TWVzc2FnZUVuY29kZXI+Jik7CiAKICAgICB2
b2lkIGluaXRpYWxpemVDbGllbnQoY29uc3QgV0tDb250ZXh0Q2xpZW50QmFzZSopOwogICAgIHZv
aWQgaW5pdGlhbGl6ZUluamVjdGVkQnVuZGxlQ2xpZW50KGNvbnN0IFdLQ29udGV4dEluamVjdGVk
QnVuZGxlQ2xpZW50QmFzZSopOwpAQCAtMzc5LDggKzM3OSw4IEBAIHByaXZhdGU6CiAKICAgICAv
LyBJUEM6Ok1lc3NhZ2VSZWNlaXZlci4KICAgICAvLyBJbXBsZW1lbnRlZCBpbiBnZW5lcmF0ZWQg
V2ViUHJvY2Vzc1Bvb2xNZXNzYWdlUmVjZWl2ZXIuY3BwCi0gICAgdmlydHVhbCB2b2lkIGRpZFJl
Y2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6TWVzc2FnZURlY29kZXImKSBvdmVy
cmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQQzo6Q29ubmVj
dGlvbiosIElQQzo6TWVzc2FnZURlY29kZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpNZXNzYWdl
RW5jb2Rlcj4mKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2Uo
SVBDOjpDb25uZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRlOworICAgIHZp
cnR1YWwgdm9pZCBkaWRSZWNlaXZlU3luY01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpN
ZXNzYWdlRGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6Ok1lc3NhZ2VFbmNvZGVyPiYpIG92
ZXJyaWRlOwogCiAgICAgc3RhdGljIHZvaWQgbGFuZ3VhZ2VDaGFuZ2VkKHZvaWQqIGNvbnRleHQp
OwogICAgIHZvaWQgbGFuZ3VhZ2VDaGFuZ2VkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUHJveHkuY3BwCmluZGV4IDY0ZWE0ZjA5ZTljZThiNTk1NDY5Y2Q1OGUyYmFi
NGVjNDE1NWQxYjEuLjkyZmVhNTMwNGE4NjllMmRjMWVmYjBkOTkwYzhjOWRkZWFlODRkM2IgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCkBAIC00MDgs
NyArNDA4LDcgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OmdldERhdGFiYXNlUHJvY2Vzc0Nvbm5l
Y3Rpb24oUGFzc1JlZlB0cjxNZXNzYWdlczo6V2ViUHJvY2UKIH0KICNlbmRpZiAvLyBFTkFCTEUo
REFUQUJBU0VfUFJPQ0VTUykKIAotdm9pZCBXZWJQcm9jZXNzUHJveHk6OmRpZFJlY2VpdmVNZXNz
YWdlKElQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbiwgSVBDOjpNZXNzYWdlRGVjb2RlciYgZGVj
b2RlcikKK3ZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5l
Y3Rpb24mIGNvbm5lY3Rpb24sIElQQzo6TWVzc2FnZURlY29kZXImIGRlY29kZXIpCiB7CiAgICAg
aWYgKGRpc3BhdGNoTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKSkKICAgICAgICAgcmV0dXJu
OwpAQCAtNDI0LDcgKzQyNCw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpkaWRSZWNlaXZlTWVz
c2FnZShJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIElQQzo6TWVzc2FnCiAgICAgLy8gRklY
TUU6IEFkZCB1bmhhbmRsZWQgbWVzc2FnZSBsb2dnaW5nLgogfQogCi12b2lkIFdlYlByb2Nlc3NQ
cm94eTo6ZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbiwg
SVBDOjpNZXNzYWdlRGVjb2RlciYgZGVjb2Rlciwgc3RkOjp1bmlxdWVfcHRyPElQQzo6TWVzc2Fn
ZUVuY29kZXI+JiByZXBseUVuY29kZXIpCit2b2lkIFdlYlByb2Nlc3NQcm94eTo6ZGlkUmVjZWl2
ZVN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDOjpNZXNzYWdlRGVj
b2RlciYgZGVjb2Rlciwgc3RkOjp1bmlxdWVfcHRyPElQQzo6TWVzc2FnZUVuY29kZXI+JiByZXBs
eUVuY29kZXIpCiB7CiAgICAgaWYgKGRpc3BhdGNoU3luY01lc3NhZ2UoY29ubmVjdGlvbiwgZGVj
b2RlciwgcmVwbHlFbmNvZGVyKSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCmluZGV4IDJlMTk4NzdhZTk4YzlkODkxNDgzNGY5Nzdl
MzdmMDUyNGJhOGIxNmQuLmE4N2FhYTVmYTM5NjYyNDI0OWE5YjQ3NjcyMzZhM2ZjYjJiMTVmNGIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKQEAgLTE4MCw4
ICsxODAsOCBAQCBwcml2YXRlOgogCiAgICAgLy8gSVBDOjpDb25uZWN0aW9uOjpDbGllbnQKICAg
ICBmcmllbmQgY2xhc3MgV2ViQ29ubmVjdGlvblRvV2ViUHJvY2VzczsKLSAgICB2aXJ0dWFsIHZv
aWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2Rl
ciYpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlU3luY01lc3NhZ2UoSVBD
OjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6
Ok1lc3NhZ2VFbmNvZGVyPiYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZl
TWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgb3ZlcnJpZGU7
CisgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVTeW5jTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24m
LCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJiwgc3RkOjp1bmlxdWVfcHRyPElQQzo6TWVzc2FnZUVuY29k
ZXI+Jikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGRpZENsb3NlKElQQzo6Q29ubmVjdGlv
biYpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlSW52YWxpZE1lc3NhZ2Uo
SVBDOjpDb25uZWN0aW9uJiwgSVBDOjpTdHJpbmdSZWZlcmVuY2UgbWVzc2FnZVJlY2VpdmVyTmFt
ZSwgSVBDOjpTdHJpbmdSZWZlcmVuY2UgbWVzc2FnZU5hbWUpIG92ZXJyaWRlOwogCkBAIC0xOTQs
OCArMTk0LDggQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNoTGF1bmNoaW5n
KFByb2Nlc3NMYXVuY2hlciosIElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllcikgb3ZlcnJpZGU7
CiAKICAgICAvLyBJbXBsZW1lbnRlZCBpbiBnZW5lcmF0ZWQgV2ViUHJvY2Vzc1Byb3h5TWVzc2Fn
ZVJlY2VpdmVyLmNwcAotICAgIHZvaWQgZGlkUmVjZWl2ZVdlYlByb2Nlc3NQcm94eU1lc3NhZ2Uo
SVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpOwotICAgIHZvaWQgZGlkUmVj
ZWl2ZVN5bmNXZWJQcm9jZXNzUHJveHlNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6TWVz
c2FnZURlY29kZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpNZXNzYWdlRW5jb2Rlcj4mKTsKKyAg
ICB2b2lkIGRpZFJlY2VpdmVXZWJQcm9jZXNzUHJveHlNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYs
IElQQzo6TWVzc2FnZURlY29kZXImKTsKKyAgICB2b2lkIGRpZFJlY2VpdmVTeW5jV2ViUHJvY2Vz
c1Byb3h5TWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJiwgc3Rk
Ojp1bmlxdWVfcHRyPElQQzo6TWVzc2FnZUVuY29kZXI+Jik7CiAKICAgICBib29sIGNhblRlcm1p
bmF0ZUNoaWxkUHJvY2VzcygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHkuaAppbmRleCA3NjcyYTQ2YWI1N2E1NDk5
N2E5YmEwYzNlMDVjZjAyYzAyNjJhZTQyLi41YjZkMzAzOGEwYjI5ZmM5Y2Q3MzRiMWFhODI2MGE0
NzUzYmRkMzc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3Vy
Y2VDYWNoZU1hbmFnZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJS
ZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5LmgKQEAgLTY4LDcgKzY4LDcgQEAgcHJpdmF0ZToKICAg
ICB2aXJ0dWFsIHZvaWQgZGVyZWZXZWJDb250ZXh0U3VwcGxlbWVudCgpIG92ZXJyaWRlOwogCiAg
ICAgLy8gSVBDOjpNZXNzYWdlUmVjZWl2ZXIKLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1l
c3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRlOwor
ICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6
Ok1lc3NhZ2VEZWNvZGVyJikgb3ZlcnJpZGU7CiAKICAgICAvLyBNZXNzYWdlIGhhbmRsZXJzLgog
ICAgIHZvaWQgZGlkR2V0Q2FjaGVPcmlnaW5zKGNvbnN0IFZlY3RvcjxTZWN1cml0eU9yaWdpbkRh
dGE+JiBvcmlnaW5JZGVudGlmaWVycywgdWludDY0X3QgY2FsbGJhY2tJRCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1NtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xs
ZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvU21hcnRNYWduaWZpY2F0aW9uQ29u
dHJvbGxlci5oCmluZGV4IDg4OGRiODVlODhlYWVhOTRlOGVmODM5ZDRkOWJlOWQxYzgzMzQ4YmIu
LmQwY2RlOWVhNmNiNDRjMjk0NjJlZjdlZGFlMzc1N2RmZGNlYzU2NDYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlci5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvU21hcnRNYWduaWZpY2F0aW9uQ29u
dHJvbGxlci5oCkBAIC01MSw3ICs1MSw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICAvLyBJ
UEM6Ok1lc3NhZ2VSZWNlaXZlci4KLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2Uo
SVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRlOworICAgIHZp
cnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3Nh
Z2VEZWNvZGVyJikgb3ZlcnJpZGU7CiAKICAgICB2b2lkIGRpZENvbGxlY3RHZW9tZXRyeUZvclNt
YXJ0TWFnbmlmaWNhdGlvbkdlc3R1cmUoV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4sIFdlYkNv
cmU6OkZsb2F0UmVjdCByZW5kZXJSZWN0LCBXZWJDb3JlOjpGbG9hdFJlY3QgdmlzaWJsZUNvbnRl
bnRCb3VuZHMsIGJvb2wgaXNSZXBsYWNlZEVsZW1lbnQsIGRvdWJsZSB2aWV3cG9ydE1pbmltdW1T
Y2FsZSwgZG91YmxlIHZpZXdwb3J0TWF4aW11bVNjYWxlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkuaCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclBy
b3h5LmgKaW5kZXggNTMyNTg4N2MzYTJhOTI5NjQzZTgzNjFhZDVlNmFjMWQ0MTg2MmYwNy4uNzg2
OTk5NmI4NmUxYjhlMTZmOGVhZTgyZTUxMzBhYmE2MjdhNzUzOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlZpZGVvRnVsbHNjcmVlbk1hbmFn
ZXJQcm94eS5oCkBAIC01Miw3ICs1Miw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBleHBs
aWNpdCBXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkoV2ViUGFnZVByb3h5Jik7Ci0gICAg
dmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6TWVz
c2FnZURlY29kZXImKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3Nh
Z2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRlOwogCiAg
ICAgLy8gVHJhbnNsYXRlIHRvIEZ1bGxzY3JlZW5JbnRlcmZhY2UKICAgICB2b2lkIHNldHVwRnVs
bHNjcmVlbldpdGhJRCh1aW50MzJfdCwgV2ViQ29yZTo6SW50UmVjdCBpbml0aWFsUmVjdCwgZmxv
YXQgaG9zdGluZ0RldmljZVNjYWxlRmFjdG9yLCBXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpW
aWRlb0Z1bGxzY3JlZW5Nb2RlLCBib29sIGFsbG93T3B0aW1pemVkRnVsbHNjcmVlbik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdp
bmdBcmVhUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJU
cmVlRHJhd2luZ0FyZWFQcm94eS5oCmluZGV4IDg4YWVlNzcwNmI4NzE1MGE4MzQwOTM5MjY5Yjhh
YTAyNDliNTg2MjcuLmExNTVhZTljMDY0MzIyYjFiMGExNWQ0NjRhNTk2NWNkMzVkZDNjNDIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJh
d2luZ0FyZWFQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3Rl
TGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5oCkBAIC04MSw3ICs4MSw3IEBAIHByaXZhdGU6CiAg
ICAgV2ViQ29yZTo6RmxvYXRQb2ludCBpbmRpY2F0b3JMb2NhdGlvbigpIGNvbnN0OwogCiAgICAg
Ly8gSVBDOjpNZXNzYWdlUmVjZWl2ZXIKLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3Nh
Z2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRlOworICAg
IHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6Ok1l
c3NhZ2VEZWNvZGVyJikgb3ZlcnJpZGU7CiAKICAgICAvLyBNZXNzYWdlIGhhbmRsZXJzCiAgICAg
dm9pZCB3aWxsQ29tbWl0TGF5ZXJUcmVlKHVpbnQ2NF90IHRyYW5zYWN0aW9uSUQpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9TZWNJdGVtU2hpbVByb3h5LmggYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1NlY0l0ZW1TaGltUHJveHkuaAppbmRleCBiMzk5
MmZiNDFhNWIwYmExMzhlNDQzYTU4YTc0OGY2ZmE5MDU1OGRlLi44MmY3ZDdiOGY2NTRiYzc4MTc5
NGNiNDA0MGU5ZjlkYjU1NThlMTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvbWFjL1NlY0l0ZW1TaGltUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
bWFjL1NlY0l0ZW1TaGltUHJveHkuaApAQCAtNDUsNyArNDUsNyBAQCBwcml2YXRlOgogICAgIFNl
Y0l0ZW1TaGltUHJveHkoKTsKIAogICAgIC8vIElQQzo6Q29ubmVjdGlvbjo6V29ya1F1ZXVlTWVz
c2FnZVJlY2VpdmVyCi0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29u
bmVjdGlvbiosIElQQzo6TWVzc2FnZURlY29kZXImKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZv
aWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVjb2Rl
ciYpIG92ZXJyaWRlOwogCiAgICAgdm9pZCBzZWNJdGVtUmVxdWVzdChJUEM6OkNvbm5lY3Rpb24m
LCB1aW50NjRfdCByZXF1ZXN0SUQsIGNvbnN0IFNlY0l0ZW1SZXF1ZXN0RGF0YSYpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxl
ci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9WaWV3R2VzdHVyZUNvbnRyb2xsZXIu
aAppbmRleCA2NGZkMTMzZGQ1YzBiNTUwOGIwZjMzZWUyZWYyZDZlMGUzZmZkNzA1Li45MTZkZDU0
ZmZlOGVlNTYwMDE4ZWQyZWM5ZWMxZDIyMDg4YzhkY2IwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9tYWMvVmlld0dlc3R1cmVDb250cm9sbGVyLmgKQEAgLTEyNyw3ICsx
MjcsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgLy8gSVBDOjpNZXNzYWdlUmVjZWl2ZXIu
Ci0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQ
Qzo6TWVzc2FnZURlY29kZXImKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2
ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRl
OwogCiAgICAgdm9pZCBzd2lwZVNuYXBzaG90V2F0Y2hkb2dUaW1lckZpcmVkKCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvQXBwbGljYXRpb25DYWNoZS9XZWJBcHBs
aWNhdGlvbkNhY2hlTWFuYWdlci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9BcHBsaWNh
dGlvbkNhY2hlL1dlYkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyLmgKaW5kZXggZmQ5NjI5Nzc3N2M0
ZTcyZjZlZGQ2NjQzZjAxZjhlYjFjYzJjNTI0My4uZjE1NTliNzc4MzU4YzFlZmNiNmYxM2E1OWQy
ZTdmZWE0Y2QyZjc4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9BcHBs
aWNhdGlvbkNhY2hlL1dlYkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9BcHBsaWNhdGlvbkNhY2hlL1dlYkFwcGxpY2F0aW9uQ2FjaGVNYW5h
Z2VyLmgKQEAgLTUxLDcgKzUxLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRlbGV0ZUVudHJpZXNG
b3JPcmlnaW4oY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJik7CiAKICAgICAvLyBJUEM6Ok1lc3Nh
Z2VSZWNlaXZlcgotICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5l
Y3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lk
IGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6TWVzc2FnZURlY29kZXIm
KSBvdmVycmlkZTsKIAogICAgIENoaWxkUHJvY2VzcyogbV9jaGlsZFByb2Nlc3M7CiB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Db29raWVzL1dlYkNvb2tpZU1hbmFn
ZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvQ29va2llcy9XZWJDb29raWVNYW5hZ2Vy
LmgKaW5kZXggNTEyNzJhMWU4MmRhYTFiODFjOTcwOTg4N2EwMjFiZjEwNWE1ZTZkOS4uYzgyODcz
YjZlYmM2YTc0NWNjOGQxNzRmYjA4YzdiNjY3ZTI3MTBlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9Db29raWVzL1dlYkNvb2tpZU1hbmFnZXIuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL0Nvb2tpZXMvV2ViQ29va2llTWFuYWdlci5oCkBAIC01Niw3ICs1
Niw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICAvLyBJUEM6Ok1lc3NhZ2VSZWNlaXZlcgot
ICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qLCBJUEM6
Ok1lc3NhZ2VEZWNvZGVyJikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVN
ZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6TWVzc2FnZURlY29kZXImKSBvdmVycmlkZTsK
IAogICAgIHZvaWQgZ2V0SG9zdG5hbWVzV2l0aENvb2tpZXModWludDY0X3QgY2FsbGJhY2tJRCk7
CiAgICAgdm9pZCBkZWxldGVDb29raWVzRm9ySG9zdG5hbWUoY29uc3QgU3RyaW5nJik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2Vi
SURCU2VydmVyQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9EYXRhYmFz
ZXMvSW5kZXhlZERCL1dlYklEQlNlcnZlckNvbm5lY3Rpb24uaAppbmRleCBjYWJlMDZhNDYxZTk4
YmI3Mjk1Mzc0MTIwZjE3MGQ5NjQwMmU2NWQ2Li5mNjBkNjcyNGJmMTU0ZGI0ZWUxNzM4NjMwYTUy
OTUzNTZhOTk2OWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0RhdGFi
YXNlcy9JbmRleGVkREIvV2ViSURCU2VydmVyQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXJDb25uZWN0aW9u
LmgKQEAgLTg3LDcgKzg3LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBjdXJzb3JJdGVy
YXRlKFdlYkNvcmU6OklEQkN1cnNvckJhY2tlbmQmLCBjb25zdCBXZWJDb3JlOjpDdXJzb3JJdGVy
YXRpb25PcGVyYXRpb24mLCBzdGQ6OmZ1bmN0aW9uPHZvaWQgKFBhc3NSZWZQdHI8V2ViQ29yZTo6
SURCS2V5PiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpJREJLZXk+LCBQYXNzUmVmUHRyPFdlYkNvcmU6
OlNoYXJlZEJ1ZmZlcj4sIFBhc3NSZWZQdHI8V2ViQ29yZTo6SURCRGF0YWJhc2VFcnJvcj4pPiBj
b21wbGV0aW9uQ2FsbGJhY2spIG92ZXJyaWRlOwogCiAgICAgLy8gTWVzc2FnZSBoYW5kbGVycy4K
LSAgICB2b2lkIGRpZFJlY2VpdmVXZWJJREJTZXJ2ZXJDb25uZWN0aW9uTWVzc2FnZShJUEM6OkNv
bm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CisgICAgdm9pZCBkaWRSZWNlaXZlV2Vi
SURCU2VydmVyQ29ubmVjdGlvbk1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpNZXNzYWdl
RGVjb2RlciYpOwogCiAgICAgLy8gSVBDOjpNZXNzYWdlU2VuZGVyCiAgICAgdmlydHVhbCB1aW50
NjRfdCBtZXNzYWdlU2VuZGVyRGVzdGluYXRpb25JRCgpIG92ZXJyaWRlIHsgcmV0dXJuIG1fc2Vy
dmVyQ29ubmVjdGlvbklkZW50aWZpZXI7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvRGF0YWJhc2VzL1dlYlRvRGF0YWJhc2VQcm9jZXNzQ29ubmVjdGlvbi5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0RhdGFiYXNlcy9XZWJUb0RhdGFiYXNlUHJvY2Vzc0Nv
bm5lY3Rpb24uY3BwCmluZGV4IGM2MDY0OGZmNTczY2E5ZTYyMWMxMTcxNTU0NDUzNDcyNzNkOWJh
YzMuLjBkZTc1Yjk5MzQ1ZjU3MDY5YjI1NGE2MmFlMTY0MDNjNjQzMTU2NDAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRGF0YWJhc2VzL1dlYlRvRGF0YWJhc2VQcm9jZXNz
Q29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9EYXRhYmFzZXMv
V2ViVG9EYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uLmNwcApAQCAtNDksNyArNDksNyBAQCBXZWJU
b0RhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rpb246On5XZWJUb0RhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rp
b24oKQogewogfQogCi12b2lkIFdlYlRvRGF0YWJhc2VQcm9jZXNzQ29ubmVjdGlvbjo6ZGlkUmVj
ZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBJUEM6Ok1lc3NhZ2VEZWNv
ZGVyJiBkZWNvZGVyKQordm9pZCBXZWJUb0RhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZFJl
Y2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDOjpNZXNzYWdlRGVj
b2RlciYgZGVjb2RlcikKIHsKICAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkg
PT0gTWVzc2FnZXM6OldlYklEQlNlcnZlckNvbm5lY3Rpb246Om1lc3NhZ2VSZWNlaXZlck5hbWUo
KSkgewogICAgICAgICBIYXNoTWFwPHVpbnQ2NF90LCBXZWJJREJTZXJ2ZXJDb25uZWN0aW9uKj46
Oml0ZXJhdG9yIGNvbm5lY3Rpb25JdGVyYXRvciA9IG1fd2ViSURCU2VydmVyQ29ubmVjdGlvbnMu
ZmluZChkZWNvZGVyLmRlc3RpbmF0aW9uSUQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL0RhdGFiYXNlcy9XZWJUb0RhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rpb24uaCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRGF0YWJhc2VzL1dlYlRvRGF0YWJhc2VQcm9jZXNz
Q29ubmVjdGlvbi5oCmluZGV4IGQzMDZjMGNiMGZiYjQwYzM0YzU3NGZlMTQ0OGRhOGU5NzBhMTIw
NzcuLmRmMjMxNjY5YTNhOTkwMTFmOWY5NDQ0YTUwOGVkOGFmZjZhYmU4YjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRGF0YWJhc2VzL1dlYlRvRGF0YWJhc2VQcm9jZXNz
Q29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRGF0YWJhc2VzL1dl
YlRvRGF0YWJhc2VQcm9jZXNzQ29ubmVjdGlvbi5oCkBAIC01NSw3ICs1NSw3IEBAIHByaXZhdGU6
CiAgICAgV2ViVG9EYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uKElQQzo6Q29ubmVjdGlvbjo6SWRl
bnRpZmllcik7CiAKICAgICAvLyBJUEM6OkNvbm5lY3Rpb246OkNsaWVudAotICAgIHZpcnR1YWwg
dm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNv
ZGVyJikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6
Q29ubmVjdGlvbiYsIElQQzo6TWVzc2FnZURlY29kZXImKSBvdmVycmlkZTsKICAgICB2aXJ0dWFs
IHZvaWQgZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9uJikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2
b2lkIGRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OlN0cmlu
Z1JlZmVyZW5jZSBtZXNzYWdlUmVjZWl2ZXJOYW1lLCBJUEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNz
YWdlTmFtZSkgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvRnVsbFNjcmVlbi9XZWJGdWxsU2NyZWVuTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuY3BwCmluZGV4IDhiYTU2
MWFhNGUyYWQ0NjkxM2ExOWM2YTY3YzM4NmM5NjcwNzc3MjYuLmE0MjM3NWQ2OTJlMjM5MzUxZTg3
NGMwZjY5ZDc4OWY3ODViYjJhZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvRnVsbFNjcmVlbi9XZWJGdWxsU2NyZWVuTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9GdWxsU2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyLmNwcApAQCAtNzks
NyArNzksNyBAQCBXZWJDb3JlOjpFbGVtZW50KiBXZWJGdWxsU2NyZWVuTWFuYWdlcjo6ZWxlbWVu
dCgpCiAgICAgcmV0dXJuIG1fZWxlbWVudC5nZXQoKTsgCiB9CiAKLXZvaWQgV2ViRnVsbFNjcmVl
bk1hbmFnZXI6OmRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbiwg
SVBDOjpNZXNzYWdlRGVjb2RlciYgZGVjb2RlcikKK3ZvaWQgV2ViRnVsbFNjcmVlbk1hbmFnZXI6
OmRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDOjpNZXNz
YWdlRGVjb2RlciYgZGVjb2RlcikKIHsKICAgICBkaWRSZWNlaXZlV2ViRnVsbFNjcmVlbk1hbmFn
ZXJNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9GdWxsU2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuaApp
bmRleCBhN2ZkZmM2ZTlkMjliNTg1YzcyYjA5MzMwNzI4YjRhOWQ0YTk2MzAxLi5kMjhkODViYTRl
Mjg5MGI4Y2QwYTI2NWQwYzhlYzc4MTk0MWVjY2E1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuaApA
QCAtNTEsNyArNTEsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViRnVsbFNj
cmVlbk1hbmFnZXI+IGNyZWF0ZShXZWJQYWdlKik7CiAgICAgdmlydHVhbCB+V2ViRnVsbFNjcmVl
bk1hbmFnZXIoKTsKIAotICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9u
KiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpOworICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBD
OjpDb25uZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogCiAgICAgYm9vbCBzdXBwb3J0
c0Z1bGxTY3JlZW4oYm9vbCB3aXRoS2V5Ym9hcmQpOwogICAgIHZvaWQgZW50ZXJGdWxsU2NyZWVu
Rm9yRWxlbWVudChXZWJDb3JlOjpFbGVtZW50Kik7CkBAIC03NCw3ICs3NCw3IEBAIHByb3RlY3Rl
ZDoKICAgICB2b2lkIHNhdmVTY3JvbGxQb3NpdGlvbigpOwogICAgIHZvaWQgcmVzdG9yZVNjcm9s
bFBvc2l0aW9uKCk7CiAKLSAgICB2b2lkIGRpZFJlY2VpdmVXZWJGdWxsU2NyZWVuTWFuYWdlck1l
c3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpOworICAgIHZvaWQg
ZGlkUmVjZWl2ZVdlYkZ1bGxTY3JlZW5NYW5hZ2VyTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJ
UEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAKICAgICBXZWJDb3JlOjpJbnRSZWN0IG1faW5pdGlhbEZy
YW1lOwogICAgIFdlYkNvcmU6OkludFJlY3QgbV9maW5hbEZyYW1lOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9HZW9sb2NhdGlvbi9XZWJHZW9sb2NhdGlvbk1hbmFnZXIu
aCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvR2VvbG9jYXRpb24vV2ViR2VvbG9jYXRpb25N
YW5hZ2VyLmgKaW5kZXggOTU5MDhmNjE5YzE4ZTI4YjBjMmZiYmJmM2RjNTAyNDRmNzc4MjBiNy4u
ODA5M2E4MmE2ZTEwMmUwOWNiODQ2ZDZmYWM5ODIwMGU3NzNjNTFkYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9HZW9sb2NhdGlvbi9XZWJHZW9sb2NhdGlvbk1hbmFnZXIu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0dlb2xvY2F0aW9uL1dlYkdlb2xvY2F0
aW9uTWFuYWdlci5oCkBAIC01OCw3ICs1OCw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICAv
LyBJUEM6Ok1lc3NhZ2VSZWNlaXZlcgotICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2Fn
ZShJUEM6OkNvbm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgb3ZlcnJpZGU7CisgICAg
dmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6TWVz
c2FnZURlY29kZXImKSBvdmVycmlkZTsKIAogICAgIGJvb2wgaXNVcGRhdGluZygpIGNvbnN0IHsg
cmV0dXJuICFtX3BhZ2VTZXQuaXNFbXB0eSgpOyB9CiAgICAgYm9vbCBpc0hpZ2hBY2N1cmFjeUVu
YWJsZWQoKSBjb25zdCB7IHJldHVybiAhbV9oaWdoQWNjdXJhY3lQYWdlU2V0LmlzRW1wdHkoKTsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JY29uRGF0YWJhc2UvV2Vi
SWNvbkRhdGFiYXNlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSWNvbkRhdGFi
YXNlL1dlYkljb25EYXRhYmFzZVByb3h5LmgKaW5kZXggYmRkYmY5N2ZmYTNhNTVkNjQ0Y2Y2MDIx
MjcxMDFjNDVlNjAxYjVlMC4uMzc2YjJiZTY5MzU5MGRlOThjZWJlNzNkMThiNWUxNWJjMjMwNzA3
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JY29uRGF0YWJhc2UvV2Vi
SWNvbkRhdGFiYXNlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0ljb25E
YXRhYmFzZS9XZWJJY29uRGF0YWJhc2VQcm94eS5oCkBAIC02NCw3ICs2NCw3IEBAIHB1YmxpYzoK
IAogcHJpdmF0ZToKICAgICAvLyBJUEM6Ok1lc3NhZ2VSZWNlaXZlcgotICAgIHZvaWQgZGlkUmVj
ZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJy
aWRlOworICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpN
ZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRlOwogICAgIAogICAgIC8vIENhbGxiYWNrcyBmcm9tIHRo
ZSBVSVByb2Nlc3MKICAgICB2b2lkIHVybEltcG9ydEZpbmlzaGVkKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL01lZGlhQ2FjaGUvV2ViTWVkaWFDYWNoZU1hbmFnZXIu
aCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTWVkaWFDYWNoZS9XZWJNZWRpYUNhY2hlTWFu
YWdlci5oCmluZGV4IGM2MjUxMWIwMjU4YWM0N2ZlYWFkODE0MTA5ZmNmYTVhZTkyOTY3YWQuLjYy
ZWRkMjA0NzVjMzFhZjhhOGQwM2ViNDllNjhlMTMzM2ZhZDVjMDkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvTWVkaWFDYWNoZS9XZWJNZWRpYUNhY2hlTWFuYWdlci5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTWVkaWFDYWNoZS9XZWJNZWRpYUNhY2hlTWFu
YWdlci5oCkBAIC00NCw3ICs0NCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3QgY2hhciog
c3VwcGxlbWVudE5hbWUoKTsKIAogcHJpdmF0ZToKLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2
ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRl
OworICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJ
UEM6Ok1lc3NhZ2VEZWNvZGVyJikgb3ZlcnJpZGU7CiAKICAgICB2b2lkIGdldEhvc3RuYW1lc1dp
dGhNZWRpYUNhY2hlKHVpbnQ2NF90IGNhbGxiYWNrSUQpOwogICAgIHZvaWQgY2xlYXJDYWNoZUZv
ckhvc3RuYW1lKGNvbnN0IFN0cmluZyYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcAppbmRl
eCA4NDMyOWRkY2U0OTZlZWY0NjUzMDEwMDgzYTI4ZjA5MzRkY2I1NTkzLi43YjcyZmFjY2FlNDY3
MTY4OTY1Zjk1NTU2NDZhMGFiNzlkMTAyNzQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNw
cApAQCAtNTMsNyArNTMsNyBAQCBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246On5OZXR3b3JrUHJv
Y2Vzc0Nvbm5lY3Rpb24oKQogewogfQogCi12b2lkIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6
ZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBJUEM6Ok1lc3Nh
Z2VEZWNvZGVyJiBkZWNvZGVyKQordm9pZCBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZFJl
Y2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDOjpNZXNzYWdlRGVj
b2RlciYgZGVjb2RlcikKIHsKICAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkg
PT0gTWVzc2FnZXM6OldlYlJlc291cmNlTG9hZGVyOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsK
ICAgICAgICAgaWYgKFdlYlJlc291cmNlTG9hZGVyKiB3ZWJSZXNvdXJjZUxvYWRlciA9IFdlYlBy
b2Nlc3M6OnNoYXJlZCgpLndlYlJlc291cmNlTG9hZFNjaGVkdWxlcigpLndlYlJlc291cmNlTG9h
ZGVyRm9ySWRlbnRpZmllcihkZWNvZGVyLmRlc3RpbmF0aW9uSUQoKSkpCkBAIC02NSw3ICs2NSw3
IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOjpkaWRSZWNlaXZlTWVzc2FnZShJUEM6
OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIElQCiAgICAgZGlkUmVjZWl2ZU5ldHdvcmtQcm9jZXNz
Q29ubmVjdGlvbk1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7CiB9CiAKLXZvaWQgTmV0d29y
a1Byb2Nlc3NDb25uZWN0aW9uOjpkaWRSZWNlaXZlU3luY01lc3NhZ2UoSVBDOjpDb25uZWN0aW9u
KiwgSVBDOjpNZXNzYWdlRGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6Ok1lc3NhZ2VFbmNv
ZGVyPiYpCit2b2lkIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6ZGlkUmVjZWl2ZVN5bmNNZXNz
YWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6TWVzc2FnZURlY29kZXImLCBzdGQ6OnVuaXF1ZV9w
dHI8SVBDOjpNZXNzYWdlRW5jb2Rlcj4mKQogewogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQ
cm9jZXNzQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL05l
dHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5oCmluZGV4IGNhMWRiNjIzZTU0OGFkNzYwNWJkMWQ0MTk0
NGEyNGRhYTA3YWMxYjIuLjE2MDI3MDVlMTc2ZWRmNzRkMDE1ZmY2ZTM0NjI5YmMzMjY0MDliZmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJv
Y2Vzc0Nvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsv
TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmgKQEAgLTU4LDE0ICs1OCwxNCBAQCBwdWJsaWM6CiAg
ICAgCiAgICAgSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9j
b25uZWN0aW9uLmdldCgpOyB9CiAKLSAgICB2b2lkIGRpZFJlY2VpdmVOZXR3b3JrUHJvY2Vzc0Nv
bm5lY3Rpb25NZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6TWVzc2FnZURlY29kZXImKTsK
KyAgICB2b2lkIGRpZFJlY2VpdmVOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlKElQQzo6
Q29ubmVjdGlvbiYsIElQQzo6TWVzc2FnZURlY29kZXImKTsKIAogcHJpdmF0ZToKICAgICBOZXR3
b3JrUHJvY2Vzc0Nvbm5lY3Rpb24oSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyKTsKIAogICAg
IC8vIElQQzo6Q29ubmVjdGlvbjo6Q2xpZW50Ci0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVN
ZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6TWVzc2FnZURlY29kZXImKSBvdmVycmlkZTsK
LSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbios
IElQQzo6TWVzc2FnZURlY29kZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpNZXNzYWdlRW5jb2Rl
cj4mKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpD
b25uZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwg
dm9pZCBkaWRSZWNlaXZlU3luY01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpNZXNzYWdl
RGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6Ok1lc3NhZ2VFbmNvZGVyPiYpIG92ZXJyaWRl
OwogICAgIHZpcnR1YWwgdm9pZCBkaWRDbG9zZShJUEM6OkNvbm5lY3Rpb24mKSBvdmVycmlkZTsK
ICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKElQQzo6Q29ubmVjdGlv
biYsIElQQzo6U3RyaW5nUmVmZXJlbmNlIG1lc3NhZ2VSZWNlaXZlck5hbWUsIElQQzo6U3RyaW5n
UmVmZXJlbmNlIG1lc3NhZ2VOYW1lKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaAppbmRleCA2YjkyODQy
NWFmNDdiNTJhMTE0NTYxNGVmOWU5M2I1NTA1NGMxMzY3Li41MDZlYWQ0NzFkZDExN2E1OTIyZmY3
NjRhZTE3MzE4NDc1NTEzN2E4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaApAQCAtNjIsNyArNjIsNyBAQCBwdWJsaWM6
CiAKICAgICB+V2ViUmVzb3VyY2VMb2FkZXIoKTsKIAotICAgIHZvaWQgZGlkUmVjZWl2ZVdlYlJl
c291cmNlTG9hZGVyTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNvZGVy
Jik7CisgICAgdm9pZCBkaWRSZWNlaXZlV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlKElQQzo6Q29u
bmVjdGlvbiYsIElQQzo6TWVzc2FnZURlY29kZXImKTsKIAogICAgIFdlYkNvcmU6OlJlc291cmNl
TG9hZGVyKiByZXNvdXJjZUxvYWRlcigpIGNvbnN0IHsgcmV0dXJuIG1fY29yZUxvYWRlci5nZXQo
KTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlv
bnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9O
b3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuaAppbmRleCAzYjcwNzEyOGRmNjAx
Y2E1NWU2ZGY3MmEwYjhlOTc4M2RiY2YzYThkLi44MDdlNTJjYTAzNzc5NzNkMDY2NzMyYjEwY2Yw
N2E0Mjc0ZWQ5MDhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlm
aWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmgKQEAgLTczLDcg
KzczLDcgQEAgcHJpdmF0ZToKIAogICAgIC8vIElQQzo6TWVzc2FnZVJlY2VpdmVyCiAgICAgLy8g
SW1wbGVtZW50ZWQgaW4gZ2VuZXJhdGVkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlUmVj
ZWl2ZXIuY3BwCi0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVj
dGlvbiosIElQQzo6TWVzc2FnZURlY29kZXImKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQg
ZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVjb2RlciYp
IG92ZXJyaWRlOwogICAgIAogICAgIHZvaWQgZGlkU2hvd05vdGlmaWNhdGlvbih1aW50NjRfdCBu
b3RpZmljYXRpb25JRCk7CiAgICAgdm9pZCBkaWRDbGlja05vdGlmaWNhdGlvbih1aW50NjRfdCBu
b3RpZmljYXRpb25JRCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL09y
aWdpbkRhdGEvV2ViT3JpZ2luRGF0YU1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvT3JpZ2luRGF0YS9XZWJPcmlnaW5EYXRhTWFuYWdlci5oCmluZGV4IDE2Y2Y1NzA3ODA3Nzc2
YzY3YTlmMDQxYzQ5NjcxYWM1ODkzNWU3N2EuLjk5YzYwODEwNzE5OGVhOWVhMjIxNWE3YzI2MmY3
NWRjMjUzMGU1OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvT3JpZ2lu
RGF0YS9XZWJPcmlnaW5EYXRhTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvT3JpZ2luRGF0YS9XZWJPcmlnaW5EYXRhTWFuYWdlci5oCkBAIC01MCw3ICs1MCw3IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBkZWxldGVBbGxFbnRyaWVzKFdLT3JpZ2luRGF0YVR5cGVzLCB1aW50
NjRfdCBjYWxsYmFja0lEKTsKIAogICAgIC8vIElQQzo6TWVzc2FnZVJlY2VpdmVyCi0gICAgdmly
dHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6TWVzc2Fn
ZURlY29kZXImKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2Uo
SVBDOjpDb25uZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRlOwogCiAgICAg
Q2hpbGRQcm9jZXNzJiBtX2NoaWxkUHJvY2VzczsKICAgICBXZWJPcmlnaW5EYXRhTWFuYWdlclN1
cHBsZW1lbnQmIG1fc3VwcGxlbWVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCmluZGV4IGVj
NTRjNWJjNDFlNGJlODkyMmZkMjA0ZWJiN2RkNDk1N2JiMTUwZjIuLjg1ODdmM2E3YzJkODhiMmEx
ZjFiMTYwY2NhNzkzYzg1YTgzNTI2NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uLmNwcApAQCAt
ODksNyArODksNyBAQCB2b2lkIFBsdWdpblByb2Nlc3NDb25uZWN0aW9uOjpyZW1vdmVQbHVnaW5Q
cm94eShQbHVnaW5Qcm94eSogcGx1Z2luKQogICAgIG1fcGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25N
YW5hZ2VyLT5yZW1vdmVQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbih0aGlzKTsKIH0KIAotdm9pZCBQ
bHVnaW5Qcm9jZXNzQ29ubmVjdGlvbjo6ZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9u
KiBjb25uZWN0aW9uLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyKQordm9pZCBQbHVnaW5Q
cm9jZXNzQ29ubmVjdGlvbjo6ZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25u
ZWN0aW9uLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyKQogewogICAgIGlmICghZGVjb2Rl
ci5kZXN0aW5hdGlvbklEKCkpIHsKICAgICAgICAgZGlkUmVjZWl2ZVBsdWdpblByb2Nlc3NDb25u
ZWN0aW9uTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKQEAgLTEwNSw3ICsxMDUsNyBAQCB2
b2lkIFBsdWdpblByb2Nlc3NDb25uZWN0aW9uOjpkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5l
Y3Rpb24qIGNvbm5lY3Rpb24sIElQQwogICAgIHBsdWdpblByb3h5LT5kaWRSZWNlaXZlUGx1Z2lu
UHJveHlNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOwogfQogCi12b2lkIFBsdWdpblByb2Nl
c3NDb25uZWN0aW9uOjpkaWRSZWNlaXZlU3luY01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiBjb25u
ZWN0aW9uLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyLCBzdGQ6OnVuaXF1ZV9wdHI8SVBD
OjpNZXNzYWdlRW5jb2Rlcj4mIHJlcGx5RW5jb2RlcikKK3ZvaWQgUGx1Z2luUHJvY2Vzc0Nvbm5l
Y3Rpb246OmRpZFJlY2VpdmVTeW5jTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24s
IElQQzo6TWVzc2FnZURlY29kZXImIGRlY29kZXIsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6Ok1lc3Nh
Z2VFbmNvZGVyPiYgcmVwbHlFbmNvZGVyKQogewogICAgIGlmIChkZWNvZGVyLm1lc3NhZ2VSZWNl
aXZlck5hbWUoKSA9PSBNZXNzYWdlczo6TlBPYmplY3RNZXNzYWdlUmVjZWl2ZXI6Om1lc3NhZ2VS
ZWNlaXZlck5hbWUoKSkgewogICAgICAgICBtX25wUmVtb3RlT2JqZWN0TWFwLT5kaWRSZWNlaXZl
U3luY01lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2RlciwgcmVwbHlFbmNvZGVyKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVj
dGlvbi5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3ND
b25uZWN0aW9uLmgKaW5kZXggYjEzMjg4M2VlYjc3MDQxYTAwOGZmN2QyMTg5ZTQ4MzE4NGM4ZWVi
Ny4uM2U5MzA1Y2E1NDAxOGMyNThjZWUxMjE2YjFiZWE5MzE5MDYyODljZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9u
LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3ND
b25uZWN0aW9uLmgKQEAgLTY0LDE0ICs2NCwxNCBAQCBwcml2YXRlOgogICAgIFBsdWdpblByb2Nl
c3NDb25uZWN0aW9uKFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlciosIHVpbnQ2NF90IHBs
dWdpblByb2Nlc3NUb2tlbiwgSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyIGNvbm5lY3Rpb25J
ZGVudGlmaWVyLCBib29sIHN1cHBvcnRzQXN5bmNocm9ub3VzSW5pdGlhbGl6YXRpb24pOwogCiAg
ICAgLy8gSVBDOjpDb25uZWN0aW9uOjpDbGllbnQKLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2
ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRl
OwotICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlU3luY01lc3NhZ2UoSVBDOjpDb25uZWN0aW9u
KiwgSVBDOjpNZXNzYWdlRGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6Ok1lc3NhZ2VFbmNv
ZGVyPiYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6
OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgb3ZlcnJpZGU7CisgICAgdmlydHVh
bCB2b2lkIGRpZFJlY2VpdmVTeW5jTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3Nh
Z2VEZWNvZGVyJiwgc3RkOjp1bmlxdWVfcHRyPElQQzo6TWVzc2FnZUVuY29kZXI+Jikgb3ZlcnJp
ZGU7CiAgICAgdmlydHVhbCB2b2lkIGRpZENsb3NlKElQQzo6Q29ubmVjdGlvbiYpOwogICAgIHZp
cnR1YWwgdm9pZCBkaWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBD
OjpTdHJpbmdSZWZlcmVuY2UgbWVzc2FnZVJlY2VpdmVyTmFtZSwgSVBDOjpTdHJpbmdSZWZlcmVu
Y2UgbWVzc2FnZU5hbWUpIG92ZXJyaWRlOwogCiAgICAgLy8gTWVzc2FnZSBoYW5kbGVycy4KLSAg
ICB2b2lkIGRpZFJlY2VpdmVQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2UoSVBDOjpDb25u
ZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpOwotICAgIHZvaWQgZGlkUmVjZWl2ZVN5bmNQ
bHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNz
YWdlRGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6Ok1lc3NhZ2VFbmNvZGVyPiYpOworICAg
IHZvaWQgZGlkUmVjZWl2ZVBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWVzc2FnZShJUEM6OkNvbm5l
Y3Rpb24mLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CisgICAgdm9pZCBkaWRSZWNlaXZlU3luY1Bs
dWdpblByb2Nlc3NDb25uZWN0aW9uTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3Nh
Z2VEZWNvZGVyJiwgc3RkOjp1bmlxdWVfcHRyPElQQzo6TWVzc2FnZUVuY29kZXI+Jik7CiAgICAg
dm9pZCBzZXRFeGNlcHRpb24oY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBhdWRpb0hhcmR3YXJl
RGlkQmVjb21lQWN0aXZlKCk7CiAgICAgdm9pZCBhdWRpb0hhcmR3YXJlRGlkQmVjb21lSW5hY3Rp
dmUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVn
aW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
UGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIuaAppbmRleCBlYjFjOTFjMWFj
OWQxZjg3ZTQxYWQ5NDBjYjRjYWI5ZTAyYzhkOGE0Li5kMDAyN2YwZjc5Yjc4NWQyODMwNjEzNDcz
YzY2NmFjZjM0YTUyYWFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Bs
dWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oCkBA
IC01Niw3ICs1Niw3IEBAIHByaXZhdGU6CiAgICAgUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5h
Z2VyKCk7CiAKICAgICAvLyBJUEM6OkNvbm5lY3Rpb246OldvcmtRdWV1ZU1lc3NhZ2VSZWNlaXZl
ci4KLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwg
SVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNl
aXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgb3ZlcnJp
ZGU7CiAKICAgICB2b2lkIHBsdWdpblByb2Nlc3NDcmFzaGVkKHVpbnQ2NF90IHBsdWdpblByb2Nl
c3NUb2tlbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lu
cy9QbHVnaW5Qcm94eS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdp
blByb3h5LmgKaW5kZXggNTI2MmM5ZmI3NzRlNWI0ODRlMGZmZTk1YzE4MjA2MjcyMTM0YmM2OC4u
NGNjMzAxZDc4MzYzNzExN2ZlMzk3N2JmNjIxZjU2MGI5YzMxMDJiOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb3h5LmgKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb3h5LmgKQEAgLTYzLDggKzYzLDgg
QEAgcHVibGljOgogICAgIHVpbnQ2NF90IHBsdWdpbkluc3RhbmNlSUQoKSBjb25zdCB7IHJldHVy
biBtX3BsdWdpbkluc3RhbmNlSUQ7IH0KICAgICB2b2lkIHBsdWdpblByb2Nlc3NDcmFzaGVkKCk7
CiAKLSAgICB2b2lkIGRpZFJlY2VpdmVQbHVnaW5Qcm94eU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9u
KiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpOwotICAgIHZvaWQgZGlkUmVjZWl2ZVN5bmNQbHVnaW5Q
cm94eU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYsIHN0ZDo6
dW5pcXVlX3B0cjxJUEM6Ok1lc3NhZ2VFbmNvZGVyPiYpOworICAgIHZvaWQgZGlkUmVjZWl2ZVBs
dWdpblByb3h5TWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7
CisgICAgdm9pZCBkaWRSZWNlaXZlU3luY1BsdWdpblByb3h5TWVzc2FnZShJUEM6OkNvbm5lY3Rp
b24mLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJiwgc3RkOjp1bmlxdWVfcHRyPElQQzo6TWVzc2FnZUVu
Y29kZXI+Jik7CiAKICAgICBib29sIGlzQmVpbmdBc3luY2hyb25vdXNseUluaXRpYWxpemVkKCkg
Y29uc3QgeyByZXR1cm4gbV93YWl0aW5nT25Bc3luY2hyb25vdXNJbml0aWFsaXphdGlvbjsgfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Jlc291cmNlQ2FjaGUvV2Vi
UmVzb3VyY2VDYWNoZU1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUmVzb3Vy
Y2VDYWNoZS9XZWJSZXNvdXJjZUNhY2hlTWFuYWdlci5oCmluZGV4IGY2M2FjNDVmNTE5MTBlZDVj
NmM1MDBjYTgwYWUzMzRhYTYwMjdkZDUuLmQzZjM1NzkwNGI5Mzc5NGRiY2Y2YzI0YWU2MDYwZjU0
NjE4YWFiYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUmVzb3VyY2VD
YWNoZS9XZWJSZXNvdXJjZUNhY2hlTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvUmVzb3VyY2VDYWNoZS9XZWJSZXNvdXJjZUNhY2hlTWFuYWdlci5oCkBAIC00OSw3ICs0
OSw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgLy8gSVBDOjpNZXNzYWdlUmVjZWl2ZXIKICAg
ICAvLyBJbXBsZW1lbnRlZCBpbiBnZW5lcmF0ZWQgV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJNZXNz
YWdlUmVjZWl2ZXIuY3BwCi0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6
Q29ubmVjdGlvbiosIElQQzo6TWVzc2FnZURlY29kZXImKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFs
IHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVj
b2RlciYpIG92ZXJyaWRlOwogCiAgICAgdm9pZCBnZXRDYWNoZU9yaWdpbnModWludDY0X3QgY2Fs
bGJhY2tJRCkgY29uc3Q7CiAgICAgdm9pZCByZXR1cm5DYWNoZU9yaWdpbnModWludDY0X3QgY2Fs
bGJhY2tJRCwgY29uc3QgV2ViQ29yZTo6TWVtb3J5Q2FjaGU6OlNlY3VyaXR5T3JpZ2luU2V0Jikg
Y29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Njcm9sbGluZy9S
ZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9T
Y3JvbGxpbmcvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaAppbmRleCBkZjI1YjE5ODY2ZDA5
NzYzM2Q4YmMzMWI4M2E5YjFiODg3YjlhNjA0Li41YTUwMWZjMzA1MTg4NjhmNjE5YjVhMWVjNWVj
MWE2YjM4NjJlN2U5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Njcm9s
bGluZy9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvU2Nyb2xsaW5nL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yLmgKQEAgLTY4LDcg
KzY4LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgc2V0U2Nyb2xsUGlubmluZ0JlaGF2
aW9yKFdlYkNvcmU6OlNjcm9sbFBpbm5pbmdCZWhhdmlvcikgb3ZlcnJpZGU7CiAKICAgICAvLyBJ
UEM6Ok1lc3NhZ2VSZWNlaXZlcgotICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJ
UEM6OkNvbm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgb3ZlcnJpZGU7CisgICAgdmly
dHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6TWVzc2Fn
ZURlY29kZXImKSBvdmVycmlkZTsKICAgICAKICAgICAvLyBSZXNwb25kIHRvIFVJIHByb2Nlc3Mg
Y2hhbmdlcy4KICAgICB2b2lkIHNjcm9sbFBvc2l0aW9uQ2hhbmdlZEZvck5vZGUoV2ViQ29yZTo6
U2Nyb2xsaW5nTm9kZUlELCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlv
biwgYm9vbCBzeW5jTGF5ZXJQb3NpdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZUFyZWFNYXAuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvU3RvcmFnZS9TdG9yYWdlQXJlYU1hcC5oCmluZGV4IDBkNmM1MDYxNmIxNTAzYWZlYjhj
ZTY5YzRiYTk0NDExOTIwODM0N2IuLjI2NDI1NmI3MWMzNGZmM2NjM2MzY2JkZjdiZTNiN2I5YmVm
ZmNlZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvU3RvcmFnZS9TdG9y
YWdlQXJlYU1hcC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvU3RvcmFnZS9TdG9y
YWdlQXJlYU1hcC5oCkBAIC02Myw3ICs2Myw3IEBAIHByaXZhdGU6CiAgICAgU3RvcmFnZUFyZWFN
YXAoU3RvcmFnZU5hbWVzcGFjZUltcGwqLCBQYXNzUmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5T3Jp
Z2luPik7CiAKICAgICAvLyBJUEM6Ok1lc3NhZ2VSZWNlaXZlcgotICAgIHZpcnR1YWwgdm9pZCBk
aWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikg
b3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVj
dGlvbiYsIElQQzo6TWVzc2FnZURlY29kZXImKSBvdmVycmlkZTsKIAogICAgIHZvaWQgZGlkR2V0
VmFsdWVzKHVpbnQ2NF90IHN0b3JhZ2VNYXBTZWVkKTsKICAgICB2b2lkIGRpZFNldEl0ZW0odWlu
dDY0X3Qgc3RvcmFnZU1hcFNlZWQsIGNvbnN0IFN0cmluZyYga2V5LCBib29sIHF1b3RhRXJyb3Ip
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Vc2VyQ29udGVudC9XZWJV
c2VyQ29udGVudENvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvVXNlckNv
bnRlbnQvV2ViVXNlckNvbnRlbnRDb250cm9sbGVyLmgKaW5kZXggYzI1YzJlOGM4OGUyOWM1ZTJh
ODRjNjgwMjY3YjVkZjUwOGNjZDQ2Ni4uNjQ5YjM0ZTA3Y2RmZjU3YjQwN2ZjNmRhNjc5MjMyN2Yz
ZWE4OTAyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Vc2VyQ29udGVu
dC9XZWJVc2VyQ29udGVudENvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1VzZXJDb250ZW50L1dlYlVzZXJDb250ZW50Q29udHJvbGxlci5oCkBAIC00OSw3ICs0OSw3
IEBAIHByaXZhdGU6CiAgICAgZXhwbGljaXQgV2ViVXNlckNvbnRlbnRDb250cm9sbGVyKHVpbnQ2
NF90IGlkZW50aWZpZXIpOwogCiAgICAgLy8gSVBDOjpNZXNzYWdlUmVjZWl2ZXIuCi0gICAgdmly
dHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6TWVzc2Fn
ZURlY29kZXImKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2Uo
SVBDOjpDb25uZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRlOwogCiAgICAg
dm9pZCBhZGRVc2VyU2NyaXB0cyhjb25zdCBWZWN0b3I8V2ViQ29yZTo6VXNlclNjcmlwdD4mIHVz
ZXJTY3JpcHRzKTsKICAgICB2b2lkIHJlbW92ZUFsbFVzZXJTY3JpcHRzKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRhdGFiYXNlTWFu
YWdlci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEYXRh
YmFzZU1hbmFnZXIuaAppbmRleCA5MjFmMzYyZDFjY2MxMzBiN2E5NjQ2OGQ0M2QzOTVkYTJiMjA2
MzcyLi43OTk5N2E4NDgxMGE4OTNjMzhjZGQ0ODM4MWNlMmU1MDA0YjRiN2ZjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRhdGFiYXNlTWFu
YWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
RGF0YWJhc2VNYW5hZ2VyLmgKQEAgLTUzLDcgKzUzLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFs
IHZvaWQgaW5pdGlhbGl6ZShjb25zdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJikgb3Zl
cnJpZGU7CiAKICAgICAvLyBJUEM6Ok1lc3NhZ2VSZWNlaXZlcgotICAgIHZpcnR1YWwgdm9pZCBk
aWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikg
b3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVj
dGlvbiYsIElQQzo6TWVzc2FnZURlY29kZXImKSBvdmVycmlkZTsKIAogICAgIHZvaWQgZ2V0RGF0
YWJhc2VzQnlPcmlnaW4odWludDY0X3QgY2FsbGJhY2tJRCkgY29uc3Q7CiAgICAgdm9pZCBnZXRE
YXRhYmFzZU9yaWdpbnModWludDY0X3QgY2FsbGJhY2tJRCkgY29uc3Q7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oCmluZGV4IDQ0MWUxMTg1OTRl
ZjQ3NmU2Y2ZkZTU0NjVmNGZlMTg0NWNlNDJiZGIuLmVhYTg1ZWE0YzgwMjAyYjU2MDk0OGQ0Mjc0
ZjI2NGM2NTVkNGU3ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9EcmF3aW5nQXJlYS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9EcmF3aW5nQXJlYS5oCkBAIC0xMTAsNyArMTEwLDcgQEAgcHVibGljOgogI2VuZGlmCiAKICNp
ZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCi0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVD
b29yZGluYXRlZExheWVyVHJlZUhvc3RNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6TWVz
c2FnZURlY29kZXImKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVDb29yZGluYXRl
ZExheWVyVHJlZUhvc3RNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6TWVzc2FnZURlY29k
ZXImKSA9IDA7CiAjZW5kaWYKIAogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaEFmdGVyRW5zdXJp
bmdVcGRhdGVkU2Nyb2xsUG9zaXRpb24oc3RkOjpmdW5jdGlvbjx2b2lkICgpPik7CkBAIC0xNDAs
NyArMTQwLDcgQEAgcHJvdGVjdGVkOgogCiBwcml2YXRlOgogICAgIC8vIElQQzo6TWVzc2FnZVJl
Y2VpdmVyLgotICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rp
b24qLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRp
ZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6TWVzc2FnZURlY29kZXImKSBv
dmVycmlkZTsKIAogICAgIC8vIE1lc3NhZ2UgaGFuZGxlcnMuCiAgICAgLy8gRklYTUU6IFRoZXNl
IHNob3VsZCBiZSBwdXJlIHZpcnR1YWwuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvRXZlbnREaXNwYXRjaGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvRXZlbnREaXNwYXRjaGVyLmgKaW5kZXggZDIwYzFmZGYxNTRhNWUxZWM2OWE3
YjhjNWVmNjFiMDE3MDA0MzVmOC4uYzMxYzFiYjE3ZDBmMjU5ODg5Njc3YWVkMWE5ZTBhYmU2MTc1
YzQ5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0V2ZW50
RGlzcGF0Y2hlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9FdmVu
dERpc3BhdGNoZXIuaApAQCAtNzAsNyArNzAsNyBAQCBwcml2YXRlOgogICAgIEV2ZW50RGlzcGF0
Y2hlcigpOwogCiAgICAgLy8gSVBDOjpDb25uZWN0aW9uOjpXb3JrUXVldWVNZXNzYWdlUmVjZWl2
ZXIuCi0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbios
IElQQzo6TWVzc2FnZURlY29kZXImKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVj
ZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJy
aWRlOwogCiAgICAgLy8gTWVzc2FnZSBoYW5kbGVycwogICAgIHZvaWQgd2hlZWxFdmVudCh1aW50
NjRfdCBwYWdlSUQsIGNvbnN0IFdlYldoZWVsRXZlbnQmLCBib29sIGNhblJ1YmJlckJhbmRBdExl
ZnQsIGJvb2wgY2FuUnViYmVyQmFuZEF0UmlnaHQsIGJvb2wgY2FuUnViYmVyQmFuZEF0VG9wLCBi
b29sIGNhblJ1YmJlckJhbmRBdEJvdHRvbSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvVmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3Rvci5oIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1ZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3Iu
aAppbmRleCAxNmZmNDJkZjc5NThkM2NiN2JiZmZiYzM4ODY0YjFlNWI0YTQ2YTkwLi43YWIwMTk5
NjY4NWQzODQ0MzI4NTk3MGVlMzhkNmMxNzgxNGJjNjYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvVmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3Rvci5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9WaWV3R2VzdHVyZUdlb21ldHJ5
Q29sbGVjdG9yLmgKQEAgLTQ3LDcgKzQ3LDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIC8v
IElQQzo6TWVzc2FnZVJlY2VpdmVyLgotICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2Fn
ZShJUEM6OkNvbm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgb3ZlcnJpZGU7CisgICAg
dmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6TWVz
c2FnZURlY29kZXImKSBvdmVycmlkZTsKIAogICAgIC8vIE1lc3NhZ2UgaGFuZGxlcnMuCiAgICAg
dm9pZCBjb2xsZWN0R2VvbWV0cnlGb3JTbWFydE1hZ25pZmljYXRpb25HZXN0dXJlKFdlYkNvcmU6
OkZsb2F0UG9pbnQgb3JpZ2luKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9WaWV3VXBkYXRlRGlzcGF0Y2hlci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1ZpZXdVcGRhdGVEaXNwYXRjaGVyLmgKaW5kZXggOTcwZGY5ZjMzNjNjMTVl
Yjk1ZTdjZDkwODM2MGQ0OThmMDZlNDkxMC4uZDczMmVmOGViM2E5MmU4ZjA1NTcxMmJlMGM1MTky
Y2M5ZjkwOTZmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1ZpZXdVcGRhdGVEaXNwYXRjaGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1ZpZXdVcGRhdGVEaXNwYXRjaGVyLmgKQEAgLTQ1LDcgKzQ1LDcgQEAgcHVibGljOgog
cHJpdmF0ZToKICAgICBWaWV3VXBkYXRlRGlzcGF0Y2hlcigpOwogICAgIC8vIElQQzo6Q29ubmVj
dGlvbjo6V29ya1F1ZXVlTWVzc2FnZVJlY2VpdmVyLgotICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNl
aXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgb3ZlcnJp
ZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYs
IElQQzo6TWVzc2FnZURlY29kZXImKSBvdmVycmlkZTsKIAogICAgIHZvaWQgdmlzaWJsZUNvbnRl
bnRSZWN0VXBkYXRlKHVpbnQ2NF90IHBhZ2VJRCwgY29uc3QgVmlzaWJsZUNvbnRlbnRSZWN0VXBk
YXRlSW5mbyYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvVmlzaXRlZExpbmtUYWJsZUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9WaXNpdGVkTGlua1RhYmxlQ29udHJvbGxlci5oCmluZGV4IGQ2NTlkZGI1Y2Jj
ODNiN2RkZDk2MWIzMmU2MmNiMWRjMjZjNGI3M2EuLmJiZmM4NDkzY2E1Mjk4MzdjZDIzYmQzMDc0
ZTk2OTM0OWIxNmJlM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9WaXNpdGVkTGlua1RhYmxlQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9WaXNpdGVkTGlua1RhYmxlQ29udHJvbGxlci5oCkBAIC00Niw3ICs0
Niw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGFkZFZpc2l0ZWRMaW5rKFdlYkNvcmU6
OlBhZ2UmLCBXZWJDb3JlOjpMaW5rSGFzaCkgb3ZlcnJpZGU7CiAKICAgICAvLyBJUEM6Ok1lc3Nh
Z2VSZWNlaXZlci4KLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25u
ZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9p
ZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3NhZ2VEZWNvZGVy
Jikgb3ZlcnJpZGU7CiAKICAgICB2b2lkIHNldFZpc2l0ZWRMaW5rVGFibGUoY29uc3QgU2hhcmVk
TWVtb3J5OjpIYW5kbGUmKTsKICAgICB2b2lkIHZpc2l0ZWRMaW5rU3RhdGVDaGFuZ2VkKGNvbnN0
IFZlY3RvcjxXZWJDb3JlOjpMaW5rSGFzaD4mKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaAppbmRleCAzNGU2NDBhNTdmMGIzYmNjMjU2Zjhi
NjAzNjRkNWQ5YWVlMzA4NDg3Li4xZjM5YjAxYjE2ZjdjNzJiYzZjMGJjNDA2NWQ3ZWUxOWVkMmM0
YmY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5z
cGVjdG9yLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3Bl
Y3Rvci5oCkBAIC01MCw3ICs1MCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgc2VuZE1l
c3NhZ2VUb0Zyb250ZW5kKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkgb3ZlcnJpZGU7CiAKICAgICAv
LyBJbXBsZW1lbnRlZCBpbiBnZW5lcmF0ZWQgV2ViSW5zcGVjdG9yTWVzc2FnZVJlY2VpdmVyLmNw
cAotICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNz
YWdlRGVjb2RlciYpIG92ZXJyaWRlOworICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpD
b25uZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRlOwogCiAgICAgLy8gSVBD
OjpDb25uZWN0aW9uOjpDbGllbnQKICAgICB2b2lkIGRpZENsb3NlKElQQzo6Q29ubmVjdGlvbiYp
IG92ZXJyaWRlIHsgY2xvc2UoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvclVJLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViSW5zcGVjdG9yVUkuaAppbmRleCAxODIzZTVmNTk5ZTA3OTgxYzJmNTc4YzVi
MDczMGQ0MDY5MTI1YTJkLi4zNzhjODgyMWFlOGFiOTYxNjE0NDRiZGY4YTJhOGU1MzNhMzY5MmM4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVj
dG9yVUkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVj
dG9yVUkuaApAQCAtNDUsNyArNDUsNyBAQCBwdWJsaWM6CiAgICAgV2ViUGFnZSogcGFnZSgpIGNv
bnN0IHsgcmV0dXJuIG1fcGFnZTsgfQogCiAgICAgLy8gSW1wbGVtZW50ZWQgaW4gZ2VuZXJhdGVk
IFdlYkluc3BlY3RvclVJTWVzc2FnZVJlY2VpdmVyLmNwcAotICAgIHZvaWQgZGlkUmVjZWl2ZU1l
c3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRlOwor
ICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpNZXNzYWdl
RGVjb2RlciYpIG92ZXJyaWRlOwogCiAgICAgLy8gSVBDOjpDb25uZWN0aW9uOjpDbGllbnQKICAg
ICB2b2lkIGRpZENsb3NlKElQQzo6Q29ubmVjdGlvbiYpIG92ZXJyaWRlIHsgY2xvc2VXaW5kb3co
KTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmlu
ZGV4IDQxM2Y3Y2YxNDRmNDlmMjE4NGExMzYxMTA4YTEzMDFiYWI0Mzk3NGEuLmRhOWQ2NzhjY2Iw
ZmM5OTY4NGQ3MTJkOGFkYWYwNzg0ZTNiNjcxYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTM1MzAsNyArMzUzMCw3IEBAIGJvb2wgV2Vi
UGFnZTo6d2luZG93QW5kV2ViUGFnZUFyZUZvY3VzZWQoKSBjb25zdAogICAgIHJldHVybiBtX3Bh
Z2UtPmZvY3VzQ29udHJvbGxlcigpLmlzRm9jdXNlZCgpICYmIG1fcGFnZS0+Zm9jdXNDb250cm9s
bGVyKCkuaXNBY3RpdmUoKTsKIH0KIAotdm9pZCBXZWJQYWdlOjpkaWRSZWNlaXZlTWVzc2FnZShJ
UEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIElQQzo6TWVzc2FnZURlY29kZXImIGRlY29kZXIp
Cit2b2lkIFdlYlBhZ2U6OmRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVj
dGlvbiwgSVBDOjpNZXNzYWdlRGVjb2RlciYgZGVjb2RlcikKIHsKICNpZiBVU0UoVElMRURfQkFD
S0lOR19TVE9SRSkKICAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVz
c2FnZXM6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpKSB7
CkBAIC0zNTY0LDcgKzM1NjQsNyBAQCB2b2lkIFdlYlBhZ2U6OmRpZFJlY2VpdmVNZXNzYWdlKElQ
Qzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbiwgSVBDOjpNZXNzYWdlRGVjb2RlcgogICAgIGRpZFJl
Y2VpdmVXZWJQYWdlTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKIH0KIAotdm9pZCBXZWJQ
YWdlOjpkaWRSZWNlaXZlU3luY01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBJ
UEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpNZXNzYWdl
RW5jb2Rlcj4mIHJlcGx5RW5jb2RlcikKK3ZvaWQgV2ViUGFnZTo6ZGlkUmVjZWl2ZVN5bmNNZXNz
YWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDOjpNZXNzYWdlRGVjb2RlciYgZGVj
b2Rlciwgc3RkOjp1bmlxdWVfcHRyPElQQzo6TWVzc2FnZUVuY29kZXI+JiByZXBseUVuY29kZXIp
CiB7ICAgCiAgICAgZGlkUmVjZWl2ZVN5bmNXZWJQYWdlTWVzc2FnZShjb25uZWN0aW9uLCBkZWNv
ZGVyLCByZXBseUVuY29kZXIpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmgKaW5kZXggZDRhNTJjN2FlZTllMzM0YTFiNzcyMjY5MGViOWNmYzc0YTQ1Mjg0
ZC4uY2E5OWYzMzVmMTk1NzZkOTNkNjkxMTFmMjU0NGIxMGJmNzVjNzJkMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC0yNzgsOCArMjc4LDggQEAg
cHVibGljOgogICAgIFdlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyKiBhY3RpdmVPcGVuUGFuZWxS
ZXN1bHRMaXN0ZW5lcigpIGNvbnN0IHsgcmV0dXJuIG1fYWN0aXZlT3BlblBhbmVsUmVzdWx0TGlz
dGVuZXIuZ2V0KCk7IH0KICAgICB2b2lkIHNldEFjdGl2ZU9wZW5QYW5lbFJlc3VsdExpc3RlbmVy
KFBhc3NSZWZQdHI8V2ViT3BlblBhbmVsUmVzdWx0TGlzdGVuZXI+KTsKIAotICAgIHZvaWQgZGlk
UmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIG92
ZXJyaWRlOwotICAgIHZvaWQgZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbios
IElQQzo6TWVzc2FnZURlY29kZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpNZXNzYWdlRW5jb2Rl
cj4mKSBvdmVycmlkZTsKKyAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlv
biYsIElQQzo6TWVzc2FnZURlY29kZXImKSBvdmVycmlkZTsKKyAgICB2b2lkIGRpZFJlY2VpdmVT
eW5jTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJiwgc3RkOjp1
bmlxdWVfcHRyPElQQzo6TWVzc2FnZUVuY29kZXI+Jikgb3ZlcnJpZGU7CiAKICAgICAvLyAtLSBJ
bmplY3RlZEJ1bmRsZSBtZXRob2RzCiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCkBAIC04NzQs
OCArODc0LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIHBsYXRmb3JtSW5pdGlhbGl6ZSgpOwogICAg
IHZvaWQgcGxhdGZvcm1EZXRhY2goKTsKIAotICAgIHZvaWQgZGlkUmVjZWl2ZVdlYlBhZ2VNZXNz
YWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6TWVzc2FnZURlY29kZXImKTsKLSAgICB2b2lkIGRp
ZFJlY2VpdmVTeW5jV2ViUGFnZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdl
RGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6Ok1lc3NhZ2VFbmNvZGVyPiYpOworICAgIHZv
aWQgZGlkUmVjZWl2ZVdlYlBhZ2VNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6TWVzc2Fn
ZURlY29kZXImKTsKKyAgICB2b2lkIGRpZFJlY2VpdmVTeW5jV2ViUGFnZU1lc3NhZ2UoSVBDOjpD
b25uZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6Ok1l
c3NhZ2VFbmNvZGVyPiYpOwogCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIHZvaWQgcmVzZXRWaWV3
cG9ydERlZmF1bHRDb25maWd1cmF0aW9uKFdlYkZyYW1lKiBtYWluRnJhbWUpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2VHcm91cFByb3h5Lmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZUdyb3VwUHJveHkuaApp
bmRleCBmZTdmZjI3NTMwMzlmYzExYjNjZTBkOTgzM2I2Y2Y2M2U5N2Q1YWMyLi4wNDJlNmRhZGFh
ZTEyYzdkYzY0NmUxYTdhOThhZDRkMTg4NDk1YTAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZUdyb3VwUHJveHkuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZUdyb3VwUHJveHkuaApAQCAtNTUsNyArNTUs
NyBAQCBwdWJsaWM6CiAKICAgICBXZWJDb3JlOjpVc2VyQ29udGVudENvbnRyb2xsZXImIHVzZXJD
b250ZW50Q29udHJvbGxlcigpOwogCi0gICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNv
bm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CisgICAgdm9pZCBkaWRSZWNlaXZlTWVz
c2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAKICAgICB2b2lk
IGFkZFVzZXJTdHlsZVNoZWV0KGNvbnN0IFdlYkNvcmU6OlVzZXJTdHlsZVNoZWV0Jik7CiAgICAg
dm9pZCBhZGRVc2VyU2NyaXB0KGNvbnN0IFdlYkNvcmU6OlVzZXJTY3JpcHQmKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IDJlYWVjMmE4MzdhYTI4NGJhZTdk
MzUyMjkyOGViMDMyYzNmOTU2YTQuLmI3ODViODk5MDQ5OWM3YzZiOGZmY2EwMDA2MjMxZjQ1NGZj
ZTFkZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtNTkx
LDEyICs1OTEsMTIgQEAgdm9pZCBXZWJQcm9jZXNzOjp0ZXJtaW5hdGUoKQogICAgIENoaWxkUHJv
Y2Vzczo6dGVybWluYXRlKCk7CiB9CiAKLXZvaWQgV2ViUHJvY2Vzczo6ZGlkUmVjZWl2ZVN5bmNN
ZXNzYWdlKElQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbiwgSVBDOjpNZXNzYWdlRGVjb2RlciYg
ZGVjb2Rlciwgc3RkOjp1bmlxdWVfcHRyPElQQzo6TWVzc2FnZUVuY29kZXI+JiByZXBseUVuY29k
ZXIpCit2b2lkIFdlYlByb2Nlc3M6OmRpZFJlY2VpdmVTeW5jTWVzc2FnZShJUEM6OkNvbm5lY3Rp
b24mIGNvbm5lY3Rpb24sIElQQzo6TWVzc2FnZURlY29kZXImIGRlY29kZXIsIHN0ZDo6dW5pcXVl
X3B0cjxJUEM6Ok1lc3NhZ2VFbmNvZGVyPiYgcmVwbHlFbmNvZGVyKQogewogICAgIG1lc3NhZ2VS
ZWNlaXZlck1hcCgpLmRpc3BhdGNoU3luY01lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2RlciwgcmVw
bHlFbmNvZGVyKTsKIH0KIAotdm9pZCBXZWJQcm9jZXNzOjpkaWRSZWNlaXZlTWVzc2FnZShJUEM6
OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIElQQzo6TWVzc2FnZURlY29kZXImIGRlY29kZXIpCit2
b2lkIFdlYlByb2Nlc3M6OmRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVj
dGlvbiwgSVBDOjpNZXNzYWdlRGVjb2RlciYgZGVjb2RlcikKIHsKICAgICBpZiAobWVzc2FnZVJl
Y2VpdmVyTWFwKCkuZGlzcGF0Y2hNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpKQogICAgICAg
ICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4IGU2NDJm
MjVlOWM3MGNlNjMxNGQ5N2FiYjFiODU4MWI1ZTkxZDA4OWMuLmYyZTcyMWY0NjhiMTVlYTFkNjRh
YTFiZTM0MDQ0NWI3MWMzNzc2MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5oCkBAIC0yODYsMTMgKzI4NiwxMyBAQCBwcml2YXRlOgogCiAgICAgLy8gSVBDOjpDb25uZWN0
aW9uOjpDbGllbnQKICAgICBmcmllbmQgY2xhc3MgV2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzOwot
ICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qLCBJUEM6
Ok1lc3NhZ2VEZWNvZGVyJikgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVT
eW5jTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJiwgc3RkOjp1
bmlxdWVfcHRyPElQQzo6TWVzc2FnZUVuY29kZXI+Jikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2
b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6TWVzc2FnZURlY29k
ZXImKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQ
Qzo6Q29ubmVjdGlvbiYsIElQQzo6TWVzc2FnZURlY29kZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBD
OjpNZXNzYWdlRW5jb2Rlcj4mKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2xvc2Uo
SVBDOjpDb25uZWN0aW9uJikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVJ
bnZhbGlkTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNz
YWdlUmVjZWl2ZXJOYW1lLCBJUEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlTmFtZSkgb3ZlcnJp
ZGU7CiAKICAgICAvLyBJbXBsZW1lbnRlZCBpbiBnZW5lcmF0ZWQgV2ViUHJvY2Vzc01lc3NhZ2VS
ZWNlaXZlci5jcHAKLSAgICB2b2lkIGRpZFJlY2VpdmVXZWJQcm9jZXNzTWVzc2FnZShJUEM6OkNv
bm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CisgICAgdm9pZCBkaWRSZWNlaXZlV2Vi
UHJvY2Vzc01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpOwog
CiAgICAgLy8gV2ViT3JpZ2luRGF0YU1hbmFnZXJTdXBwbGVtZW50CiAgICAgdmlydHVhbCB2b2lk
IGdldE9yaWdpbnMoV0tPcmlnaW5EYXRhVHlwZXMsIHN0ZDo6ZnVuY3Rpb248dm9pZCAoY29uc3Qg
VmVjdG9yPFNlY3VyaXR5T3JpZ2luRGF0YT4mKT4gY29tcGxldGlvbikgb3ZlcnJpZGU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5N
YW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2lvcy9XZWJWaWRlb0Z1bGxzY3Jl
ZW5NYW5hZ2VyLmgKaW5kZXggODAyODBjOWUzYWM4OGQxOTlkOTZhNDBiZGM1ZmJhM2UxYWQ0MDVm
MC4uZTcwOTViMDA5YTQzODJiYTQ2MDU3YzhkZGZhMTA2MTU0YTUyY2Y2OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlci5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvaW9zL1dlYlZpZGVvRnVsbHNjcmVlbk1h
bmFnZXIuaApAQCAtNTcsNyArNTcsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8
V2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlcj4gY3JlYXRlKFBhc3NSZWZQdHI8V2ViUGFnZT4pOwog
ICAgIHZpcnR1YWwgfldlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXIoKTsKICAgICAKLSAgICB2b2lk
IGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6TWVzc2FnZURlY29kZXIm
KSBvdmVycmlkZTsKKyAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYs
IElQQzo6TWVzc2FnZURlY29kZXImKSBvdmVycmlkZTsKICAgICAKICAgICBib29sIHN1cHBvcnRz
VmlkZW9GdWxsc2NyZWVuKCkgY29uc3Q7CiAgICAgdm9pZCBlbnRlclZpZGVvRnVsbHNjcmVlbkZv
clZpZGVvRWxlbWVudChXZWJDb3JlOjpIVE1MVmlkZW9FbGVtZW50KiwgV2ViQ29yZTo6SFRNTE1l
ZGlhRWxlbWVudDo6VmlkZW9GdWxsc2NyZWVuTW9kZSk7Cg==
</data>
<flag name="review"
          id="268900"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>