<?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>203128</bug_id>
          
          <creation_ts>2019-10-17 17:08:53 -0700</creation_ts>
          <short_desc>Remove IDBBackingStoreTemporaryFileHandler</short_desc>
          <delta_ts>2019-10-21 17:54:15 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sihui Liu">sihui_liu</reporter>
          <assigned_to name="Sihui Liu">sihui_liu</assigned_to>
          <cc>achristensen</cc>
    
    <cc>alecflett</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jsbell</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1581233</commentid>
    <comment_count>0</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2019-10-17 17:08:53 -0700</bug_when>
    <thetext>IDBBackingStoreTemporaryFileHandler has only one member function, and implementation of that is to delete files.
We can remove this class and delete the temporary files at the places where objects of this class are used.

By doing this, we no longer need to pass the NetworkProcess/InProcessIDBServer all the way down to SQLiteIDBBackingStore, which leads to cross-thread copying.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581238</commentid>
    <comment_count>1</comment_count>
      <attachid>381253</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2019-10-17 17:16:41 -0700</bug_when>
    <thetext>Created attachment 381253
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582094</commentid>
    <comment_count>2</comment_count>
      <attachid>381470</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2019-10-21 15:51:38 -0700</bug_when>
    <thetext>Created attachment 381470
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582175</commentid>
    <comment_count>3</comment_count>
      <attachid>381470</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-21 17:53:28 -0700</bug_when>
    <thetext>Comment on attachment 381470
Patch for landing

Clearing flags on attachment: 381470

Committed r251404: &lt;https://trac.webkit.org/changeset/251404&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582176</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-21 17:53:29 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582178</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-10-21 17:54:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/56484333&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381253</attachid>
            <date>2019-10-17 17:16:41 -0700</date>
            <delta_ts>2019-10-21 15:51:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203128-20191017171640.patch</filename>
            <type>text/plain</type>
            <size>19129</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxMjYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDJlODk3NTQzMGY4NjM2
Y2E1OGEyNmQ2YjI3NzU0M2MwNjk3NWU2MS4uMWU4MjYwZDVlZmJiODIwZDI1OTBmNmI1OWVmZjcx
YTY0ZThkYmMzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE5LTEwLTE3ICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBJREJCYWNraW5n
U3RvcmVUZW1wb3JhcnlGaWxlSGFuZGxlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMTI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgSURCQmFja2luZ1N0b3JlVGVtcG9yYXJ5RmlsZUhhbmRsZXIgaGFz
IG9ubHkgb25lIG1lbWJlciBmdW5jdGlvbiwgYW5kIGJvdGggaW1wbGVtZW50YXRpb25zIG9mIHRo
YXQgaXMgdG8gZGVsZXRlCisgICAgICAgIGZpbGVzLiBUbyBrZWVwIHRoZSBzYW1lIGJlaGF2aW9y
LCB3ZSBjYW4gcmVtb3ZlIHRoaXMgY2xhc3MgYW5kIGRlbGV0ZSB0aGUgdGVtcG9yYXJ5IGZpbGVz
IGF0IHRoZSBwbGFjZXMgd2hlcmUgCisgICAgICAgIG9iamVjdHMgb2YgdGhpcyBjbGFzcyB3ZXJl
IHVzZWQuCisKKyAgICAgICAgQnkgZG9pbmcgdGhpcywgd2Ugbm8gbG9uZ2VyIG5lZWQgdG8gcGFz
cyB0aGUgTmV0d29ya1Byb2Nlc3MvSW5Qcm9jZXNzSURCU2VydmVyIGFsbCB0aGUgd2F5IGRvd24g
dG8gCisgICAgICAgIFNRTGl0ZUlEQkJhY2tpbmdTdG9yZSB0aGF0IGlzIHVzZWQgb25seSBvbiBi
YWNrZ3JvdW5kIHRocmVhZC4KKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9J
REJCYWNraW5nU3RvcmUuaDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURC
U2VydmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6SURCU2VydmVyOjpjcmVh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpJREJTZXJ2ZXI6OklEQlNlcnZlcik6
CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OklEQlNlcnZlcjo6Y3JlYXRlQmFja2luZ1N0
b3JlKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmg6Cisg
ICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NRTGl0ZUlEQkJhY2tpbmdTdG9yZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OlNRTGl0ZUlEQkJhY2tpbmdTdG9yZTo6
U1FMaXRlSURCQmFja2luZ1N0b3JlKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2
ZXIvU1FMaXRlSURCQmFja2luZ1N0b3JlLmg6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6
OlNRTGl0ZUlEQkJhY2tpbmdTdG9yZTo6dGVtcG9yYXJ5RmlsZUhhbmRsZXIgY29uc3QpOiBEZWxl
dGVkLgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9TUUxpdGVJREJUcmFuc2Fj
dGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OlNRTGl0ZUlEQlRyYW5zYWN0
aW9uOjptb3ZlQmxvYkZpbGVzSWZOZWNlc3NhcnkpOgorICAgICAgICAoV2ViQ29yZTo6SURCU2Vy
dmVyOjpTUUxpdGVJREJUcmFuc2FjdGlvbjo6ZGVsZXRlQmxvYkZpbGVzSWZOZWNlc3NhcnkpOgor
ICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpTUUxpdGVJREJUcmFuc2FjdGlvbjo6YWJvcnQp
OgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JblByb2Nlc3NJREJTZXJ2ZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5Qcm9jZXNzSURCU2VydmVyOjpJblByb2Nlc3NJREJT
ZXJ2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6SW5Qcm9jZXNzSURCU2VydmVyOjphY2Nlc3NUb1Rl
bXBvcmFyeUZpbGVDb21wbGV0ZSk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy9pbmRleGVk
ZGIvc2hhcmVkL0luUHJvY2Vzc0lEQlNlcnZlci5oOgorCiAyMDE5LTEwLTE3ICBNYXJrIExhbSAg
PG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBVc2UgY29uc3RleHByIGluIG1vcmUgcGxh
Y2VzIGFuZCByZW1vdmUgc29tZSB1bm5lY2Vzc2FyeSBleHRlcm5hbCBsaW5rYWdlLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpp
bmRleCA0MWEyNjgwMjcxZjM4MmY5N2Q4ODFlZWZiNjZiYTg2MjMxZmMwYWEzLi5kYjFhNGM3NTU4
YTNkMDBkZjMxNjE1Mzg1NDIzMTkwMzNmODkxNTY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDE5LTEwLTE3ICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAg
IFJlbW92ZSBJREJCYWNraW5nU3RvcmVUZW1wb3JhcnlGaWxlSGFuZGxlcgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMTI4CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpjcmVhdGVJ
REJTZXJ2ZXIpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6YWNjZXNzVG9UZW1w
b3JhcnlGaWxlQ29tcGxldGUpOiBEZWxldGVkLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzLmg6CisKIDIwMTktMTAtMTcgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUu
Y29tPgogCiAgICAgICAgIFVzZSBjb25zdGV4cHIgaW4gbW9yZSBwbGFjZXMgYW5kIHJlbW92ZSBz
b21lIHVubmVjZXNzYXJ5IGV4dGVybmFsIGxpbmthZ2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCQmFja2luZ1N0b3JlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCQmFja2luZ1N0b3JlLmgKaW5kZXgg
NzMxNjdkZDgwOTdkY2ZiYmRlNmJlNTdlMGZlNmQxMTM0NmViZmMzYi4uMTMzMmZmZGQ3NWNjZDZi
MTZlNDgzMGE3NWRmODQ2NGFkYzYxODU3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQkJhY2tpbmdTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJCYWNraW5nU3RvcmUuaApAQCAtNTYsMTIg
KzU2LDYgQEAgZW51bSBjbGFzcyBJbmRleFJlY29yZFR5cGU7CiAKIG5hbWVzcGFjZSBJREJTZXJ2
ZXIgewogCi1jbGFzcyBJREJCYWNraW5nU3RvcmVUZW1wb3JhcnlGaWxlSGFuZGxlciB7Ci1wdWJs
aWM6Ci0gICAgdmlydHVhbCB+SURCQmFja2luZ1N0b3JlVGVtcG9yYXJ5RmlsZUhhbmRsZXIoKSA9
IGRlZmF1bHQ7Ci0gICAgdmlydHVhbCB2b2lkIGFjY2Vzc1RvVGVtcG9yYXJ5RmlsZUNvbXBsZXRl
KGNvbnN0IFN0cmluZyYgcGF0aCkgPSAwOwotfTsKLQogY2xhc3MgSURCQmFja2luZ1N0b3JlIHsK
IHB1YmxpYzoKICAgICB2aXJ0dWFsIH5JREJCYWNraW5nU3RvcmUoKSB7IFJFTEVBU0VfQVNTRVJU
KCFpc01haW5UaHJlYWQoKSk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvc2VydmVyL0lEQlNlcnZlci5jcHAKaW5kZXggNDI4YWE4MDBiNTExZDRhODgwM2Ix
YmRkYzFjMmVhZTZjYzkxMGNmMC4uYThlODU2NzAwODc4ODE3NmVmZWE5OWU1NjRjYTVkMGJlZGU5
M2MzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVy
L0lEQlNlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2Vy
dmVyL0lEQlNlcnZlci5jcHAKQEAgLTQ2LDI5ICs0NiwyNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogbmFtZXNwYWNlIElEQlNlcnZlciB7CiAKLVJlZjxJREJTZXJ2ZXI+IElEQlNlcnZlcjo6Y3Jl
YXRlKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgSURCQmFja2luZ1N0b3JlVGVtcG9yYXJ5Rmls
ZUhhbmRsZXImIGZpbGVIYW5kbGVyLCBRdW90YU1hbmFnZXJHZXR0ZXImJiBxdW90YU1hbmFnZXJH
ZXR0ZXIpCitSZWY8SURCU2VydmVyPiBJREJTZXJ2ZXI6OmNyZWF0ZShQQUw6OlNlc3Npb25JRCBz
ZXNzaW9uSUQsIFF1b3RhTWFuYWdlckdldHRlciYmIHF1b3RhTWFuYWdlckdldHRlcikKIHsKLSAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBJREJTZXJ2ZXIoc2Vzc2lvbklELCBmaWxlSGFuZGxlciwg
V1RGTW92ZShxdW90YU1hbmFnZXJHZXR0ZXIpKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
SURCU2VydmVyKHNlc3Npb25JRCwgV1RGTW92ZShxdW90YU1hbmFnZXJHZXR0ZXIpKSk7CiB9CiAK
LVJlZjxJREJTZXJ2ZXI+IElEQlNlcnZlcjo6Y3JlYXRlKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25J
RCwgY29uc3QgU3RyaW5nJiBkYXRhYmFzZURpcmVjdG9yeVBhdGgsIElEQkJhY2tpbmdTdG9yZVRl
bXBvcmFyeUZpbGVIYW5kbGVyJiBmaWxlSGFuZGxlciwgUXVvdGFNYW5hZ2VyR2V0dGVyJiYgcXVv
dGFNYW5hZ2VyR2V0dGVyKQorUmVmPElEQlNlcnZlcj4gSURCU2VydmVyOjpjcmVhdGUoUEFMOjpT
ZXNzaW9uSUQgc2Vzc2lvbklELCBjb25zdCBTdHJpbmcmIGRhdGFiYXNlRGlyZWN0b3J5UGF0aCwg
UXVvdGFNYW5hZ2VyR2V0dGVyJiYgcXVvdGFNYW5hZ2VyR2V0dGVyKQogewotICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IElEQlNlcnZlcihzZXNzaW9uSUQsIGRhdGFiYXNlRGlyZWN0b3J5UGF0aCwg
ZmlsZUhhbmRsZXIsIFdURk1vdmUocXVvdGFNYW5hZ2VyR2V0dGVyKSkpOworICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IElEQlNlcnZlcihzZXNzaW9uSUQsIGRhdGFiYXNlRGlyZWN0b3J5UGF0aCwg
V1RGTW92ZShxdW90YU1hbmFnZXJHZXR0ZXIpKSk7CiB9CiAKLUlEQlNlcnZlcjo6SURCU2VydmVy
KFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgSURCQmFja2luZ1N0b3JlVGVtcG9yYXJ5RmlsZUhh
bmRsZXImIGZpbGVIYW5kbGVyLCBRdW90YU1hbmFnZXJHZXR0ZXImJiBxdW90YU1hbmFnZXJHZXR0
ZXIpCitJREJTZXJ2ZXI6OklEQlNlcnZlcihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIFF1b3Rh
TWFuYWdlckdldHRlciYmIHF1b3RhTWFuYWdlckdldHRlcikKICAgICA6IENyb3NzVGhyZWFkVGFz
a0hhbmRsZXIoIkluZGV4ZWREYXRhYmFzZSBTZXJ2ZXIiLCBBdXRvZHJhaW5lZFBvb2xGb3JSdW5M
b29wOjpVc2UpCiAgICAgLCBtX3Nlc3Npb25JRChzZXNzaW9uSUQpCi0gICAgLCBtX2JhY2tpbmdT
dG9yZVRlbXBvcmFyeUZpbGVIYW5kbGVyKGZpbGVIYW5kbGVyKQogICAgICwgbV9xdW90YU1hbmFn
ZXJHZXR0ZXIoV1RGTW92ZShxdW90YU1hbmFnZXJHZXR0ZXIpKQogewogfQogCi1JREJTZXJ2ZXI6
OklEQlNlcnZlcihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIGNvbnN0IFN0cmluZyYgZGF0YWJh
c2VEaXJlY3RvcnlQYXRoLCBJREJCYWNraW5nU3RvcmVUZW1wb3JhcnlGaWxlSGFuZGxlciYgZmls
ZUhhbmRsZXIsIFF1b3RhTWFuYWdlckdldHRlciYmIHF1b3RhTWFuYWdlckdldHRlcikKK0lEQlNl
cnZlcjo6SURCU2VydmVyKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgY29uc3QgU3RyaW5nJiBk
YXRhYmFzZURpcmVjdG9yeVBhdGgsIFF1b3RhTWFuYWdlckdldHRlciYmIHF1b3RhTWFuYWdlckdl
dHRlcikKICAgICA6IENyb3NzVGhyZWFkVGFza0hhbmRsZXIoIkluZGV4ZWREYXRhYmFzZSBTZXJ2
ZXIiLCBBdXRvZHJhaW5lZFBvb2xGb3JSdW5Mb29wOjpVc2UpCiAgICAgLCBtX3Nlc3Npb25JRChz
ZXNzaW9uSUQpCiAgICAgLCBtX2RhdGFiYXNlRGlyZWN0b3J5UGF0aChkYXRhYmFzZURpcmVjdG9y
eVBhdGgpCi0gICAgLCBtX2JhY2tpbmdTdG9yZVRlbXBvcmFyeUZpbGVIYW5kbGVyKGZpbGVIYW5k
bGVyKQogICAgICwgbV9xdW90YU1hbmFnZXJHZXR0ZXIoV1RGTW92ZShxdW90YU1hbmFnZXJHZXR0
ZXIpKQogewogICAgIExPRyhJbmRleGVkREIsICJJREJTZXJ2ZXIgY3JlYXRlZCBhdCBwYXRoICVz
IiwgZGF0YWJhc2VEaXJlY3RvcnlQYXRoLnV0ZjgoKS5kYXRhKCkpOwpAQCAtMTM2LDcgKzEzNCw3
IEBAIHN0ZDo6dW5pcXVlX3B0cjxJREJCYWNraW5nU3RvcmU+IElEQlNlcnZlcjo6Y3JlYXRlQmFj
a2luZ1N0b3JlKGNvbnN0IElEQkRhdGFiYXNlCiAgICAgaWYgKGRhdGFiYXNlRGlyZWN0b3J5UGF0
aC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBNZW1vcnlJREJCYWNraW5nU3RvcmU6OmNyZWF0
ZShtX3Nlc3Npb25JRCwgaWRlbnRpZmllcik7CiAKLSAgICByZXR1cm4gbWFrZVVuaXF1ZTxTUUxp
dGVJREJCYWNraW5nU3RvcmU+KG1fc2Vzc2lvbklELCBpZGVudGlmaWVyLCBkYXRhYmFzZURpcmVj
dG9yeVBhdGgsIG1fYmFja2luZ1N0b3JlVGVtcG9yYXJ5RmlsZUhhbmRsZXIpOworICAgIHJldHVy
biBtYWtlVW5pcXVlPFNRTGl0ZUlEQkJhY2tpbmdTdG9yZT4obV9zZXNzaW9uSUQsIGlkZW50aWZp
ZXIsIGRhdGFiYXNlRGlyZWN0b3J5UGF0aCk7CiB9CiAKIHZvaWQgSURCU2VydmVyOjpvcGVuRGF0
YWJhc2UoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRhKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQlNlcnZlci5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQlNlcnZlci5oCmluZGV4IDVhYTNk
YjVhMTg5YzgzZTkyYmI0ZWVlZDVkZWUwYjUzYzJkMTAxMDUuLjA3NTVlZDlmOWM3MDg3MTc4OWJk
OTgxOGJjNmM1Y2U4YjZjNTlhNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmgKQEAgLTU0LDE1ICs1NCwxMyBAQCBzdHJ1Y3Qg
SURCR2V0UmVjb3JkRGF0YTsKIAogbmFtZXNwYWNlIElEQlNlcnZlciB7CiAKLWNsYXNzIElEQkJh
Y2tpbmdTdG9yZVRlbXBvcmFyeUZpbGVIYW5kbGVyOwotCiBlbnVtIGNsYXNzIFNob3VsZEZvcmNl
U3RvcCA6IGJvb2wgeyBObywgWWVzIH07CiAKIGNsYXNzIElEQlNlcnZlciA6IHB1YmxpYyBSZWZD
b3VudGVkPElEQlNlcnZlcj4sIHB1YmxpYyBDcm9zc1RocmVhZFRhc2tIYW5kbGVyLCBwdWJsaWMg
Q2FuTWFrZVdlYWtQdHI8SURCU2VydmVyPiB7CiBwdWJsaWM6CiAgICAgdXNpbmcgUXVvdGFNYW5h
Z2VyR2V0dGVyID0gV1RGOjpGdW5jdGlvbjxTdG9yYWdlUXVvdGFNYW5hZ2VyKihQQUw6OlNlc3Np
b25JRCwgY29uc3QgQ2xpZW50T3JpZ2luJik+OwotICAgIHN0YXRpYyBSZWY8SURCU2VydmVyPiBj
cmVhdGUoUEFMOjpTZXNzaW9uSUQsIElEQkJhY2tpbmdTdG9yZVRlbXBvcmFyeUZpbGVIYW5kbGVy
JiwgUXVvdGFNYW5hZ2VyR2V0dGVyJiYpOwotICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSZWY8
SURCU2VydmVyPiBjcmVhdGUoUEFMOjpTZXNzaW9uSUQsIGNvbnN0IFN0cmluZyYgZGF0YWJhc2VE
aXJlY3RvcnlQYXRoLCBJREJCYWNraW5nU3RvcmVUZW1wb3JhcnlGaWxlSGFuZGxlciYsIFF1b3Rh
TWFuYWdlckdldHRlciYmKTsKKyAgICBzdGF0aWMgUmVmPElEQlNlcnZlcj4gY3JlYXRlKFBBTDo6
U2Vzc2lvbklELCBRdW90YU1hbmFnZXJHZXR0ZXImJik7CisgICAgV0VCQ09SRV9FWFBPUlQgc3Rh
dGljIFJlZjxJREJTZXJ2ZXI+IGNyZWF0ZShQQUw6OlNlc3Npb25JRCwgY29uc3QgU3RyaW5nJiBk
YXRhYmFzZURpcmVjdG9yeVBhdGgsIFF1b3RhTWFuYWdlckdldHRlciYmKTsKIAogICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgcmVnaXN0ZXJDb25uZWN0aW9uKElEQkNvbm5lY3Rpb25Ub0NsaWVudCYp
OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgdW5yZWdpc3RlckNvbm5lY3Rpb24oSURCQ29ubmVj
dGlvblRvQ2xpZW50Jik7CkBAIC0xMjYsOCArMTI0LDggQEAgcHVibGljOgogICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgcmVzdW1lKCk7CiAKIHByaXZhdGU6Ci0gICAgSURCU2VydmVyKFBBTDo6U2Vz
c2lvbklELCBJREJCYWNraW5nU3RvcmVUZW1wb3JhcnlGaWxlSGFuZGxlciYsIFF1b3RhTWFuYWdl
ckdldHRlciYmKTsKLSAgICBJREJTZXJ2ZXIoUEFMOjpTZXNzaW9uSUQsIGNvbnN0IFN0cmluZyYg
ZGF0YWJhc2VEaXJlY3RvcnlQYXRoLCBJREJCYWNraW5nU3RvcmVUZW1wb3JhcnlGaWxlSGFuZGxl
ciYsIFF1b3RhTWFuYWdlckdldHRlciYmKTsKKyAgICBJREJTZXJ2ZXIoUEFMOjpTZXNzaW9uSUQs
IFF1b3RhTWFuYWdlckdldHRlciYmKTsKKyAgICBJREJTZXJ2ZXIoUEFMOjpTZXNzaW9uSUQsIGNv
bnN0IFN0cmluZyYgZGF0YWJhc2VEaXJlY3RvcnlQYXRoLCBRdW90YU1hbmFnZXJHZXR0ZXImJik7
CiAKICAgICBVbmlxdWVJREJEYXRhYmFzZSYgZ2V0T3JDcmVhdGVVbmlxdWVJREJEYXRhYmFzZShj
b25zdCBJREJEYXRhYmFzZUlkZW50aWZpZXImKTsKICAgICAKQEAgLTE5OSw3ICsxOTcsNiBAQCBw
cml2YXRlOgogICAgIEhhc2hNYXA8dWludDY0X3QsIEZ1bmN0aW9uPHZvaWQgKCk+PiBtX2RlbGV0
ZURhdGFiYXNlQ29tcGxldGlvbkhhbmRsZXJzOwogCiAgICAgU3RyaW5nIG1fZGF0YWJhc2VEaXJl
Y3RvcnlQYXRoOwotICAgIElEQkJhY2tpbmdTdG9yZVRlbXBvcmFyeUZpbGVIYW5kbGVyJiBtX2Jh
Y2tpbmdTdG9yZVRlbXBvcmFyeUZpbGVIYW5kbGVyOwogCiAgICAgSGFzaE1hcDxDbGllbnRPcmln
aW4sIHN0ZDo6dW5pcXVlX3B0cjxRdW90YVVzZXI+PiBtX3F1b3RhVXNlcnM7CiAgICAgUXVvdGFN
YW5hZ2VyR2V0dGVyIG1fcXVvdGFNYW5hZ2VyR2V0dGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NRTGl0ZUlEQkJhY2tpbmdTdG9yZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQmFja2lu
Z1N0b3JlLmNwcAppbmRleCAyNzliMzE1OTE2YmQzOWQ4ZDRhODYwNmU3MDVkYjdlNTVkMTlhZTcw
Li4yYWMwY2U1ZWJmM2ViNTVmYmY0N2Y5ZTlmYjBkZGMzYTUwNTE5YTA5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQmFja2luZ1N0
b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FM
aXRlSURCQmFja2luZ1N0b3JlLmNwcApAQCAtMjI5LDExICsyMjksMTAgQEAgc3RhdGljIGNvbnN0
IFN0cmluZyYgYmxvYkZpbGVzVGFibGVTY2hlbWFBbHRlcm5hdGUoKQogICAgIHJldHVybiBibG9i
RmlsZXNUYWJsZVNjaGVtYVN0cmluZzsKIH0KIAotU1FMaXRlSURCQmFja2luZ1N0b3JlOjpTUUxp
dGVJREJCYWNraW5nU3RvcmUoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBjb25zdCBJREJEYXRh
YmFzZUlkZW50aWZpZXImIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZGF0YWJhc2VSb290RGly
ZWN0b3J5LCBJREJCYWNraW5nU3RvcmVUZW1wb3JhcnlGaWxlSGFuZGxlciYgZmlsZUhhbmRsZXIp
CitTUUxpdGVJREJCYWNraW5nU3RvcmU6OlNRTGl0ZUlEQkJhY2tpbmdTdG9yZShQQUw6OlNlc3Np
b25JRCBzZXNzaW9uSUQsIGNvbnN0IElEQkRhdGFiYXNlSWRlbnRpZmllciYgaWRlbnRpZmllciwg
Y29uc3QgU3RyaW5nJiBkYXRhYmFzZVJvb3REaXJlY3RvcnkpCiAgICAgOiBtX3Nlc3Npb25JRChz
ZXNzaW9uSUQpCiAgICAgLCBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikKICAgICAsIG1fZGF0YWJh
c2VSb290RGlyZWN0b3J5KGRhdGFiYXNlUm9vdERpcmVjdG9yeSkKLSAgICAsIG1fdGVtcG9yYXJ5
RmlsZUhhbmRsZXIoZmlsZUhhbmRsZXIpCiAgICAgLCBtX3NlcmlhbGl6YXRpb25Db250ZXh0KElE
QlNlcmlhbGl6YXRpb25Db250ZXh0OjpnZXRPckNyZWF0ZUlEQlNlcmlhbGl6YXRpb25Db250ZXh0
KHNlc3Npb25JRCkpCiB7CiAgICAgbV9kYXRhYmFzZURpcmVjdG9yeSA9IGZ1bGxEYXRhYmFzZURp
cmVjdG9yeVdpdGhVcGdyYWRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQmFja2luZ1N0b3JlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQmFja2luZ1N0b3JlLmgKaW5kZXgg
Y2E2YzMzNmFjNjMwM2U2MmQxNzdiYTM4M2I5MGE3NTlkZTA0YzE1OS4uZGMxZjljMWU5MDg5MjE4
MTViMDc5ODkyMWE0ZWI0M2U0ZWYxOWZjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvc2VydmVyL1NRTGl0ZUlEQkJhY2tpbmdTdG9yZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9TUUxpdGVJREJCYWNraW5nU3RvcmUu
aApAQCAtNTAsNyArNTAsNyBAQCBjbGFzcyBTUUxpdGVJREJDdXJzb3I7CiBjbGFzcyBTUUxpdGVJ
REJCYWNraW5nU3RvcmUgOiBwdWJsaWMgSURCQmFja2luZ1N0b3JlIHsKICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBTUUxpdGVJREJCYWNraW5nU3RvcmUoUEFMOjpT
ZXNzaW9uSUQsIGNvbnN0IElEQkRhdGFiYXNlSWRlbnRpZmllciYsIGNvbnN0IFN0cmluZyYgZGF0
YWJhc2VSb290RGlyZWN0b3J5LCBJREJCYWNraW5nU3RvcmVUZW1wb3JhcnlGaWxlSGFuZGxlciYp
OworICAgIFNRTGl0ZUlEQkJhY2tpbmdTdG9yZShQQUw6OlNlc3Npb25JRCwgY29uc3QgSURCRGF0
YWJhc2VJZGVudGlmaWVyJiwgY29uc3QgU3RyaW5nJiBkYXRhYmFzZVJvb3REaXJlY3RvcnkpOwog
ICAgIAogICAgIH5TUUxpdGVJREJCYWNraW5nU3RvcmUoKSBmaW5hbDsKIApAQCAtODgsOCArODgs
NiBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHVucmVnaXN0ZXJDdXJzb3IoU1FMaXRlSURCQ3Vyc29y
Jik7CiAKLSAgICBJREJCYWNraW5nU3RvcmVUZW1wb3JhcnlGaWxlSGFuZGxlciYgdGVtcG9yYXJ5
RmlsZUhhbmRsZXIoKSBjb25zdCB7IHJldHVybiBtX3RlbXBvcmFyeUZpbGVIYW5kbGVyOyB9Ci0K
ICAgICBJREJFcnJvciBnZXRCbG9iUmVjb3Jkc0Zvck9iamVjdFN0b3JlUmVjb3JkKGludDY0X3Qg
b2JqZWN0U3RvcmVSZWNvcmQsIFZlY3RvcjxTdHJpbmc+JiBibG9iVVJMcywgVmVjdG9yPFN0cmlu
Zz4mIGJsb2JGaWxlUGF0aHMpOwogCiAgICAgc3RhdGljIFN0cmluZyBkYXRhYmFzZU5hbWVGcm9t
RW5jb2RlZEZpbGVuYW1lKGNvbnN0IFN0cmluZyYpOwpAQCAtMjEyLDggKzIxMCw2IEBAIHByaXZh
dGU6CiAgICAgU3RyaW5nIG1fZGF0YWJhc2VSb290RGlyZWN0b3J5OwogICAgIFN0cmluZyBtX2Rh
dGFiYXNlRGlyZWN0b3J5OwogCi0gICAgSURCQmFja2luZ1N0b3JlVGVtcG9yYXJ5RmlsZUhhbmRs
ZXImIG1fdGVtcG9yYXJ5RmlsZUhhbmRsZXI7Ci0KICAgICBSZWY8SURCU2VyaWFsaXphdGlvbkNv
bnRleHQ+IG1fc2VyaWFsaXphdGlvbkNvbnRleHQ7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCVHJhbnNhY3Rpb24uY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NRTGl0ZUlEQlRyYW5z
YWN0aW9uLmNwcAppbmRleCBkMjEyZGUyYjZiODhhZmZlMGEzNWIwZmQwZmQzM2ZjODY3Y2VjYmQx
Li42Yjg3YWMyOTAzN2I0YzkxODg1ODJjYTczMWY2ODY0OGE2MGU2MTcwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCVHJhbnNhY3Rp
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9TUUxp
dGVJREJUcmFuc2FjdGlvbi5jcHAKQEAgLTkyLDcgKzkyLDcgQEAgdm9pZCBTUUxpdGVJREJUcmFu
c2FjdGlvbjo6bW92ZUJsb2JGaWxlc0lmTmVjZXNzYXJ5KCkKICAgICAgICAgaWYgKCFGaWxlU3lz
dGVtOjpoYXJkTGlua09yQ29weUZpbGUoZW50cnkuZmlyc3QsIEZpbGVTeXN0ZW06OnBhdGhCeUFw
cGVuZGluZ0NvbXBvbmVudChkYXRhYmFzZURpcmVjdG9yeSwgZW50cnkuc2Vjb25kKSkpCiAgICAg
ICAgICAgICBMT0dfRVJST1IoIkZhaWxlZCB0byBsaW5rL2NvcHkgdGVtcG9yYXJ5IGJsb2IgZmls
ZSAnJXMnIHRvIGxvY2F0aW9uICclcyciLCBlbnRyeS5maXJzdC51dGY4KCkuZGF0YSgpLCBGaWxl
U3lzdGVtOjpwYXRoQnlBcHBlbmRpbmdDb21wb25lbnQoZGF0YWJhc2VEaXJlY3RvcnksIGVudHJ5
LnNlY29uZCkudXRmOCgpLmRhdGEoKSk7CiAKLSAgICAgICAgbV9iYWNraW5nU3RvcmUudGVtcG9y
YXJ5RmlsZUhhbmRsZXIoKS5hY2Nlc3NUb1RlbXBvcmFyeUZpbGVDb21wbGV0ZShlbnRyeS5maXJz
dCk7CisgICAgICAgIEZpbGVTeXN0ZW06OmRlbGV0ZUZpbGUoZW50cnkuZmlyc3QpOwogICAgIH0K
IAogICAgIG1fYmxvYlRlbXBvcmFyeUFuZFN0b3JlZEZpbGVuYW1lcy5jbGVhcigpOwpAQCAtMTA2
LDcgKzEwNiw4IEBAIHZvaWQgU1FMaXRlSURCVHJhbnNhY3Rpb246OmRlbGV0ZUJsb2JGaWxlc0lm
TmVjZXNzYXJ5KCkKICAgICBTdHJpbmcgZGF0YWJhc2VEaXJlY3RvcnkgPSBtX2JhY2tpbmdTdG9y
ZS5kYXRhYmFzZURpcmVjdG9yeSgpOwogICAgIGZvciAoYXV0byYgZW50cnkgOiBtX2Jsb2JSZW1v
dmVkRmlsZW5hbWVzKSB7CiAgICAgICAgIFN0cmluZyBmdWxsUGF0aCA9IEZpbGVTeXN0ZW06OnBh
dGhCeUFwcGVuZGluZ0NvbXBvbmVudChkYXRhYmFzZURpcmVjdG9yeSwgZW50cnkpOwotICAgICAg
ICBtX2JhY2tpbmdTdG9yZS50ZW1wb3JhcnlGaWxlSGFuZGxlcigpLmFjY2Vzc1RvVGVtcG9yYXJ5
RmlsZUNvbXBsZXRlKGZ1bGxQYXRoKTsKKworICAgICAgICBGaWxlU3lzdGVtOjpkZWxldGVGaWxl
KGZ1bGxQYXRoKTsKICAgICB9CiAKICAgICBtX2Jsb2JSZW1vdmVkRmlsZW5hbWVzLmNsZWFyKCk7
CkBAIC0xMTUsNyArMTE2LDcgQEAgdm9pZCBTUUxpdGVJREJUcmFuc2FjdGlvbjo6ZGVsZXRlQmxv
YkZpbGVzSWZOZWNlc3NhcnkoKQogSURCRXJyb3IgU1FMaXRlSURCVHJhbnNhY3Rpb246OmFib3J0
KCkKIHsKICAgICBmb3IgKGF1dG8mIGVudHJ5IDogbV9ibG9iVGVtcG9yYXJ5QW5kU3RvcmVkRmls
ZW5hbWVzKQotICAgICAgICBtX2JhY2tpbmdTdG9yZS50ZW1wb3JhcnlGaWxlSGFuZGxlcigpLmFj
Y2Vzc1RvVGVtcG9yYXJ5RmlsZUNvbXBsZXRlKGVudHJ5LmZpcnN0KTsKKyAgICAgICAgRmlsZVN5
c3RlbTo6ZGVsZXRlRmlsZShlbnRyeS5maXJzdCk7CiAKICAgICBtX2Jsb2JUZW1wb3JhcnlBbmRT
dG9yZWRGaWxlbmFtZXMuY2xlYXIoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvc2hhcmVkL0luUHJvY2Vzc0lEQlNlcnZlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSW5Qcm9jZXNzSURCU2VydmVyLmNwcAppbmRl
eCA4MDdhNDIzMDMwZmZjZjY4YjcyN2ExZGVlMDYwYjQ0MGU4Nzk4OWZkLi5hYTQ4MjNjOTM0ZjYx
MDE4N2U3Y2Y0ZDgxZDQwZWVmMjgyNzE1ZTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSW5Qcm9jZXNzSURCU2VydmVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSW5Qcm9jZXNzSURCU2VydmVyLmNw
cApAQCAtNzgsNyArNzgsNyBAQCBzdGF0aWMgaW5saW5lIElEQlNlcnZlcjo6SURCU2VydmVyOjpR
dW90YU1hbmFnZXJHZXR0ZXIgc3RvcmFnZVF1b3RhTWFuYWdlckdldHRlcgogfQogCiBJblByb2Nl
c3NJREJTZXJ2ZXI6OkluUHJvY2Vzc0lEQlNlcnZlcihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQp
Ci0gICAgOiBtX3NlcnZlcihJREJTZXJ2ZXI6OklEQlNlcnZlcjo6Y3JlYXRlKHNlc3Npb25JRCwg
KnRoaXMsIHN0b3JhZ2VRdW90YU1hbmFnZXJHZXR0ZXIoKnRoaXMpKSkKKyAgICA6IG1fc2VydmVy
KElEQlNlcnZlcjo6SURCU2VydmVyOjpjcmVhdGUoc2Vzc2lvbklELCBzdG9yYWdlUXVvdGFNYW5h
Z2VyR2V0dGVyKCp0aGlzKSkpCiB7CiAgICAgcmVsYXhBZG9wdGlvblJlcXVpcmVtZW50KCk7CiAg
ICAgbV9jb25uZWN0aW9uVG9TZXJ2ZXIgPSBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZl
cjo6Y3JlYXRlKCp0aGlzKTsKQEAgLTg2LDcgKzg2LDcgQEAgSW5Qcm9jZXNzSURCU2VydmVyOjpJ
blByb2Nlc3NJREJTZXJ2ZXIoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKQogfQogCiBJblByb2Nl
c3NJREJTZXJ2ZXI6OkluUHJvY2Vzc0lEQlNlcnZlcihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQs
IGNvbnN0IFN0cmluZyYgZGF0YWJhc2VEaXJlY3RvcnlQYXRoKQotICAgIDogbV9zZXJ2ZXIoSURC
U2VydmVyOjpJREJTZXJ2ZXI6OmNyZWF0ZShzZXNzaW9uSUQsIGRhdGFiYXNlRGlyZWN0b3J5UGF0
aCwgKnRoaXMsIHN0b3JhZ2VRdW90YU1hbmFnZXJHZXR0ZXIoKnRoaXMpKSkKKyAgICA6IG1fc2Vy
dmVyKElEQlNlcnZlcjo6SURCU2VydmVyOjpjcmVhdGUoc2Vzc2lvbklELCBkYXRhYmFzZURpcmVj
dG9yeVBhdGgsIHN0b3JhZ2VRdW90YU1hbmFnZXJHZXR0ZXIoKnRoaXMpKSkKIHsKICAgICByZWxh
eEFkb3B0aW9uUmVxdWlyZW1lbnQoKTsKICAgICBtX2Nvbm5lY3Rpb25Ub1NlcnZlciA9IElEQkNs
aWVudDo6SURCQ29ubmVjdGlvblRvU2VydmVyOjpjcmVhdGUoKnRoaXMpOwpAQCAtNDYwLDExICs0
NjAsNiBAQCB2b2lkIEluUHJvY2Vzc0lEQlNlcnZlcjo6ZGlkR2V0QWxsRGF0YWJhc2VOYW1lcyh1
aW50NjRfdCBjYWxsYmFja0lELCBjb25zdCBWZWN0bwogICAgIH0pOwogfQogCi12b2lkIEluUHJv
Y2Vzc0lEQlNlcnZlcjo6YWNjZXNzVG9UZW1wb3JhcnlGaWxlQ29tcGxldGUoY29uc3QgU3RyaW5n
JiBwYXRoKQotewotICAgIEZpbGVTeXN0ZW06OmRlbGV0ZUZpbGUocGF0aCk7Ci19Ci0KIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0luUHJv
Y2Vzc0lEQlNlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVk
L0luUHJvY2Vzc0lEQlNlcnZlci5oCmluZGV4IGRiZmVhYzlkNTVlZjA4YzIwZTEzNTQwYTc4MGZm
MTcyYmE5NDk5NmQuLmNhZGM4MTJhMzk5YzY5OGY5MzdlNWM5NWMwNzdmYzBhMWMxN2I2ZjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JblByb2Nl
c3NJREJTZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFy
ZWQvSW5Qcm9jZXNzSURCU2VydmVyLmgKQEAgLTUxLDcgKzUxLDcgQEAgbmFtZXNwYWNlIElEQlNl
cnZlciB7CiBjbGFzcyBJREJTZXJ2ZXI7CiB9CiAKLWNsYXNzIEluUHJvY2Vzc0lEQlNlcnZlciBm
aW5hbCA6IHB1YmxpYyBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZlckRlbGVnYXRlLCBw
dWJsaWMgSURCU2VydmVyOjpJREJDb25uZWN0aW9uVG9DbGllbnREZWxlZ2F0ZSwgcHVibGljIFJl
ZkNvdW50ZWQ8SW5Qcm9jZXNzSURCU2VydmVyPiwgcHVibGljIElEQlNlcnZlcjo6SURCQmFja2lu
Z1N0b3JlVGVtcG9yYXJ5RmlsZUhhbmRsZXIgeworY2xhc3MgSW5Qcm9jZXNzSURCU2VydmVyIGZp
bmFsIDogcHVibGljIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblRvU2VydmVyRGVsZWdhdGUsIHB1
YmxpYyBJREJTZXJ2ZXI6OklEQkNvbm5lY3Rpb25Ub0NsaWVudERlbGVnYXRlLCBwdWJsaWMgUmVm
Q291bnRlZDxJblByb2Nlc3NJREJTZXJ2ZXI+IHsKIHB1YmxpYzoKICAgICB1c2luZyBJREJDbGll
bnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZlckRlbGVnYXRlOjp3ZWFrUHRyRmFjdG9yeTsKICAgICB1
c2luZyBXZWFrVmFsdWVUeXBlID0gSURCQ2xpZW50OjpJREJDb25uZWN0aW9uVG9TZXJ2ZXJEZWxl
Z2F0ZTo6V2Vha1ZhbHVlVHlwZTsKQEAgLTEyNSw4ICsxMjUsNiBAQCBwdWJsaWM6CiAgICAgdm9p
ZCByZWYoKSBvdmVycmlkZSB7IFJlZkNvdW50ZWQ8SW5Qcm9jZXNzSURCU2VydmVyPjo6cmVmKCk7
IH0KICAgICB2b2lkIGRlcmVmKCkgb3ZlcnJpZGUgeyBSZWZDb3VudGVkPEluUHJvY2Vzc0lEQlNl
cnZlcj46OmRlcmVmKCk7IH0KIAotICAgIHZvaWQgYWNjZXNzVG9UZW1wb3JhcnlGaWxlQ29tcGxl
dGUoY29uc3QgU3RyaW5nJiBwYXRoKSBvdmVycmlkZTsKLQogICAgIFN0b3JhZ2VRdW90YU1hbmFn
ZXIqIHF1b3RhTWFuYWdlcihjb25zdCBDbGllbnRPcmlnaW4mKTsKIAogcHJpdmF0ZToKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKaW5kZXggZDU1
NzVjZWMxNjhhYWRjZDA2ZGVlNTQ5NGRmZDdkNDhmYmUyODkwNC4uMWEzZTZkN2E2NjVlY2IzMmQ2
MTBjY2E4MDBhOTY4MzUwYTU2ZmY1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKQEAgLTIyNTcsNyArMjI1Nyw3IEBAIFJlZjxJREJTZXJ2
ZXI6OklEQlNlcnZlcj4gTmV0d29ya1Byb2Nlc3M6OmNyZWF0ZUlEQlNlcnZlcihQQUw6OlNlc3Np
b25JRCBzZXNzaW9uCiAgICAgICAgIHBhdGggPSBtX2lkYkRhdGFiYXNlUGF0aHMuZ2V0KHNlc3Np
b25JRCk7CiAgICAgfQogCi0gICAgcmV0dXJuIElEQlNlcnZlcjo6SURCU2VydmVyOjpjcmVhdGUo
c2Vzc2lvbklELCBwYXRoLCAqdGhpcywgW3RoaXMsIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIodGhp
cyldKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgY29uc3QgYXV0byYgb3JpZ2luKSAtPiBTdG9y
YWdlUXVvdGFNYW5hZ2VyKiB7CisgICAgcmV0dXJuIElEQlNlcnZlcjo6SURCU2VydmVyOjpjcmVh
dGUoc2Vzc2lvbklELCBwYXRoLCBbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cih0aGlzKV0o
UEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBjb25zdCBhdXRvJiBvcmlnaW4pIC0+IFN0b3JhZ2VR
dW90YU1hbmFnZXIqIHsKICAgICAgICAgaWYgKCF3ZWFrVGhpcykKICAgICAgICAgICAgIHJldHVy
biBudWxscHRyOwogICAgICAgICByZXR1cm4gJnRoaXMtPnN0b3JhZ2VRdW90YU1hbmFnZXIoc2Vz
c2lvbklELCBvcmlnaW4pOwpAQCAtMjMwNiwxNCArMjMwNiw2IEBAIHZvaWQgTmV0d29ya1Byb2Nl
c3M6OnBlcmZvcm1OZXh0U3RvcmFnZVRhc2soKQogICAgIHRhc2sucGVyZm9ybVRhc2soKTsKIH0K
IAotdm9pZCBOZXR3b3JrUHJvY2Vzczo6YWNjZXNzVG9UZW1wb3JhcnlGaWxlQ29tcGxldGUoY29u
c3QgU3RyaW5nJiBwYXRoKQotewotICAgIC8vIFdlJ3ZlIGVpdGhlciBoYXJkIGxpbmtlZCB0aGUg
dGVtcG9yYXJ5IGJsb2IgZmlsZSB0byB0aGUgZGF0YWJhc2UgZGlyZWN0b3J5LCBjb3BpZWQgaXQg
dGhlcmUsCi0gICAgLy8gb3IgdGhlIHRyYW5zYWN0aW9uIGlzIGJlaW5nIGFib3J0ZWQuCi0gICAg
Ly8gSW4gYW55IG9mIHRob3NlIGNhc2VzLCB3ZSBjYW4gZGVsZXRlIHRoZSB0ZW1wb3JhcnkgYmxv
YiBmaWxlIG5vdy4KLSAgICBGaWxlU3lzdGVtOjpkZWxldGVGaWxlKHBhdGgpOwotfQotCiB2b2lk
IE5ldHdvcmtQcm9jZXNzOjpjb2xsZWN0SW5kZXhlZERhdGFiYXNlT3JpZ2luc0ZvclZlcnNpb24o
Y29uc3QgU3RyaW5nJiBwYXRoLCBIYXNoU2V0PFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YT4m
IHNlY3VyaXR5T3JpZ2lucykKIHsKICAgICBpZiAocGF0aC5pc0VtcHR5KCkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmggYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKaW5kZXggYjVkYjU2ZjAyZDJh
YzE0N2MxYmRhNjZlZDUwYTg1ZjUxODIxYWI3Yy4uYzRmNmM3MjNkZmQ5ZjBkOTExMDBhNzUyOTVl
OTZjZmFiN2UzMjlhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Byb2Nlc3MuaApAQCAtMTIxLDExICsxMjEsNyBAQCBuYW1lc3BhY2UgQ2FjaGVTdG9yYWdlIHsK
IGNsYXNzIEVuZ2luZTsKIH0KIAotY2xhc3MgTmV0d29ya1Byb2Nlc3MgOiBwdWJsaWMgQXV4aWxp
YXJ5UHJvY2VzcywgcHJpdmF0ZSBEb3dubG9hZE1hbmFnZXI6OkNsaWVudCwgcHVibGljIFRocmVh
ZFNhZmVSZWZDb3VudGVkPE5ldHdvcmtQcm9jZXNzPgotI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFC
QVNFKQotICAgICwgcHVibGljIFdlYkNvcmU6OklEQlNlcnZlcjo6SURCQmFja2luZ1N0b3JlVGVt
cG9yYXJ5RmlsZUhhbmRsZXIKLSNlbmRpZgotICAgICwgcHVibGljIENhbk1ha2VXZWFrUHRyPE5l
dHdvcmtQcm9jZXNzPgorY2xhc3MgTmV0d29ya1Byb2Nlc3MgOiBwdWJsaWMgQXV4aWxpYXJ5UHJv
Y2VzcywgcHJpdmF0ZSBEb3dubG9hZE1hbmFnZXI6OkNsaWVudCwgcHVibGljIFRocmVhZFNhZmVS
ZWZDb3VudGVkPE5ldHdvcmtQcm9jZXNzPiwgcHVibGljIENhbk1ha2VXZWFrUHRyPE5ldHdvcmtQ
cm9jZXNzPgogewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5ldHdvcmtQcm9jZXNzKTsKIHB1
YmxpYzoKQEAgLTI4NCw4ICsyODAsNiBAQCBwdWJsaWM6CiAKICNpZiBFTkFCTEUoSU5ERVhFRF9E
QVRBQkFTRSkKICAgICBXZWJDb3JlOjpJREJTZXJ2ZXI6OklEQlNlcnZlciYgaWRiU2VydmVyKFBB
TDo6U2Vzc2lvbklEKTsKLSAgICAvLyBXZWJDb3JlOjpJREJTZXJ2ZXI6OklEQkJhY2tpbmdTdG9y
ZUZpbGVIYW5kbGVyLgotICAgIHZvaWQgYWNjZXNzVG9UZW1wb3JhcnlGaWxlQ29tcGxldGUoY29u
c3QgU3RyaW5nJiBwYXRoKSBmaW5hbDsKICNlbmRpZgogCiAgICAgdm9pZCBzeW5jTG9jYWxTdG9y
YWdlKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381470</attachid>
            <date>2019-10-21 15:51:38 -0700</date>
            <delta_ts>2019-10-21 17:53:28 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-203128-20191021155129.patch</filename>
            <type>text/plain</type>
            <size>19137</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxMzkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTY5ZDQxMjc2ZmEwOTk4
YmI5OGE5ZTJiMTY3Y2FmMGYxYzIyODk0NC4uZDk0OWMzMjYxNzg4MTllODgwZmE5ZmZmNzA5NjA0
ODNlYzBiMmI3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE5LTEwLTIxICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBJREJCYWNraW5n
U3RvcmVUZW1wb3JhcnlGaWxlSGFuZGxlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMTI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJp
c3RlbnNlbi4KKworICAgICAgICBJREJCYWNraW5nU3RvcmVUZW1wb3JhcnlGaWxlSGFuZGxlciBo
YXMgb25seSBvbmUgbWVtYmVyIGZ1bmN0aW9uLCBhbmQgaW1wbGVtZW50YXRpb24gb2YgdGhhdCBp
cyB0byBkZWxldGUKKyAgICAgICAgZmlsZXMuIFRvIGtlZXAgdGhlIHNhbWUgYmVoYXZpb3IsIHdl
IGNhbiByZW1vdmUgdGhpcyBjbGFzcyBhbmQgZGVsZXRlIHRoZSB0ZW1wb3JhcnkgZmlsZXMgYXQg
dGhlIHBsYWNlcyB3aGVyZSAKKyAgICAgICAgb2JqZWN0cyBvZiB0aGlzIGNsYXNzIHdlcmUgdXNl
ZC4KKworICAgICAgICBCeSBkb2luZyB0aGlzLCB3ZSBubyBsb25nZXIgbmVlZCB0byBwYXNzIHRo
ZSBOZXR3b3JrUHJvY2Vzcy9JblByb2Nlc3NJREJTZXJ2ZXIgYWxsIHRoZSB3YXkgZG93biB0byAK
KyAgICAgICAgU1FMaXRlSURCQmFja2luZ1N0b3JlIHRoYXQgaXMgdXNlZCBvbmx5IG9uIGJhY2tn
cm91bmQgdGhyZWFkLgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQkJh
Y2tpbmdTdG9yZS5oOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJTZXJ2
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpJREJTZXJ2ZXI6OmNyZWF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OklEQlNlcnZlcjo6SURCU2VydmVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6SURCU2VydmVyOjpjcmVhdGVCYWNraW5nU3RvcmUp
OgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIuaDoKKyAgICAg
ICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQmFja2luZ1N0b3JlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6U1FMaXRlSURCQmFja2luZ1N0b3JlOjpTUUxp
dGVJREJCYWNraW5nU3RvcmUpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9T
UUxpdGVJREJCYWNraW5nU3RvcmUuaDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6U1FM
aXRlSURCQmFja2luZ1N0b3JlOjp0ZW1wb3JhcnlGaWxlSGFuZGxlciBjb25zdCk6IERlbGV0ZWQu
CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NRTGl0ZUlEQlRyYW5zYWN0aW9u
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6U1FMaXRlSURCVHJhbnNhY3Rpb246
Om1vdmVCbG9iRmlsZXNJZk5lY2Vzc2FyeSk6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6
OlNRTGl0ZUlEQlRyYW5zYWN0aW9uOjpkZWxldGVCbG9iRmlsZXNJZk5lY2Vzc2FyeSk6CisgICAg
ICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OlNRTGl0ZUlEQlRyYW5zYWN0aW9uOjphYm9ydCk6Cisg
ICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0luUHJvY2Vzc0lEQlNlcnZlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJblByb2Nlc3NJREJTZXJ2ZXI6OkluUHJvY2Vzc0lEQlNlcnZl
cik6CisgICAgICAgIChXZWJDb3JlOjpJblByb2Nlc3NJREJTZXJ2ZXI6OmFjY2Vzc1RvVGVtcG9y
YXJ5RmlsZUNvbXBsZXRlKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9z
aGFyZWQvSW5Qcm9jZXNzSURCU2VydmVyLmg6CisKIDIwMTktMTAtMjEgIERlYW4gSmFja3NvbiAg
PGRpbm9AYXBwbGUuY29tPgogCiAgICAgICAgIERpc3BhdGNoIEFSIGV2ZW50IG9uIHRoZSBvcmln
aW5hdGluZyBhbmNob3IgZWxlbWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBkNDc4NTI1NTYwYzRhODJmNTQxY2Zi
NzEwZWRkNDY3MzczZmYzZjYwLi41OTk3ZmJlZTg4MjQzYzQ4ODM0MTc3ZTgxY2Y5OWJlNjkxOWE2
NzRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE5LTEwLTIxICBTaWh1aSBMaXUgIDxz
aWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBJREJCYWNraW5nU3RvcmVUZW1w
b3JhcnlGaWxlSGFuZGxlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjAzMTI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4K
KworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OmNyZWF0ZUlEQlNlcnZlcik6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtQcm9jZXNzOjphY2Nlc3NUb1RlbXBvcmFyeUZpbGVDb21wbGV0ZSk6IERlbGV0
ZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaDoKKwogMjAxOS0x
MC0yMSAgSm9obiBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXNv
dXJjZSBMb2FkIFN0YXRpc3RpY3M6IFVwZGF0ZSBjb29raWUgYmxvY2tpbmcgaW4gTmV0d29ya1N0
b3JhZ2VTZXNzaW9uIGFmdGVyIGZpcnN0IHVzZXIgaW50ZXJhY3Rpb24KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJCYWNraW5nU3RvcmUuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJCYWNraW5nU3RvcmUu
aAppbmRleCA3MzE2N2RkODA5N2RjZmJiZGU2YmU1N2UwZmU2ZDExMzQ2ZWJmYzNiLi4xMzMyZmZk
ZDc1Y2NkNmIxNmU0ODMwYTc1ZGY4NDY0YWRjNjE4NTc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCQmFja2luZ1N0b3JlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQkJhY2tpbmdTdG9yZS5oCkBA
IC01NiwxMiArNTYsNiBAQCBlbnVtIGNsYXNzIEluZGV4UmVjb3JkVHlwZTsKIAogbmFtZXNwYWNl
IElEQlNlcnZlciB7CiAKLWNsYXNzIElEQkJhY2tpbmdTdG9yZVRlbXBvcmFyeUZpbGVIYW5kbGVy
IHsKLXB1YmxpYzoKLSAgICB2aXJ0dWFsIH5JREJCYWNraW5nU3RvcmVUZW1wb3JhcnlGaWxlSGFu
ZGxlcigpID0gZGVmYXVsdDsKLSAgICB2aXJ0dWFsIHZvaWQgYWNjZXNzVG9UZW1wb3JhcnlGaWxl
Q29tcGxldGUoY29uc3QgU3RyaW5nJiBwYXRoKSA9IDA7Ci19OwotCiBjbGFzcyBJREJCYWNraW5n
U3RvcmUgewogcHVibGljOgogICAgIHZpcnR1YWwgfklEQkJhY2tpbmdTdG9yZSgpIHsgUkVMRUFT
RV9BU1NFUlQoIWlzTWFpblRocmVhZCgpKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQlNlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmNwcAppbmRleCA0MjhhYTgwMGI1MTFk
NGE4ODAzYjFiZGRjMWMyZWFlNmNjOTEwY2YwLi5hOGU4NTY3MDA4Nzg4MTc2ZWZlYTk5ZTU2NGNh
NWQwYmVkZTkzYzNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9zZXJ2ZXIvSURCU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmNwcApAQCAtNDYsMjkgKzQ2LDI3IEBACiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiBuYW1lc3BhY2UgSURCU2VydmVyIHsKIAotUmVmPElEQlNlcnZlcj4gSURCU2Vy
dmVyOjpjcmVhdGUoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBJREJCYWNraW5nU3RvcmVUZW1w
b3JhcnlGaWxlSGFuZGxlciYgZmlsZUhhbmRsZXIsIFF1b3RhTWFuYWdlckdldHRlciYmIHF1b3Rh
TWFuYWdlckdldHRlcikKK1JlZjxJREJTZXJ2ZXI+IElEQlNlcnZlcjo6Y3JlYXRlKFBBTDo6U2Vz
c2lvbklEIHNlc3Npb25JRCwgUXVvdGFNYW5hZ2VyR2V0dGVyJiYgcXVvdGFNYW5hZ2VyR2V0dGVy
KQogewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IElEQlNlcnZlcihzZXNzaW9uSUQsIGZpbGVI
YW5kbGVyLCBXVEZNb3ZlKHF1b3RhTWFuYWdlckdldHRlcikpKTsKKyAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBJREJTZXJ2ZXIoc2Vzc2lvbklELCBXVEZNb3ZlKHF1b3RhTWFuYWdlckdldHRlcikp
KTsKIH0KIAotUmVmPElEQlNlcnZlcj4gSURCU2VydmVyOjpjcmVhdGUoUEFMOjpTZXNzaW9uSUQg
c2Vzc2lvbklELCBjb25zdCBTdHJpbmcmIGRhdGFiYXNlRGlyZWN0b3J5UGF0aCwgSURCQmFja2lu
Z1N0b3JlVGVtcG9yYXJ5RmlsZUhhbmRsZXImIGZpbGVIYW5kbGVyLCBRdW90YU1hbmFnZXJHZXR0
ZXImJiBxdW90YU1hbmFnZXJHZXR0ZXIpCitSZWY8SURCU2VydmVyPiBJREJTZXJ2ZXI6OmNyZWF0
ZShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIGNvbnN0IFN0cmluZyYgZGF0YWJhc2VEaXJlY3Rv
cnlQYXRoLCBRdW90YU1hbmFnZXJHZXR0ZXImJiBxdW90YU1hbmFnZXJHZXR0ZXIpCiB7Ci0gICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgSURCU2VydmVyKHNlc3Npb25JRCwgZGF0YWJhc2VEaXJlY3Rv
cnlQYXRoLCBmaWxlSGFuZGxlciwgV1RGTW92ZShxdW90YU1hbmFnZXJHZXR0ZXIpKSk7CisgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgSURCU2VydmVyKHNlc3Npb25JRCwgZGF0YWJhc2VEaXJlY3Rv
cnlQYXRoLCBXVEZNb3ZlKHF1b3RhTWFuYWdlckdldHRlcikpKTsKIH0KIAotSURCU2VydmVyOjpJ
REJTZXJ2ZXIoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBJREJCYWNraW5nU3RvcmVUZW1wb3Jh
cnlGaWxlSGFuZGxlciYgZmlsZUhhbmRsZXIsIFF1b3RhTWFuYWdlckdldHRlciYmIHF1b3RhTWFu
YWdlckdldHRlcikKK0lEQlNlcnZlcjo6SURCU2VydmVyKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25J
RCwgUXVvdGFNYW5hZ2VyR2V0dGVyJiYgcXVvdGFNYW5hZ2VyR2V0dGVyKQogICAgIDogQ3Jvc3NU
aHJlYWRUYXNrSGFuZGxlcigiSW5kZXhlZERhdGFiYXNlIFNlcnZlciIsIEF1dG9kcmFpbmVkUG9v
bEZvclJ1bkxvb3A6OlVzZSkKICAgICAsIG1fc2Vzc2lvbklEKHNlc3Npb25JRCkKLSAgICAsIG1f
YmFja2luZ1N0b3JlVGVtcG9yYXJ5RmlsZUhhbmRsZXIoZmlsZUhhbmRsZXIpCiAgICAgLCBtX3F1
b3RhTWFuYWdlckdldHRlcihXVEZNb3ZlKHF1b3RhTWFuYWdlckdldHRlcikpCiB7CiB9CiAKLUlE
QlNlcnZlcjo6SURCU2VydmVyKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgY29uc3QgU3RyaW5n
JiBkYXRhYmFzZURpcmVjdG9yeVBhdGgsIElEQkJhY2tpbmdTdG9yZVRlbXBvcmFyeUZpbGVIYW5k
bGVyJiBmaWxlSGFuZGxlciwgUXVvdGFNYW5hZ2VyR2V0dGVyJiYgcXVvdGFNYW5hZ2VyR2V0dGVy
KQorSURCU2VydmVyOjpJREJTZXJ2ZXIoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBjb25zdCBT
dHJpbmcmIGRhdGFiYXNlRGlyZWN0b3J5UGF0aCwgUXVvdGFNYW5hZ2VyR2V0dGVyJiYgcXVvdGFN
YW5hZ2VyR2V0dGVyKQogICAgIDogQ3Jvc3NUaHJlYWRUYXNrSGFuZGxlcigiSW5kZXhlZERhdGFi
YXNlIFNlcnZlciIsIEF1dG9kcmFpbmVkUG9vbEZvclJ1bkxvb3A6OlVzZSkKICAgICAsIG1fc2Vz
c2lvbklEKHNlc3Npb25JRCkKICAgICAsIG1fZGF0YWJhc2VEaXJlY3RvcnlQYXRoKGRhdGFiYXNl
RGlyZWN0b3J5UGF0aCkKLSAgICAsIG1fYmFja2luZ1N0b3JlVGVtcG9yYXJ5RmlsZUhhbmRsZXIo
ZmlsZUhhbmRsZXIpCiAgICAgLCBtX3F1b3RhTWFuYWdlckdldHRlcihXVEZNb3ZlKHF1b3RhTWFu
YWdlckdldHRlcikpCiB7CiAgICAgTE9HKEluZGV4ZWREQiwgIklEQlNlcnZlciBjcmVhdGVkIGF0
IHBhdGggJXMiLCBkYXRhYmFzZURpcmVjdG9yeVBhdGgudXRmOCgpLmRhdGEoKSk7CkBAIC0xMzYs
NyArMTM0LDcgQEAgc3RkOjp1bmlxdWVfcHRyPElEQkJhY2tpbmdTdG9yZT4gSURCU2VydmVyOjpj
cmVhdGVCYWNraW5nU3RvcmUoY29uc3QgSURCRGF0YWJhc2UKICAgICBpZiAoZGF0YWJhc2VEaXJl
Y3RvcnlQYXRoLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIE1lbW9yeUlEQkJhY2tpbmdTdG9y
ZTo6Y3JlYXRlKG1fc2Vzc2lvbklELCBpZGVudGlmaWVyKTsKIAotICAgIHJldHVybiBtYWtlVW5p
cXVlPFNRTGl0ZUlEQkJhY2tpbmdTdG9yZT4obV9zZXNzaW9uSUQsIGlkZW50aWZpZXIsIGRhdGFi
YXNlRGlyZWN0b3J5UGF0aCwgbV9iYWNraW5nU3RvcmVUZW1wb3JhcnlGaWxlSGFuZGxlcik7Cisg
ICAgcmV0dXJuIG1ha2VVbmlxdWU8U1FMaXRlSURCQmFja2luZ1N0b3JlPihtX3Nlc3Npb25JRCwg
aWRlbnRpZmllciwgZGF0YWJhc2VEaXJlY3RvcnlQYXRoKTsKIH0KIAogdm9pZCBJREJTZXJ2ZXI6
Om9wZW5EYXRhYmFzZShjb25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhdGEpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmgKaW5k
ZXggNWFhM2RiNWExODljODNlOTJiYjRlZWVkNWRlZTBiNTNjMmQxMDEwNS4uMDc1NWVkOWY5Yzcw
ODcxNzg5YmQ5ODE4YmM2YzVjZThiNmM1OWE0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQlNlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIuaApAQCAtNTQsMTUgKzU0LDEzIEBA
IHN0cnVjdCBJREJHZXRSZWNvcmREYXRhOwogCiBuYW1lc3BhY2UgSURCU2VydmVyIHsKIAotY2xh
c3MgSURCQmFja2luZ1N0b3JlVGVtcG9yYXJ5RmlsZUhhbmRsZXI7Ci0KIGVudW0gY2xhc3MgU2hv
dWxkRm9yY2VTdG9wIDogYm9vbCB7IE5vLCBZZXMgfTsKIAogY2xhc3MgSURCU2VydmVyIDogcHVi
bGljIFJlZkNvdW50ZWQ8SURCU2VydmVyPiwgcHVibGljIENyb3NzVGhyZWFkVGFza0hhbmRsZXIs
IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxJREJTZXJ2ZXI+IHsKIHB1YmxpYzoKICAgICB1c2luZyBR
dW90YU1hbmFnZXJHZXR0ZXIgPSBXVEY6OkZ1bmN0aW9uPFN0b3JhZ2VRdW90YU1hbmFnZXIqKFBB
TDo6U2Vzc2lvbklELCBjb25zdCBDbGllbnRPcmlnaW4mKT47Ci0gICAgc3RhdGljIFJlZjxJREJT
ZXJ2ZXI+IGNyZWF0ZShQQUw6OlNlc3Npb25JRCwgSURCQmFja2luZ1N0b3JlVGVtcG9yYXJ5Rmls
ZUhhbmRsZXImLCBRdW90YU1hbmFnZXJHZXR0ZXImJik7Ci0gICAgV0VCQ09SRV9FWFBPUlQgc3Rh
dGljIFJlZjxJREJTZXJ2ZXI+IGNyZWF0ZShQQUw6OlNlc3Npb25JRCwgY29uc3QgU3RyaW5nJiBk
YXRhYmFzZURpcmVjdG9yeVBhdGgsIElEQkJhY2tpbmdTdG9yZVRlbXBvcmFyeUZpbGVIYW5kbGVy
JiwgUXVvdGFNYW5hZ2VyR2V0dGVyJiYpOworICAgIHN0YXRpYyBSZWY8SURCU2VydmVyPiBjcmVh
dGUoUEFMOjpTZXNzaW9uSUQsIFF1b3RhTWFuYWdlckdldHRlciYmKTsKKyAgICBXRUJDT1JFX0VY
UE9SVCBzdGF0aWMgUmVmPElEQlNlcnZlcj4gY3JlYXRlKFBBTDo6U2Vzc2lvbklELCBjb25zdCBT
dHJpbmcmIGRhdGFiYXNlRGlyZWN0b3J5UGF0aCwgUXVvdGFNYW5hZ2VyR2V0dGVyJiYpOwogCiAg
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZWdpc3RlckNvbm5lY3Rpb24oSURCQ29ubmVjdGlvblRv
Q2xpZW50Jik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCB1bnJlZ2lzdGVyQ29ubmVjdGlvbihJ
REJDb25uZWN0aW9uVG9DbGllbnQmKTsKQEAgLTEyNiw4ICsxMjQsOCBAQCBwdWJsaWM6CiAgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCByZXN1bWUoKTsKIAogcHJpdmF0ZToKLSAgICBJREJTZXJ2ZXIo
UEFMOjpTZXNzaW9uSUQsIElEQkJhY2tpbmdTdG9yZVRlbXBvcmFyeUZpbGVIYW5kbGVyJiwgUXVv
dGFNYW5hZ2VyR2V0dGVyJiYpOwotICAgIElEQlNlcnZlcihQQUw6OlNlc3Npb25JRCwgY29uc3Qg
U3RyaW5nJiBkYXRhYmFzZURpcmVjdG9yeVBhdGgsIElEQkJhY2tpbmdTdG9yZVRlbXBvcmFyeUZp
bGVIYW5kbGVyJiwgUXVvdGFNYW5hZ2VyR2V0dGVyJiYpOworICAgIElEQlNlcnZlcihQQUw6OlNl
c3Npb25JRCwgUXVvdGFNYW5hZ2VyR2V0dGVyJiYpOworICAgIElEQlNlcnZlcihQQUw6OlNlc3Np
b25JRCwgY29uc3QgU3RyaW5nJiBkYXRhYmFzZURpcmVjdG9yeVBhdGgsIFF1b3RhTWFuYWdlckdl
dHRlciYmKTsKIAogICAgIFVuaXF1ZUlEQkRhdGFiYXNlJiBnZXRPckNyZWF0ZVVuaXF1ZUlEQkRh
dGFiYXNlKGNvbnN0IElEQkRhdGFiYXNlSWRlbnRpZmllciYpOwogICAgIApAQCAtMTk5LDcgKzE5
Nyw2IEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDx1aW50NjRfdCwgRnVuY3Rpb248dm9pZCAoKT4+
IG1fZGVsZXRlRGF0YWJhc2VDb21wbGV0aW9uSGFuZGxlcnM7CiAKICAgICBTdHJpbmcgbV9kYXRh
YmFzZURpcmVjdG9yeVBhdGg7Ci0gICAgSURCQmFja2luZ1N0b3JlVGVtcG9yYXJ5RmlsZUhhbmRs
ZXImIG1fYmFja2luZ1N0b3JlVGVtcG9yYXJ5RmlsZUhhbmRsZXI7CiAKICAgICBIYXNoTWFwPENs
aWVudE9yaWdpbiwgc3RkOjp1bmlxdWVfcHRyPFF1b3RhVXNlcj4+IG1fcXVvdGFVc2VyczsKICAg
ICBRdW90YU1hbmFnZXJHZXR0ZXIgbV9xdW90YU1hbmFnZXJHZXR0ZXI7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQmFja2luZ1N0
b3JlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9TUUxpdGVJ
REJCYWNraW5nU3RvcmUuY3BwCmluZGV4IDI3OWIzMTU5MTZiZDM5ZDhkNGE4NjA2ZTcwNWRiN2U1
NWQxOWFlNzAuLjJhYzBjZTVlYmYzZWI1NWZiZjQ3ZjllOWZiMGRkYzNhNTA1MTlhMDkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9TUUxpdGVJREJC
YWNraW5nU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3Nl
cnZlci9TUUxpdGVJREJCYWNraW5nU3RvcmUuY3BwCkBAIC0yMjksMTEgKzIyOSwxMCBAQCBzdGF0
aWMgY29uc3QgU3RyaW5nJiBibG9iRmlsZXNUYWJsZVNjaGVtYUFsdGVybmF0ZSgpCiAgICAgcmV0
dXJuIGJsb2JGaWxlc1RhYmxlU2NoZW1hU3RyaW5nOwogfQogCi1TUUxpdGVJREJCYWNraW5nU3Rv
cmU6OlNRTGl0ZUlEQkJhY2tpbmdTdG9yZShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIGNvbnN0
IElEQkRhdGFiYXNlSWRlbnRpZmllciYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBkYXRhYmFz
ZVJvb3REaXJlY3RvcnksIElEQkJhY2tpbmdTdG9yZVRlbXBvcmFyeUZpbGVIYW5kbGVyJiBmaWxl
SGFuZGxlcikKK1NRTGl0ZUlEQkJhY2tpbmdTdG9yZTo6U1FMaXRlSURCQmFja2luZ1N0b3JlKFBB
TDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgY29uc3QgSURCRGF0YWJhc2VJZGVudGlmaWVyJiBpZGVu
dGlmaWVyLCBjb25zdCBTdHJpbmcmIGRhdGFiYXNlUm9vdERpcmVjdG9yeSkKICAgICA6IG1fc2Vz
c2lvbklEKHNlc3Npb25JRCkKICAgICAsIG1faWRlbnRpZmllcihpZGVudGlmaWVyKQogICAgICwg
bV9kYXRhYmFzZVJvb3REaXJlY3RvcnkoZGF0YWJhc2VSb290RGlyZWN0b3J5KQotICAgICwgbV90
ZW1wb3JhcnlGaWxlSGFuZGxlcihmaWxlSGFuZGxlcikKICAgICAsIG1fc2VyaWFsaXphdGlvbkNv
bnRleHQoSURCU2VyaWFsaXphdGlvbkNvbnRleHQ6OmdldE9yQ3JlYXRlSURCU2VyaWFsaXphdGlv
bkNvbnRleHQoc2Vzc2lvbklEKSkKIHsKICAgICBtX2RhdGFiYXNlRGlyZWN0b3J5ID0gZnVsbERh
dGFiYXNlRGlyZWN0b3J5V2l0aFVwZ3JhZGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9TUUxpdGVJREJCYWNraW5nU3RvcmUuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9TUUxpdGVJREJCYWNraW5nU3RvcmUu
aAppbmRleCBjYTZjMzM2YWM2MzAzZTYyZDE3N2JhMzgzYjkwYTc1OWRlMDRjMTU5Li5kYzFmOWMx
ZTkwODkyMTgxNWIwNzk4OTIxYTRlYjQzZTRlZjE5ZmM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQmFja2luZ1N0b3JlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NRTGl0ZUlEQkJhY2tp
bmdTdG9yZS5oCkBAIC01MCw3ICs1MCw3IEBAIGNsYXNzIFNRTGl0ZUlEQkN1cnNvcjsKIGNsYXNz
IFNRTGl0ZUlEQkJhY2tpbmdTdG9yZSA6IHB1YmxpYyBJREJCYWNraW5nU3RvcmUgewogICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIFNRTGl0ZUlEQkJhY2tpbmdTdG9y
ZShQQUw6OlNlc3Npb25JRCwgY29uc3QgSURCRGF0YWJhc2VJZGVudGlmaWVyJiwgY29uc3QgU3Ry
aW5nJiBkYXRhYmFzZVJvb3REaXJlY3RvcnksIElEQkJhY2tpbmdTdG9yZVRlbXBvcmFyeUZpbGVI
YW5kbGVyJik7CisgICAgU1FMaXRlSURCQmFja2luZ1N0b3JlKFBBTDo6U2Vzc2lvbklELCBjb25z
dCBJREJEYXRhYmFzZUlkZW50aWZpZXImLCBjb25zdCBTdHJpbmcmIGRhdGFiYXNlUm9vdERpcmVj
dG9yeSk7CiAgICAgCiAgICAgflNRTGl0ZUlEQkJhY2tpbmdTdG9yZSgpIGZpbmFsOwogCkBAIC04
OCw4ICs4OCw2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgdW5yZWdpc3RlckN1cnNvcihTUUxpdGVJ
REJDdXJzb3ImKTsKIAotICAgIElEQkJhY2tpbmdTdG9yZVRlbXBvcmFyeUZpbGVIYW5kbGVyJiB0
ZW1wb3JhcnlGaWxlSGFuZGxlcigpIGNvbnN0IHsgcmV0dXJuIG1fdGVtcG9yYXJ5RmlsZUhhbmRs
ZXI7IH0KLQogICAgIElEQkVycm9yIGdldEJsb2JSZWNvcmRzRm9yT2JqZWN0U3RvcmVSZWNvcmQo
aW50NjRfdCBvYmplY3RTdG9yZVJlY29yZCwgVmVjdG9yPFN0cmluZz4mIGJsb2JVUkxzLCBWZWN0
b3I8U3RyaW5nPiYgYmxvYkZpbGVQYXRocyk7CiAKICAgICBzdGF0aWMgU3RyaW5nIGRhdGFiYXNl
TmFtZUZyb21FbmNvZGVkRmlsZW5hbWUoY29uc3QgU3RyaW5nJik7CkBAIC0yMTIsOCArMjEwLDYg
QEAgcHJpdmF0ZToKICAgICBTdHJpbmcgbV9kYXRhYmFzZVJvb3REaXJlY3Rvcnk7CiAgICAgU3Ry
aW5nIG1fZGF0YWJhc2VEaXJlY3Rvcnk7CiAKLSAgICBJREJCYWNraW5nU3RvcmVUZW1wb3JhcnlG
aWxlSGFuZGxlciYgbV90ZW1wb3JhcnlGaWxlSGFuZGxlcjsKLQogICAgIFJlZjxJREJTZXJpYWxp
emF0aW9uQ29udGV4dD4gbV9zZXJpYWxpemF0aW9uQ29udGV4dDsKIH07CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9TUUxpdGVJREJUcmFuc2Fj
dGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRl
SURCVHJhbnNhY3Rpb24uY3BwCmluZGV4IGQyMTJkZTJiNmI4OGFmZmUwYTM1YjBmZDBmZDMzZmM4
NjdjZWNiZDEuLjZiODdhYzI5MDM3YjRjOTE4ODU4MmNhNzMxZjY4NjQ4YTYwZTYxNzAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9TUUxpdGVJREJU
cmFuc2FjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2Vy
dmVyL1NRTGl0ZUlEQlRyYW5zYWN0aW9uLmNwcApAQCAtOTIsNyArOTIsNyBAQCB2b2lkIFNRTGl0
ZUlEQlRyYW5zYWN0aW9uOjptb3ZlQmxvYkZpbGVzSWZOZWNlc3NhcnkoKQogICAgICAgICBpZiAo
IUZpbGVTeXN0ZW06OmhhcmRMaW5rT3JDb3B5RmlsZShlbnRyeS5maXJzdCwgRmlsZVN5c3RlbTo6
cGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50KGRhdGFiYXNlRGlyZWN0b3J5LCBlbnRyeS5zZWNvbmQp
KSkKICAgICAgICAgICAgIExPR19FUlJPUigiRmFpbGVkIHRvIGxpbmsvY29weSB0ZW1wb3Jhcnkg
YmxvYiBmaWxlICclcycgdG8gbG9jYXRpb24gJyVzJyIsIGVudHJ5LmZpcnN0LnV0ZjgoKS5kYXRh
KCksIEZpbGVTeXN0ZW06OnBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudChkYXRhYmFzZURpcmVjdG9y
eSwgZW50cnkuc2Vjb25kKS51dGY4KCkuZGF0YSgpKTsKIAotICAgICAgICBtX2JhY2tpbmdTdG9y
ZS50ZW1wb3JhcnlGaWxlSGFuZGxlcigpLmFjY2Vzc1RvVGVtcG9yYXJ5RmlsZUNvbXBsZXRlKGVu
dHJ5LmZpcnN0KTsKKyAgICAgICAgRmlsZVN5c3RlbTo6ZGVsZXRlRmlsZShlbnRyeS5maXJzdCk7
CiAgICAgfQogCiAgICAgbV9ibG9iVGVtcG9yYXJ5QW5kU3RvcmVkRmlsZW5hbWVzLmNsZWFyKCk7
CkBAIC0xMDYsNyArMTA2LDggQEAgdm9pZCBTUUxpdGVJREJUcmFuc2FjdGlvbjo6ZGVsZXRlQmxv
YkZpbGVzSWZOZWNlc3NhcnkoKQogICAgIFN0cmluZyBkYXRhYmFzZURpcmVjdG9yeSA9IG1fYmFj
a2luZ1N0b3JlLmRhdGFiYXNlRGlyZWN0b3J5KCk7CiAgICAgZm9yIChhdXRvJiBlbnRyeSA6IG1f
YmxvYlJlbW92ZWRGaWxlbmFtZXMpIHsKICAgICAgICAgU3RyaW5nIGZ1bGxQYXRoID0gRmlsZVN5
c3RlbTo6cGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50KGRhdGFiYXNlRGlyZWN0b3J5LCBlbnRyeSk7
Ci0gICAgICAgIG1fYmFja2luZ1N0b3JlLnRlbXBvcmFyeUZpbGVIYW5kbGVyKCkuYWNjZXNzVG9U
ZW1wb3JhcnlGaWxlQ29tcGxldGUoZnVsbFBhdGgpOworCisgICAgICAgIEZpbGVTeXN0ZW06OmRl
bGV0ZUZpbGUoZnVsbFBhdGgpOwogICAgIH0KIAogICAgIG1fYmxvYlJlbW92ZWRGaWxlbmFtZXMu
Y2xlYXIoKTsKQEAgLTExNSw3ICsxMTYsNyBAQCB2b2lkIFNRTGl0ZUlEQlRyYW5zYWN0aW9uOjpk
ZWxldGVCbG9iRmlsZXNJZk5lY2Vzc2FyeSgpCiBJREJFcnJvciBTUUxpdGVJREJUcmFuc2FjdGlv
bjo6YWJvcnQoKQogewogICAgIGZvciAoYXV0byYgZW50cnkgOiBtX2Jsb2JUZW1wb3JhcnlBbmRT
dG9yZWRGaWxlbmFtZXMpCi0gICAgICAgIG1fYmFja2luZ1N0b3JlLnRlbXBvcmFyeUZpbGVIYW5k
bGVyKCkuYWNjZXNzVG9UZW1wb3JhcnlGaWxlQ29tcGxldGUoZW50cnkuZmlyc3QpOworICAgICAg
ICBGaWxlU3lzdGVtOjpkZWxldGVGaWxlKGVudHJ5LmZpcnN0KTsKIAogICAgIG1fYmxvYlRlbXBv
cmFyeUFuZFN0b3JlZEZpbGVuYW1lcy5jbGVhcigpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSW5Qcm9jZXNzSURCU2VydmVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JblByb2Nlc3NJREJTZXJ2ZXIu
Y3BwCmluZGV4IDgwN2E0MjMwMzBmZmNmNjhiNzI3YTFkZWUwNjBiNDQwZTg3OTg5ZmQuLmFhNDgy
M2M5MzRmNjEwMTg3ZTdjZjRkODFkNDBlZWYyODI3MTVlMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JblByb2Nlc3NJREJTZXJ2ZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JblByb2Nlc3NJREJT
ZXJ2ZXIuY3BwCkBAIC03OCw3ICs3OCw3IEBAIHN0YXRpYyBpbmxpbmUgSURCU2VydmVyOjpJREJT
ZXJ2ZXI6OlF1b3RhTWFuYWdlckdldHRlciBzdG9yYWdlUXVvdGFNYW5hZ2VyR2V0dGVyCiB9CiAK
IEluUHJvY2Vzc0lEQlNlcnZlcjo6SW5Qcm9jZXNzSURCU2VydmVyKFBBTDo6U2Vzc2lvbklEIHNl
c3Npb25JRCkKLSAgICA6IG1fc2VydmVyKElEQlNlcnZlcjo6SURCU2VydmVyOjpjcmVhdGUoc2Vz
c2lvbklELCAqdGhpcywgc3RvcmFnZVF1b3RhTWFuYWdlckdldHRlcigqdGhpcykpKQorICAgIDog
bV9zZXJ2ZXIoSURCU2VydmVyOjpJREJTZXJ2ZXI6OmNyZWF0ZShzZXNzaW9uSUQsIHN0b3JhZ2VR
dW90YU1hbmFnZXJHZXR0ZXIoKnRoaXMpKSkKIHsKICAgICByZWxheEFkb3B0aW9uUmVxdWlyZW1l
bnQoKTsKICAgICBtX2Nvbm5lY3Rpb25Ub1NlcnZlciA9IElEQkNsaWVudDo6SURCQ29ubmVjdGlv
blRvU2VydmVyOjpjcmVhdGUoKnRoaXMpOwpAQCAtODYsNyArODYsNyBAQCBJblByb2Nlc3NJREJT
ZXJ2ZXI6OkluUHJvY2Vzc0lEQlNlcnZlcihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCiB9CiAK
IEluUHJvY2Vzc0lEQlNlcnZlcjo6SW5Qcm9jZXNzSURCU2VydmVyKFBBTDo6U2Vzc2lvbklEIHNl
c3Npb25JRCwgY29uc3QgU3RyaW5nJiBkYXRhYmFzZURpcmVjdG9yeVBhdGgpCi0gICAgOiBtX3Nl
cnZlcihJREJTZXJ2ZXI6OklEQlNlcnZlcjo6Y3JlYXRlKHNlc3Npb25JRCwgZGF0YWJhc2VEaXJl
Y3RvcnlQYXRoLCAqdGhpcywgc3RvcmFnZVF1b3RhTWFuYWdlckdldHRlcigqdGhpcykpKQorICAg
IDogbV9zZXJ2ZXIoSURCU2VydmVyOjpJREJTZXJ2ZXI6OmNyZWF0ZShzZXNzaW9uSUQsIGRhdGFi
YXNlRGlyZWN0b3J5UGF0aCwgc3RvcmFnZVF1b3RhTWFuYWdlckdldHRlcigqdGhpcykpKQogewog
ICAgIHJlbGF4QWRvcHRpb25SZXF1aXJlbWVudCgpOwogICAgIG1fY29ubmVjdGlvblRvU2VydmVy
ID0gSURCQ2xpZW50OjpJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmNyZWF0ZSgqdGhpcyk7CkBAIC00
NjAsMTEgKzQ2MCw2IEBAIHZvaWQgSW5Qcm9jZXNzSURCU2VydmVyOjpkaWRHZXRBbGxEYXRhYmFz
ZU5hbWVzKHVpbnQ2NF90IGNhbGxiYWNrSUQsIGNvbnN0IFZlY3RvCiAgICAgfSk7CiB9CiAKLXZv
aWQgSW5Qcm9jZXNzSURCU2VydmVyOjphY2Nlc3NUb1RlbXBvcmFyeUZpbGVDb21wbGV0ZShjb25z
dCBTdHJpbmcmIHBhdGgpCi17Ci0gICAgRmlsZVN5c3RlbTo6ZGVsZXRlRmlsZShwYXRoKTsKLX0K
LQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFU
QUJBU0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFy
ZWQvSW5Qcm9jZXNzSURCU2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9zaGFyZWQvSW5Qcm9jZXNzSURCU2VydmVyLmgKaW5kZXggZGJmZWFjOWQ1NWVmMDhjMjBlMTM1
NDBhNzgwZmYxNzJiYTk0OTk2ZC4uY2FkYzgxMmEzOTljNjk4ZjkzN2U1Yzk1YzA3N2ZjMGExYzE3
YjZmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVk
L0luUHJvY2Vzc0lEQlNlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL3NoYXJlZC9JblByb2Nlc3NJREJTZXJ2ZXIuaApAQCAtNTEsNyArNTEsNyBAQCBuYW1lc3Bh
Y2UgSURCU2VydmVyIHsKIGNsYXNzIElEQlNlcnZlcjsKIH0KIAotY2xhc3MgSW5Qcm9jZXNzSURC
U2VydmVyIGZpbmFsIDogcHVibGljIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblRvU2VydmVyRGVs
ZWdhdGUsIHB1YmxpYyBJREJTZXJ2ZXI6OklEQkNvbm5lY3Rpb25Ub0NsaWVudERlbGVnYXRlLCBw
dWJsaWMgUmVmQ291bnRlZDxJblByb2Nlc3NJREJTZXJ2ZXI+LCBwdWJsaWMgSURCU2VydmVyOjpJ
REJCYWNraW5nU3RvcmVUZW1wb3JhcnlGaWxlSGFuZGxlciB7CitjbGFzcyBJblByb2Nlc3NJREJT
ZXJ2ZXIgZmluYWwgOiBwdWJsaWMgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uVG9TZXJ2ZXJEZWxl
Z2F0ZSwgcHVibGljIElEQlNlcnZlcjo6SURCQ29ubmVjdGlvblRvQ2xpZW50RGVsZWdhdGUsIHB1
YmxpYyBSZWZDb3VudGVkPEluUHJvY2Vzc0lEQlNlcnZlcj4gewogcHVibGljOgogICAgIHVzaW5n
IElEQkNsaWVudDo6SURCQ29ubmVjdGlvblRvU2VydmVyRGVsZWdhdGU6OndlYWtQdHJGYWN0b3J5
OwogICAgIHVzaW5nIFdlYWtWYWx1ZVR5cGUgPSBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1Nl
cnZlckRlbGVnYXRlOjpXZWFrVmFsdWVUeXBlOwpAQCAtMTI1LDggKzEyNSw2IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHJlZigpIG92ZXJyaWRlIHsgUmVmQ291bnRlZDxJblByb2Nlc3NJREJTZXJ2ZXI+
OjpyZWYoKTsgfQogICAgIHZvaWQgZGVyZWYoKSBvdmVycmlkZSB7IFJlZkNvdW50ZWQ8SW5Qcm9j
ZXNzSURCU2VydmVyPjo6ZGVyZWYoKTsgfQogCi0gICAgdm9pZCBhY2Nlc3NUb1RlbXBvcmFyeUZp
bGVDb21wbGV0ZShjb25zdCBTdHJpbmcmIHBhdGgpIG92ZXJyaWRlOwotCiAgICAgU3RvcmFnZVF1
b3RhTWFuYWdlciogcXVvdGFNYW5hZ2VyKGNvbnN0IENsaWVudE9yaWdpbiYpOwogCiBwcml2YXRl
OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcApp
bmRleCBmMWNiNWQzY2FjMzE4NjUxNWU5OWU0YmY4NTdlYzgyYTc5MDI4ZWJhLi4wMDA5NzdkYmVi
ZDNhNjM4ZWE5YjgxYTg1ZDJkMmNlMDNkYmVhYTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcApAQCAtMjI1Nyw3ICsyMjU3LDcgQEAgUmVm
PElEQlNlcnZlcjo6SURCU2VydmVyPiBOZXR3b3JrUHJvY2Vzczo6Y3JlYXRlSURCU2VydmVyKFBB
TDo6U2Vzc2lvbklEIHNlc3Npb24KICAgICAgICAgcGF0aCA9IG1faWRiRGF0YWJhc2VQYXRocy5n
ZXQoc2Vzc2lvbklEKTsKICAgICB9CiAKLSAgICByZXR1cm4gSURCU2VydmVyOjpJREJTZXJ2ZXI6
OmNyZWF0ZShzZXNzaW9uSUQsIHBhdGgsICp0aGlzLCBbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vh
a1B0cih0aGlzKV0oUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBjb25zdCBhdXRvJiBvcmlnaW4p
IC0+IFN0b3JhZ2VRdW90YU1hbmFnZXIqIHsKKyAgICByZXR1cm4gSURCU2VydmVyOjpJREJTZXJ2
ZXI6OmNyZWF0ZShzZXNzaW9uSUQsIHBhdGgsIFt0aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFrUHRy
KHRoaXMpXShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIGNvbnN0IGF1dG8mIG9yaWdpbikgLT4g
U3RvcmFnZVF1b3RhTWFuYWdlciogewogICAgICAgICBpZiAoIXdlYWtUaGlzKQogICAgICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAgICAgICAgIHJldHVybiAmdGhpcy0+c3RvcmFnZVF1b3RhTWFu
YWdlcihzZXNzaW9uSUQsIG9yaWdpbik7CkBAIC0yMzA2LDE0ICsyMzA2LDYgQEAgdm9pZCBOZXR3
b3JrUHJvY2Vzczo6cGVyZm9ybU5leHRTdG9yYWdlVGFzaygpCiAgICAgdGFzay5wZXJmb3JtVGFz
aygpOwogfQogCi12b2lkIE5ldHdvcmtQcm9jZXNzOjphY2Nlc3NUb1RlbXBvcmFyeUZpbGVDb21w
bGV0ZShjb25zdCBTdHJpbmcmIHBhdGgpCi17Ci0gICAgLy8gV2UndmUgZWl0aGVyIGhhcmQgbGlu
a2VkIHRoZSB0ZW1wb3JhcnkgYmxvYiBmaWxlIHRvIHRoZSBkYXRhYmFzZSBkaXJlY3RvcnksIGNv
cGllZCBpdCB0aGVyZSwKLSAgICAvLyBvciB0aGUgdHJhbnNhY3Rpb24gaXMgYmVpbmcgYWJvcnRl
ZC4KLSAgICAvLyBJbiBhbnkgb2YgdGhvc2UgY2FzZXMsIHdlIGNhbiBkZWxldGUgdGhlIHRlbXBv
cmFyeSBibG9iIGZpbGUgbm93LgotICAgIEZpbGVTeXN0ZW06OmRlbGV0ZUZpbGUocGF0aCk7Ci19
Ci0KIHZvaWQgTmV0d29ya1Byb2Nlc3M6OmNvbGxlY3RJbmRleGVkRGF0YWJhc2VPcmlnaW5zRm9y
VmVyc2lvbihjb25zdCBTdHJpbmcmIHBhdGgsIEhhc2hTZXQ8V2ViQ29yZTo6U2VjdXJpdHlPcmln
aW5EYXRhPiYgc2VjdXJpdHlPcmlnaW5zKQogewogICAgIGlmIChwYXRoLmlzRW1wdHkoKSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAppbmRleCAyZmFm
OGM0NmQ5OGQ4ZWZkNTQzNjQxY2E4MDE3Y2E3NmYzMzA4MmIwLi4zODdlZWUyNDIwZWQ1OTQyYjJh
ZDI3ZTg4MzMzNTlhMGNhNmExZGVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUHJvY2Vzcy5oCkBAIC0xMjEsMTEgKzEyMSw3IEBAIG5hbWVzcGFjZSBDYWNoZVN0
b3JhZ2UgewogY2xhc3MgRW5naW5lOwogfQogCi1jbGFzcyBOZXR3b3JrUHJvY2VzcyA6IHB1Ymxp
YyBBdXhpbGlhcnlQcm9jZXNzLCBwcml2YXRlIERvd25sb2FkTWFuYWdlcjo6Q2xpZW50LCBwdWJs
aWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8TmV0d29ya1Byb2Nlc3M+Ci0jaWYgRU5BQkxFKElOREVY
RURfREFUQUJBU0UpCi0gICAgLCBwdWJsaWMgV2ViQ29yZTo6SURCU2VydmVyOjpJREJCYWNraW5n
U3RvcmVUZW1wb3JhcnlGaWxlSGFuZGxlcgotI2VuZGlmCi0gICAgLCBwdWJsaWMgQ2FuTWFrZVdl
YWtQdHI8TmV0d29ya1Byb2Nlc3M+CitjbGFzcyBOZXR3b3JrUHJvY2VzcyA6IHB1YmxpYyBBdXhp
bGlhcnlQcm9jZXNzLCBwcml2YXRlIERvd25sb2FkTWFuYWdlcjo6Q2xpZW50LCBwdWJsaWMgVGhy
ZWFkU2FmZVJlZkNvdW50ZWQ8TmV0d29ya1Byb2Nlc3M+LCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8
TmV0d29ya1Byb2Nlc3M+CiB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTmV0d29ya1Byb2Nl
c3MpOwogcHVibGljOgpAQCAtMjg0LDggKzI4MCw2IEBAIHB1YmxpYzoKIAogI2lmIEVOQUJMRShJ
TkRFWEVEX0RBVEFCQVNFKQogICAgIFdlYkNvcmU6OklEQlNlcnZlcjo6SURCU2VydmVyJiBpZGJT
ZXJ2ZXIoUEFMOjpTZXNzaW9uSUQpOwotICAgIC8vIFdlYkNvcmU6OklEQlNlcnZlcjo6SURCQmFj
a2luZ1N0b3JlRmlsZUhhbmRsZXIuCi0gICAgdm9pZCBhY2Nlc3NUb1RlbXBvcmFyeUZpbGVDb21w
bGV0ZShjb25zdCBTdHJpbmcmIHBhdGgpIGZpbmFsOwogI2VuZGlmCiAKICAgICB2b2lkIHN5bmNM
b2NhbFN0b3JhZ2UoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>